Azure edge layered deployment not reapplied when base deployment modified

492 views Asked by At

We are using deployments for our IoT devices and managing these using deployment templates. I am in the process of migrating our deployments to a layered approach, where we use a base deployment with all required containers and then apply a layer that is dependent on the type of product.

I have noticed that a layer does not get re-applied when changing the base deployment. Notice the bad crop, but it says 3 devices are targeted but it does not get applied to them after having updated the base deployment: enter image description here

And when re-applying the layer after having changed the deployment, everything works as it should. enter image description here

Just because I change my base deployment, I don't want to drop the containers defined in the layer.

The documentation on layered deployments says nothing about this, and I can reproduce this consistently.

What is the intended behavior? Doesn't this break the purpose of layered deployments?

I have also noticed that our stack becomes extremely slow when using layered deployments. Rolling back to a "monolithic" deployment template for each product and everything is snappy again. We are using routes in the edgeHub, and some of these routes point to a container that is deployed as a layer. Don't know if that is an issue, but it is still very slow even after this container has been deployed. The system works, but with extreme delays.

1

There are 1 answers

2
jokarl On BEST ANSWER

The documentation I linked clearly states:

Any layered deployments targeting a device must have a higher priority than the automatic deployment for that device.

So now the automatic deployment has priority 0 and the layers have priority 1 and it all works.