[
https://issues.apache.org/jira/browse/STRATOS-1234?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14379497#comment-14379497
]
Sandaruwan Nanayakkara commented on STRATOS-1234:
-------------------------------------------------
Hi all,
I have updated the Google doc with updating scenarios and please share your
ideas by commenting and will be pretty much appreciated.
https://docs.google.com/document/d/1Ep2EwLubQnAv0bQGXE2ynwIDrRFCtMnCZ1E52KtzUH4/edit?usp=sharing
After days I finally deployed almost all of the Stratos samples with kubernates
and openstack :)
Now the main fuss is on triggering updates in different software. Can you give
an example on a software and how update is triggered manually. A practical
approach??
Suppose that I have a software in a single cartridge application. So when
triggering update with the REST we need a specific way to communicate with the
software. Is there any way that this updating command is given to the software?
Thanks
Sandaruwan
> 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)