<div dir="ltr">Hi Angus,<div><br></div><div>We will have representatives from our Team . Alex Tivelkov and I will be on summit. We definitely will participate in design sessions for these hot topics.</div><div><br></div><div>
Before the summit we will work in etherpads to add necessary technical information to have a solid background for discussions. We already checked BPs and we think we can add more details to them. </div><div><br></div><div>
As I see, not all BP have etherpad links published on launchpad. Should we create them and attach to BP's whiteboards?</div><div><br></div><div>Do you have any internal design sessions before summit? It would be nice if we can participate in them too.</div>
<div><br></div><div>Thanks</div><div>Gosha</div><div><br></div><div><br></div><div><br></div><div><br></div></div><div class="gmail_extra"><br><br><div class="gmail_quote">On Tue, Oct 8, 2013 at 2:46 PM, Angus Salkeld <span dir="ltr"><<a href="mailto:asalkeld@redhat.com" target="_blank">asalkeld@redhat.com</a>></span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div class="im">On 09/10/13 00:53 +0400, Stan Lagun wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
Hello,<br>
<br>
I’m one of the engineer working on Murano project. Recently we started a<br>
discussion about Murano and Heat Software orchestration and I want to<br>
continue this discussion with more technical details.<br>
</blockquote>
<br></div>
I hope you are going to be at summit, as I expect this to an important<br>
session we have there:<br>
<br>
Related summit sessions:<br>
<a href="http://summit.openstack.org/cfp/details/82" target="_blank">http://summit.openstack.org/<u></u>cfp/details/82</a><br>
<a href="http://summit.openstack.org/cfp/details/121" target="_blank">http://summit.openstack.org/<u></u>cfp/details/121</a><br>
<a href="http://summit.openstack.org/cfp/details/78" target="_blank">http://summit.openstack.org/<u></u>cfp/details/78</a><br>
<br>
Related blueprints:<br>
<a href="https://blueprints.launchpad.net/heat/+spec/software-configuration-provider" target="_blank">https://blueprints.launchpad.<u></u>net/heat/+spec/software-<u></u>configuration-provider</a><br>
<a href="https://blueprints.launchpad.net/heat/+spec/hot-software-config-deps" target="_blank">https://blueprints.launchpad.<u></u>net/heat/+spec/hot-software-<u></u>config-deps</a><br>
<a href="https://blueprints.launchpad.net/heat/+spec/hot-software-config" target="_blank">https://blueprints.launchpad.<u></u>net/heat/+spec/hot-software-<u></u>config</a><br>
<a href="https://blueprints.launchpad.net/heat/+spec/windows-instances" target="_blank">https://blueprints.launchpad.<u></u>net/heat/+spec/windows-<u></u>instances</a><br>
<br>
Excuse me if you are well aware of these.<br>
<br>
-Angus<br>
<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div class="im">
<br>
In our project we do deployment of complex multi-instance Windows services.<br>
Those services usually require specific multi-VM orchestration that is<br>
currently impossible or at least not that easy to achieve with Heat. As you<br>
are currently doing HOT software orchestration design we would like to<br>
participate in HOT Software orchestration design and contribute into it, so<br>
that the Heat could address use-cases which we believe are very common.<br>
<br>
For example here is how deployment of a SQL Server cluster goes:<br>
<br></div>
  1.<div class="im"><br>
<br>
  Allocate Windows VMs for SQL Server cluster<br></div>
  2.<div class="im"><br>
<br>
  Enable secondary IP address from user input on all SQL Windows instances<br></div>
  3.<div class="im"><br>
<br>
  Install SQL Server prerequisites on each node<br></div>
  4.<div class="im"><br>
<br>
  Choose a master node and install Failover Cluster on it<br></div>
  5.<div class="im"><br>
<br>
  Configure all nodes so that they know which one of them is the master<br></div>
  6.<div class="im"><br>
<br>
  Install SQL Server on all nodes<br></div>
  7.<div class="im"><br>
<br>
  Initialize AlwaysOn on all nodes except for the master<br></div>
  8.<br>
