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:
And when re-applying the layer after having changed the deployment, everything works as it should.
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.
The documentation I linked clearly states:
So now the automatic deployment has priority 0 and the layers have priority 1 and it all works.