Hi Dinesh,

This is what I have understood, please correct me if I am wrong.

A new API is provided where we can specify a particular cluster need to be
patched. So the process would be like below?

 Update the puppet master with relevant changes.
 Call the API to patch a cluster x
  AS will select a non patched member per a time from the cluster x
  Terminate the instance
  Spawn another instance for replacement

If there are large number of instances say 100, then it will take long time
to patch the whole cluster. WDYT letting the devop specify the the number
of instances that is patched for a time? So if there are large number of
instances, he can say like patch 5 members per time?



On Thu, Jul 24, 2014 at 11:03 AM, Dinesh Bandara <dine...@wso2.com> wrote:

>
>
>
> On Thu, Jul 24, 2014 at 10:47 AM, Nirmal Fernando <nirmal070...@gmail.com>
> wrote:
>
>>
>>
>>
>> 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.
>>
> Yes, the above solution need to implement through Startos. sorry I have
> missed that line in the first mail
>
>>
>>>
>>> *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.
>>
>
> Assume we have 100 members in the cluster, if so user has to do it for 100
> times
>
>
>>
>>> 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/
>>
>
>
>
> --
> *Dinesh Bandara*
> Software Engineer
> WSO2 Inc.; http://wso2.com
> lean.enterprise.middleware
>
>


-- 

Udara Liyanage
Software Engineer
WSO2, Inc.: http://wso2.com
lean. enterprise. middleware

web: http://udaraliyanage.wordpress.com
phone: +94 71 443 6897

Reply via email to