Join GitHub today
GitHub is home to over 20 million developers working together to host and review code, manage projects, and build software together.
Feature Request: Rolling Upgrades #5766
Comments
petevg
commented
Jul 5, 2016
|
The coordinator layer should be able to handle this (I believe that is uses the leadership stuff as a key/value store): https://launchpad.net/layer-coordinator. It was written to handle rolling restarts, but I believe that it will handle upgrade actions as well. I don't know whether there are plans to move leadership and related things into core ... |
|
Thank you for suggestion. |
anastasiamac
closed this
Aug 19, 2016
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
cholcombe973 commentedJul 5, 2016
In my ceph charms and now also in the node charm there's a feature needed where a cluster of charms needs to be upgraded one by one until everyone is on the same version. I hacked together a version of this for ceph here: https://github.com/openstack/charm-ceph-mon/blob/master/hooks/ceph_hooks.py#L135.
What that code does is use the ceph monitor cluster as a distributed consistent key/value store and sets a key/value to say "i'm upgrading at timestamp: x". It also orders the cluster of charms into a known ordering. If you are the first charm in the sorted ordering you start your upgrade. All the other charms in the cluster poll the ceph monitor cluster asking for updates. After a timeout of several minutes the next charm in the line will start its upgrade process.
What I'd love to see is juju core supporting the ability to rolling upgrade a service cluster. Once core has that support it would relieve the charmers from all having to reinvent the wheel. Not all charmers have access to a distributed key/value store like I did so many of them are stuck trying to create hacky workarounds.