Hi, We need to come up with, how do we going to patch/upgrade cartridges. Here what I got in my mind.
- first devOps should update puppet manifest of the relevant cartridge that need to patch or upgrade that need to be applied. - Then from the devOps interface (both in CLI and UI) we should provide interface to set relevant service cluster (basically a cartridge) to patching mode. - When it set, SM should get all member information from the topology and start setting up existing cartridge instances to patching mode. It will get all current members into a queue and set one instance into patching mode. SM can call CC to set relevant instance topology to patching mode. - Then auto scaler will get this information via topology and create an extra new instance from that cartridge, which will come with all patch/upgrade from the puppet. - After this extra instance come active, AS will gracefully shutdown patching mode instance. - SM will continue this until all old instance gracefully shutdown. With this, we can guarantee no downtimes for services that undergoing with patching state. Please share your thoughts? PS: Please note that this is not the artifact update. Artifact updates are real time and there is no downtime at all. This is only applied patches, security updates ..etc which required restart services/instances. thanks -- Lakmal Warusawithana Software Architect; WSO2 Inc. Mobile : +94714289692 Blog : http://lakmalsview.blogspot.com/
