Hi Sandaruwan, I'm glad to see your interest on this project!
I think it would be better if you could prepare a Google document with a rough project plan. This will be needed for us to get an idea of the project scope and move forward. Thanks On Sun, Mar 8, 2015 at 10:35 PM, Sandaruwan Nanayakkara < sandaru...@gmail.com> wrote: > 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> > 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) >> > > -- Imesh Gunaratne Technical Lead, WSO2 Committer & PMC Member, Apache Stratos