<br>
  Initialize Primary replica<br>
  9.<div class="im"><br>
<br>
  Initialize secondary replicas<br>
<br>
<br>
All of the steps must take place in appropriate order depending on the<br>
state of other nodes. Some steps require an output from previous steps and<br>
all of them require some input parameters. SQL Server requires an Active<br>
Directory service in order to use Failover mechanism and installation of<br>
Active Directory with primary and secondary controllers is a complex<br>
workflow of its own.<br>
<br>
That is why it is necessary to have some central coordination service which<br>
would handle deployment workflow and perform specific actions (create VMs<br>
and other OpenStack resources, do something on that VM) on each stage<br>
according to that workflow. We think that Heat is the best place for such<br>
service.<br>
<br>
Our idea is to extend HOT DSL by adding  workflow definition capabilities<br>
as an explicit list of resources, components’ states and actions. States<br>
may depend on each other so that you can reach state X only after you’ve<br>
reached states Y and Z that the X depends on. The goal is from initial<br>
state to reach some final state “Deployed”.<br>
<br>
There is such state graph for each of our deployment entities (service,<br>
VMs, other things). There is also an action that must be performed on each<br>
state.<br>
For example states graph from example above would look like this:<br>
<br>
<br>
<br>
<br>
<br>
<br></div><div class="im">
The goal is to reach Service_Done state which depends on VM1_Done and<br>
VM2_Done states and so on from initial Service_Start state.<br>
<br>
We propose to extend HOT DSL with workflow definition capabilities where<br>
you can describe step by step instruction to install service and properly<br>
handle errors on each step.<br>
<br>
We already have an experience in implementation of the DSL, workflow<br>
description and processing mechanism for complex deployments and believe<br>
we’ll all benefit by re-using this experience and existing code, having<br>
properly discussed and agreed on abstraction layers and distribution of<br>
responsibilities between OS components. There is an idea of implementing<br>
part of workflow processing mechanism as a part of Convection proposal,<br>
which would allow other OS projects to benefit by using this.<br>
<br>
We would like to discuss if such design could become a part of future Heat<br>
version as well as other possible contributions from Murano team.<br>
</div></blockquote>
<br>
I am really happy that you want to get involved and this sounds like it<br>
functionally matches quite well to the blueprints at the top.<br>
<br>
-Angus<div class="im"><br>
<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<br>
Regards,<br>
Stan Lagun<br>
<br>
-- <br>
<br>
Senior Developer<br>
Mirantis<br>
35b/3, Vorontsovskaya St.<br>
Moscow, Russia<br>
Skype: stanlagun<br>
<a href="http://www.mirantis.com" target="_blank">www.mirantis.com</a><br>
<a href="mailto:slagun@mirantis.com" target="_blank">slagun@mirantis.com</a><br>
</blockquote>
<br>
</div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
______________________________<u></u>_________________<br>
OpenStack-dev mailing list<br>
<a href="mailto:OpenStack-dev@lists.openstack.org" target="_blank">OpenStack-dev@lists.openstack.<u></u>org</a><br>
<a href="http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev" target="_blank">http://lists.openstack.org/<u></u>cgi-bin/mailman/listinfo/<u></u>openstack-dev</a><br>
</blockquote>
<br>
<br>
______________________________<u></u>_________________<br>
OpenStack-dev mailing list<br>
<a href="mailto:OpenStack-dev@lists.openstack.org" target="_blank">OpenStack-dev@lists.openstack.<u></u>org</a><br>
<a href="http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev" target="_blank">http://lists.openstack.org/<u></u>cgi-bin/mailman/listinfo/<u></u>openstack-dev</a><br>
</blockquote></div><br><br clear="all"><div><br></div>-- <br>Georgy Okrokvertskhov<br>
Technical Program Manager,<br>Cloud and Infrastructure Services,<br>
Mirantis<br>
<a href="http://www.mirantis.com/" target="_blank">http://www.mirantis.com</a><br>
Tel. +1 650 963 9828<br>
Mob. +1 650 996 3284<br>
</div>