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.

preguntada hace 2 años525 visualizaciones
1 Respuesta
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
EXPERTO
respondido hace 2 años
profile pictureAWS
EXPERTO
Greg_B
revisado hace 6 meses

No has iniciado sesión. Iniciar sesión para publicar una respuesta.

Una buena respuesta responde claramente a la pregunta, proporciona comentarios constructivos y fomenta el crecimiento profesional en la persona que hace la pregunta.

Pautas para responder preguntas