Environment variable definitions no longer survive fleet moves?


Hi folks, for the last months, we’ve been using environment variables to pass certificates and unique IDs to our devices, most of which are running 2.3.0. Our workflow is to bring the device online into a staging fleet, set the environment variables and confirm connectivity, and then move it a production fleet after its baked for awhile. We will frequently move devices from fleet to fleet to make selective deployments, etc.

As of the multi-container update, which is looking to have great potential - our management workflow has sort of fallen over into the ditch, and our fleets are, at the moment “paralyzed”. That’s because every time we move a device, it loses its environment variables and becomes unable to connect to the IoT broker. Worse, some of these environment variables are set during manufacture to indicate the device configuration, which is lost when the device moves.

Weirder still, sometimes even defining the variables in the new fleet does not seem to “take”, and although the variables are listed on the service variables page, the code on the device keeps insisting they are empty.

I’m hoping I’m doing something wrong; is this the intended new behavior of environment variables? I guess I would hope that variables defined for “main” would move to the new “main” if one existed in the destination fleet…



Hi @bbargen, thanks for the report. I have reproduced this issue and we will be working on a fix asap. Sorry for any inconvenience this has caused.


Thanks for the quick action @shaunmulligan, and if anyone has a workaround or a “really you should be doing that this way” suggestion in the mean time, it would be welcome :slight_smile: Cheers.