On Mon, Jun 30, 2014 at 5:11 PM, Dinesh Bandara <dine...@wso2.com> wrote:
> Hi all, > > I have faced in to a situation that need to update existing cartridge > instances without interrupt the process. AFAIU there are two types of > updates that need to be applied. > > 1. OS level/ Security updates > 2. Application level updates (Load balancer, PHP, MySQL) > > > *Patching OS level/ Security updates* > > Since this is a mandatory update we have to shutdown the server and then > need to restart it after successfully update the patch. But this will > interrupt the whole process. > Cartridge agent related updates can be consider as OS level update. > I don't think we need to. IMO Cartridge agent related updates can be applied using the same process of marking the state of the member to maintenance mode (before agent restarts). > *Solution* > > - Spawn a new instance and apply the updates. > - Terminate exiting instance > - Repeat the above steps until spawn new instances on behalf of > existing instances > > We can't spawn new instances manually. We should let stratos do that. To do an OS level update etc. we should terminate the instance from the IaaS level and let Stratos spin a replacement instance (with the new updates). Preferably, we need a Stratos API to automate the manual process involved here. > > > *Patching Application level updates* > > Status of the cartridge instance set into 'Maintenance' mode, apply > updates and then set again as an 'Active' instance > > *Expose to user* > > Introduce new rest endpoint via SM which will provide the access to patch > selected cluster. > Selected member of a cluster rather. > > As the first step I would like to start with the "patching OS level > updates". > > Highly appreciate your thoughts on this. > > Thanks, > -- > *Dinesh Bandara* > Software Engineer > WSO2 Inc.; http://wso2.com > lean.enterprise.middleware > > -- Best Regards, Nirmal Nirmal Fernando. PPMC Member & Committer of Apache Stratos, Senior Software Engineer, WSO2 Inc. Blog: http://nirmalfdo.blogspot.com/