stratos-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Isuru Haththotuwa <isu...@apache.org>
Subject Re: [Discuss] Executing rolling update on a service cluster
Date Tue, 15 Dec 2015 16:44:07 GMT
Hi Sajith,

On Tue, Dec 15, 2015 at 5:41 PM, Sajith Kariyawasam <sajith@wso2.com> wrote:

> Hi Devs,
>
> At the moment in a Stratos deployment there is no easy way to do a rolling
> update on a service cluster. One has to manually terminate all the running
> instances of the cluster, after updating images / puppet master with
> relevant fixes, and then autoscaler will spawn new instances with the
> latest image. But if the cluster consists of a very large number of
> instances, manual process would be a tedious task, hence we had some
> discussions on automating this. I and Isuru had a discussion on this and
> came up with an initial design. Please find the details below.
>
> Rolling update feature will be available through CLI,
>       for eg: *update-cluster <application_id> <cluster_id> [<image_id>]*
>
> On update-cluster CLI command, following things would happen internally.
>  - Disable autoscaling
>  - Update cartridge definition if necessary (applies only for Kubernetes)
>
AFAIU, this is applicable for VMs as well; say when we need to patch the
OS, etc.

>  - Terminate one member of the cluster
>  - Wait for new member's member activated
>  - Continue terminating all the members
>  - After successful update, re-enable autoscaling
>
> CLI operation invokes a new API, which will be added to the
> "StratosApiV41" (@PUT /cluster/{clusterId}), and that Invokes a new service
> operation added to AutoscalerServiceImpl,
> which contains the logic (moving active members to termination pending
> list)
>
As the update is done upon a cluster in a particular application, AFAIU
this API should take the application id as a path parameter (or any other
suitable way) as well. WDYT?

>
> Having a new API instead of writing the logic in a client tool will make
> things much cleaner and consistent and also we can easily use that API to
> provide rolling update feature via Stratos UI in future.
>
+1

>
> Appreciate your thoughts on this.
>
> Thanks,
> Sajith
>
>
> --
> Sajith Kariyawasam
> *Committer and PMC member, Apache Stratos, *
> *WSO2 Inc.; http://wso2.com <http://wso2.com>*
>
>
>
>
>
>
>
>
>
>
>
>
> *Mobile: 0772269575-- <0772269575> <0772269575>Thanks and Regards,Isuru H.
> <0772269575> +94 716 358 048 <0772269575> <http://wso2.com/>
> <http://wso2.com/>*
>

Mime
View raw message