Hi Imesh,

Thanks for all the details and it was really helpful :) I think I started
from a good place and I'm configuring
the Puppet Master to implement the first step. I will inform you about the
progress.

Regards
Sandaruwan


On Sun, Mar 8, 2015 at 12:00 PM, Imesh Gunaratne (JIRA) <[email protected]>
wrote:

>
>      [
> https://issues.apache.org/jira/browse/STRATOS-1234?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
> ]
>
> Imesh Gunaratne updated STRATOS-1234:
> -------------------------------------
>     Comment: was deleted
>
> (was: Hi Imesh,
>
> I would like to work on developing this solution to Stratos and already
> started
> digging some details. Can you give some ideas on approaches you have on
> this solution?
>
> Thank You
> Sandaruwan Nanayakkara
> )
>
> >  Software Update Management Solution for Stratos
> > ------------------------------------------------
> >
> >                 Key: STRATOS-1234
> >                 URL: https://issues.apache.org/jira/browse/STRATOS-1234
> >             Project: Stratos
> >          Issue Type: New Feature
> >            Reporter: Imesh Gunaratne
> >              Labels: gsoc2015, mentor
> >
> > Stratos uses Virtual Machines and Containers for hosting platform
> services on different Infrastructure as a Service (IaaS) solutions. At
> present Puppet is used for orchestration management on Virtual Machine
> based systems and manages all required software in Puppet Master. Container
> based systems creates Docker images for each platform service by including
> required software in the Docker image itself.
> > In Virtual Machine use-case VM instances will communicate with Puppet
> master and execute the software installation. The same approach can be used
> for applying software updates.
> > In Docker use-case we do not use Puppet because a new container with
> required software can be started in few seconds. This is very efficient
> compared to using Puppet and installing software on demand.
> > The requirement of this project is to implement a core Stratos feature
> to propagate software updates in a live PaaS environment.
> > 1. Puppet based solution:
> > - Push software updates of a cartridge to Puppet Master (might not need
> to automate).
> > - Invoke the software update process via the Stratos API for a given
> application.
> > - Stratos Manager could send a new event to trigger puppet agent in each
> instance to apply the updates.
> > 2. Docker based solution
> > - Create a new docker image (with a new image id) for the cartridge with
> software updates (might not need to automate).
> > - Invoke the software update process via the Stratos API for a given
> application.
> > - Autoscaler can implement a new feature to bring down existing
> instances and create new instances with the new docker image id.
> > Important!
> > - In each scenario if updates are backward compatible, software update
> process should execute in phases, it should not bring down the entire
> cluster to apply the updates. If so the service will be unavailable for a
> certain time period. The idea is to apply the updates to set of members at
> a time.
> > - If the updates are not backward compatible, we could make the entire
> cluster unavailable at once and apply the updates.
> > - Member's state needs to be changed to a new state called "Updating"
> when applying the updates.
> > If there is an interest on doing this project please send a mail to
> imesh at apache dot org by copying Apache Dev mailing list [1]. Please
> refer Stratos Wiki [2] for more information on Stratos architecture and how
> it works.
> > [1] http://stratos.apache.org/community/mailing-lists.html
> > [2] https://cwiki.apache.org/confluence/display/STRATOS
>
>
>
> --
> This message was sent by Atlassian JIRA
> (v6.3.4#6332)
>

Reply via email to