[openstack-dev] [Heat] HOT Software orchestration proposal for workflows

Angus Salkeld asalkeld at redhat.com
Tue Oct 8 21:46:57 UTC 2013


On 09/10/13 00:53 +0400, Stan Lagun wrote:
>Hello,
>
>I’m one of the engineer working on Murano project. Recently we started a
>discussion about Murano and Heat Software orchestration and I want to
>continue this discussion with more technical details.

I hope you are going to be at summit, as I expect this to an important
session we have there:

Related summit sessions:
http://summit.openstack.org/cfp/details/82
http://summit.openstack.org/cfp/details/121
http://summit.openstack.org/cfp/details/78

Related blueprints:
https://blueprints.launchpad.net/heat/+spec/software-configuration-provider
https://blueprints.launchpad.net/heat/+spec/hot-software-config-deps
https://blueprints.launchpad.net/heat/+spec/hot-software-config
https://blueprints.launchpad.net/heat/+spec/windows-instances

Excuse me if you are well aware of these.

-Angus

>
>In our project we do deployment of complex multi-instance Windows services.
>Those services usually require specific multi-VM orchestration that is
>currently impossible or at least not that easy to achieve with Heat. As you
>are currently doing HOT software orchestration design we would like to
>participate in HOT Software orchestration design and contribute into it, so
>that the Heat could address use-cases which we believe are very common.
>
>For example here is how deployment of a SQL Server cluster goes:
>
>   1.
>
>   Allocate Windows VMs for SQL Server cluster
>   2.
>
>   Enable secondary IP address from user input on all SQL Windows instances
>   3.
>
>   Install SQL Server prerequisites on each node
>   4.
>
>   Choose a master node and install Failover Cluster on it
>   5.
>
>   Configure all nodes so that they know which one of them is the master
>   6.
>
>   Install SQL Server on all nodes
>   7.
>
>   Initialize AlwaysOn on all nodes except for the master
>   8.
>
>   Initialize Primary replica
>   9.
>
>   Initialize secondary replicas
>
>
>All of the steps must take place in appropriate order depending on the
>state of other nodes. Some steps require an output from previous steps and
>all of them require some input parameters. SQL Server requires an Active
>Directory service in order to use Failover mechanism and installation of
>Active Directory with primary and secondary controllers is a complex
>workflow of its own.
>
>That is why it is necessary to have some central coordination service which
>would handle deployment workflow and perform specific actions (create VMs
>and other OpenStack resources, do something on that VM) on each stage
>according to that workflow. We think that Heat is the best place for such
>service.
>
>Our idea is to extend HOT DSL by adding  workflow definition capabilities
>as an explicit list of resources, components’ states and actions. States
>may depend on each other so that you can reach state X only after you’ve
>reached states Y and Z that the X depends on. The goal is from initial
>state to reach some final state “Deployed”.
>
>There is such state graph for each of our deployment entities (service,
>VMs, other things). There is also an action that must be performed on each
>state.
>For example states graph from example above would look like this:
>
>
>
>
>
>
>The goal is to reach Service_Done state which depends on VM1_Done and
>VM2_Done states and so on from initial Service_Start state.
>
>We propose to extend HOT DSL with workflow definition capabilities where
>you can describe step by step instruction to install service and properly
>handle errors on each step.
>
>We already have an experience in implementation of the DSL, workflow
>description and processing mechanism for complex deployments and believe
>we’ll all benefit by re-using this experience and existing code, having
>properly discussed and agreed on abstraction layers and distribution of
>responsibilities between OS components. There is an idea of implementing
>part of workflow processing mechanism as a part of Convection proposal,
>which would allow other OS projects to benefit by using this.
>
>We would like to discuss if such design could become a part of future Heat
>version as well as other possible contributions from Murano team.

I am really happy that you want to get involved and this sounds like it
functionally matches quite well to the blueprints at the top.

-Angus

>
>Regards,
>Stan Lagun
>
>-- 
>
>Senior Developer
>Mirantis
>35b/3, Vorontsovskaya St.
>Moscow, Russia
>Skype: stanlagun
>www.mirantis.com
>slagun at mirantis.com

>_______________________________________________
>OpenStack-dev mailing list
>OpenStack-dev at lists.openstack.org
>http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev




More information about the OpenStack-dev mailing list