Hi all,
I am currently trialing Hosted Mender as a release deployment platform for our project and had a question regarding the availability of a sync mechanism for devices whose updates are tightly coupled/need to happen in a particular order.
Our platform has two separate Linux devices onboard and our ideal OS update process looks like this:
- Device A is updated (Download and Install stages)
- Device B is updated (Download and Install stages)
- Device A is rebooted (only after B is finished)
- Device B is rebooted
- Pre-commit scripts perform the necessary update checks on both devices
- Update is either committed on both (order is not so important here) or, if any of the two updates fails,
- Both A and B updates are rolled back
The reason for the reboot ordering constraint is mainly because device B is connected to the Internet (and thus Hosted Mender) through device A.
I created a deployment group for my two test devices and observed that if I currently try to deploy an update to this group, A will often finish first and trigger a reboot, which then leaves B hanging in the “Installing…” stage.
As we’re using mender 4.0.6 (from the Yocto scarthgap branch), I believe the Synchronized Updates feature has already been deprecated/removed. If I try to add a pause before reboot from the Hosted Mender UI, I get the “Device does not support update control map” error upon deployment.
So from here my questions would be:
- Is there still a way to use synchronized updates in a higher/paid Mender plan, such that I can still have devices pause before reboot?
- Or is there an easier way to achieve the described flow through other mechanisms? Maybe a way to explicitly tell Hosted Mender: A needs to be updated before B?
- Alternatively, even if A reboots first, should the update not just continue on B upon connection resumption? I get the feeling I’m missing some config somewhere and that’s why I get the hanging behaviour upon “Installing…”
- Are atomic i.e. “all or nothing” updates supported for deployment groups? Or would we have to script it ourselves?
Thank you for your time and I look forward to your advice.
Best,
Andreea