[ https://issues.apache.org/jira/browse/STRATOS-1234?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14352142#comment-14352142 ]
Sandaruwan Nanayakkara commented on STRATOS-1234: ------------------------------------------------- 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) <j...@apache.org> > 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)