Skip to content

Deploy Azure IoT edge module using yaml deletes existing other modules #15

@kapoorh

Description

@kapoorh

Hi,

We have configured multiple modules on Azure IoT Edge. We have created one yaml pipeline in Azure DevOps to build and push module into Azure Container registry with the latest version and its working fine.
In the yaml pipeline we are using following steps:

Build module images
Push module images
The above 2 steps build and push the images into ACR, and manually we update the new image on the IoT edge device.
Now as we are extending the pipeline functionality to update the latest image from ACR to IoT edge device but the behavior of this is not as expected. We have added the below steps in the yaml file:
3. Generate deployment manifest
steps:

task: AzureIoTEdge@2
displayName: AzureIoTEdge - Generate deployment manifest
inputs:
action: Generate deployment manifest
templateFilePath: deployment.template.json
defaultPlatform: amd64
deploymentManifestOutputPath: $(System.DefaultWorkingDirectory)/config/deployment.json
validateGeneratedDeploymentManifest: false
Deploy to IoT edge devices
steps:
task: AzureIoTEdge@2
displayName: 'Azure IoT Edge - Deploy to IoT Edge devices'
inputs:
action: 'Deploy to IoT Edge devices'
deploymentFilePath: $(System.DefaultWorkingDirectory)/config/deployment.json
azureSubscription: $(azureSubscriptionEndpoint)
iothubname: iothubname
deploymentid: '$(System.TeamProject)-devops-deployment'
priority: '0'
deviceOption: 'Single Device'
deviceId: deviceId
The above steps deletes all the existing 10 deployed modules on IoT edge device and add the single module for which we ran the pipeline and also removes the module twin settings as well.

Expected behaviour:
All the existing 10 modules must be there. It should only update the module for which we are running the pipeline and maintained the module twin settings as well.

Kind regards,
Harsh

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions