IoT core greengrass fleet provision device side effectiveConfig.yaml does not have updated thingName

1

Trying to use provision by claim and provisioning hook to admit the device. The provisioning hook output will return a formatted thingName rather than the name passed into the provisioning hook,

const requestedThingName = input.parameters.ThingName;

....

const output = {
    allowProvisioning: True,
    parameterOverrides: {
        ThingName: newThingName,
    },

this works, but on the device side, after iot mqtt session successfully established, in /greengrass/v2/config/effectiveConfig.yaml, the file looks like this:

system:

certificateFilePath: ""

privateKeyPath: ""

rootCaPath: ""

rootpath: "/greengrass/v2"

thingName: ""

services:

aws.greengrass.FleetProvisioningByClaim:

configuration:

I would expect, updated thingName is there under thingName key.

I can only see the newThingName in config.tlog: {"TS":1649181903995,"TP":["setenv","AWS_IOT_THING_NAME"],"W":"changed","V":"newThingName"}

I think effectiveConfig.yaml should be updated.

posta 2 anni fa535 visualizzazioni
1 Risposta
1

Hello,

The effective config file is only written on Greengrass startup and shutdown. If you were to shutdown Greengrass you should then see the most recent values of the configuration reflected in the effective config file. The effective config file is only ever written, it is not used by Greengrass for any purposes. If you want to see the true state of things, the config.tlog file is always the source of truth.

AWS
ESPERTO
con risposta 2 anni fa
profile pictureAWS
ESPERTO
Greg_B
verificato 6 mesi fa

Accesso non effettuato. Accedi per postare una risposta.

Una buona risposta soddisfa chiaramente la domanda, fornisce un feedback costruttivo e incoraggia la crescita professionale del richiedente.

Linee guida per rispondere alle domande