Hi,

I think we have to think about how we are going to push Puppet changes
to existing cartridge instances. Currently, cartridge instances will
disable the Puppet agent after init.sh is executed [1]. This prevent
any further Puppet configurations from being applied.

We will need to introduce a new instance notifier event to signal the
cartridge agent to enable Puppet agent and get the latest
configuration from Puppet master.


[1] 
https://github.com/apache/stratos/blob/master/tools/puppet3-agent/init.sh#L136

On Thu, Jul 24, 2014 at 11:12 AM, Udara Liyanage <ud...@wso2.com> wrote:
> 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.
>>>>
>>>> OS level/ Security updates
>>>> 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



-- 
Akila Ravihansa Perera
Software Engineer
WSO2 Inc.
http://wso2.com

Phone: +94 77 64 154 38
Blog: http://ravihansa3000.blogspot.com

Reply via email to