Azure / iot-hub-device-update

Device Update for IoT Hub agent
MIT License
53 stars 41 forks source link

Device Update not applying due to lower case conversion of compat property #553

Closed devika-vinay closed 1 year ago

devika-vinay commented 1 year ago

I have a VM in which I have installed the deviceupdate-agent package. I have also uploaded importmanifest and apt-manifest files to a storage container. This storage container is linked to a device update instance which is in turn linked to the same iothub that the VM is provisioned in.

The du-config.json file on the VM as well as the importmanifest file both have the same compat properties, following which the device is tagged to a group.

However, on clicking deploy in the group, the update goes into "Active" state but the device count, failure count or success count do not change. The update never gets applied on the VM. -->

Expected Behavior: Ideally, if the compat properties are matching, including case, the update should start on the VM which can be confirmed by the success count and by checking the version of the updated package on the VM.

Current Behavior: The update is not applying on the VM as the model compat property is automatically changing to lower case in target device information.

du-config.json file

image

IoTHubDeviceUpdate Module Identity - reported properties

image

Update information present in importmanifest file

image

Target device properties auto converting model into lower case

image

Deployment stuck in "Active" state

image

Device Information: Host OS: Ubuntu20.04.6 Architecture: amd64 DU Agent Version: 1.0.2

eshashah-msft commented 1 year ago

@devika-vinay: Investigating this for bug/issue on service side.

eshashah-msft commented 1 year ago

Hi @devika-vinay, for du-config.json, the compat property values such as "Ubuntu 20.04" in the above example, must be in lower case for correct targeting with device class. We have a work to remove case sensitivity in our backlog. I have also made a change in the documentation to call out this requirement. Can you please let me know if you were able to successfully able to deploy an update (prior to the 2.2.0 update above) with to the same device with the above du-config.json?

devika-vinay commented 1 year ago

Hi Esha,

Thanks for the update. To answer your question, yes I had been testing everyday for more than a month with the above properties and recorded a video as well, in one instance. This inconsistency only came to my attention 4-5 days ago.

Regards, Devika Vinayarajan.

On Thu, 12 Oct 2023, 22:18 Esha Shah, @.***> wrote:

Hi @devika-vinay https://github.com/devika-vinay, for du-config.json, the compat property values such as "Ubuntu 20.04" in the above example, must be in lower case for correct targeting with device class. We have a work to remove case sensitivity in our backlog. I have also made a change in the documentation https://learn.microsoft.com/en-us/azure/iot-hub-device-update/device-update-configuration-file#list-of-fields to call out this requirement. Can you please let me know if you were able to successfully able to deploy an update (prior to the 2.2 update above) with to the same device with the above du-config.json?

— Reply to this email directly, view it on GitHub https://github.com/Azure/iot-hub-device-update/issues/553#issuecomment-1759989636, or unsubscribe https://github.com/notifications/unsubscribe-auth/AMBI5JP7WKH3HET2G2YCJHDX7ANM7ANCNFSM6AAAAAA5Z2JNIQ . You are receiving this because you were mentioned.Message ID: @.***>

eshashah-msft commented 1 year ago

@devika-vinay: For the import manifest, was the mixed casing use there as well? Or was only lower case was used there?

devika-vinay commented 1 year ago

No, there was no mixed casing used in the import manifest, as seen in the 3rd screenshot provided above.

eshashah-msft commented 1 year ago

But it does have a mix of lower case and upper case from the above image? image

Also, were you able to get around the issue by moving the du-config and import manifest compat property values to lower case?

Also, was there was only one device in this group at all points, or if some device was removed or changed?

eshashah-msft commented 1 year ago

Closing this as we have not been able to repro the issue. But consistently using the lower case for specifying the compat properties will ensure correct targeting of the updates.