[openstack-dev] [Convection] Murano and Convection proposal discussion

2013-10-08 Thread Timur Sufiev
Hello!


I am an engineer from Murano team. Murano is an OpenStack project built
around Windows components deployment. Currently we (Murano team) are
working on improving Murano architecture to fit better in OpenStack
ecosystem and reuse more functionality from the other projects. As part of
that we’ve realized that we need task execution workflow. We see a lot of
value in Convection proposal for what we need as well as OpenStack users in
general.

*
*

We have some ideas around possible design approach as well as bits and
pieces that we can potentially reuse from the existing codebase. We would
like to start contributing to Convection and get it moving forward. As the
first step it would be good to start a discussion with you on how to unify
our vision and start the development.

*
*

Here are some of the areas that we would like to discuss:

   -

   Workflow definition proposal. We propose YAML as a task workflow
   definition format. Each node in the workflow has state, dependencies and an
   action associated with it. Action is defined as a generic instruction to
   call some other component using a specific transport (e.g. RabbitMQ).
   Dependency means “in order to execute this task it is required that some
   other tasks be in a certain state”.
   -

   Workflow definitions API proposal. We are discussing and prototyping an
   API for uploading workflow definitions, modifying them, adding the sources
   triggering new tasks to be scheduled for execution and so forth. We propose
   to adapt this API to Convection needs and possible rewrite and extend it.
   -

   Task dependencies resolution engine proposal. We already have a generic
   engine which processes workflows. It is essentially a parallel
   multithreaded state machine. We propose to use this engine as a basis for
   Convection and extend it by adding external event sources like timers and
   Ceilometer alarms.


-- 
Timur Sufiev
___
OpenStack-dev mailing list
OpenStack-dev@lists.openstack.org
http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev


Re: [openstack-dev] [Convection] Murano and Convection proposal discussion

2013-10-08 Thread Timur Sufiev
Hi!

I just forgot to ask about the best way for discussion: what will it be? We
have an IRC channel #murano at FreeNode, so you can find someone from our
team here. The best way probably will be a Google hangout or Webex meeting
for a live discussion and document sharing.


On Wed, Oct 9, 2013 at 12:44 AM, Timur Sufiev tsuf...@mirantis.com wrote:

 Hello!


 I am an engineer from Murano team. Murano is an OpenStack project built
 around Windows components deployment. Currently we (Murano team) are
 working on improving Murano architecture to fit better in OpenStack
 ecosystem and reuse more functionality from the other projects. As part of
 that we’ve realized that we need task execution workflow. We see a lot of
 value in Convection proposal for what we need as well as OpenStack users in
 general.

 *
 *

 We have some ideas around possible design approach as well as bits and
 pieces that we can potentially reuse from the existing codebase. We would
 like to start contributing to Convection and get it moving forward. As the
 first step it would be good to start a discussion with you on how to unify
 our vision and start the development.

 *
 *

 Here are some of the areas that we would like to discuss:

-

Workflow definition proposal. We propose YAML as a task workflow
definition format. Each node in the workflow has state, dependencies and an
action associated with it. Action is defined as a generic instruction to
call some other component using a specific transport (e.g. RabbitMQ).
Dependency means “in order to execute this task it is required that some
other tasks be in a certain state”.
-

Workflow definitions API proposal. We are discussing and prototyping
an API for uploading workflow definitions, modifying them, adding the
sources triggering new tasks to be scheduled for execution and so forth. We
propose to adapt this API to Convection needs and possible rewrite and
extend it.
-

Task dependencies resolution engine proposal. We already have a
generic engine which processes workflows. It is essentially a parallel
multithreaded state machine. We propose to use this engine as a basis for
Convection and extend it by adding external event sources like timers and
Ceilometer alarms.


 --
 Timur Sufiev




-- 
Timur Sufiev
___
OpenStack-dev mailing list
OpenStack-dev@lists.openstack.org
http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev


Re: [openstack-dev] [Convection] Murano and Convection proposal discussion

2013-10-08 Thread Joshua Harlow
I'd like to counter-propose :)

https://wiki.openstack.org/wiki/TaskFlow

Taskflow is a lower level library that also has an engine, but not only does it 
have the underlying engine, it also has key fundamental components such as 
state persistence, resumption, reverting.

The workflow definition  api to me should be independent of the underlying 
'engine'.

Can u explain how your engine addresses some of the concepts that I think a 
underlying library should have (workflow state persistence, workflow 
resumption, task/workflow reverting).

-Josh

From: Timur Sufiev tsuf...@mirantis.commailto:tsuf...@mirantis.com
Date: Tuesday, October 8, 2013 1:44 PM
To: Joshua Harlow harlo...@yahoo-inc.commailto:harlo...@yahoo-inc.com
Cc: 
openstack-dev@lists.openstack.orgmailto:openstack-dev@lists.openstack.org 
openstack-dev@lists.openstack.orgmailto:openstack-dev@lists.openstack.org
Subject: [Convection] Murano and Convection proposal discussion


Hello!


I am an engineer from Murano team. Murano is an OpenStack project built around 
Windows components deployment. Currently we (Murano team) are working on 
improving Murano architecture to fit better in OpenStack ecosystem and reuse 
more functionality from the other projects. As part of that we’ve realized that 
we need task execution workflow. We see a lot of value in Convection proposal 
for what we need as well as OpenStack users in general.


We have some ideas around possible design approach as well as bits and pieces 
that we can potentially reuse from the existing codebase. We would like to 
start contributing to Convection and get it moving forward. As the first step 
it would be good to start a discussion with you on how to unify our vision and 
start the development.


Here are some of the areas that we would like to discuss:

  *   Workflow definition proposal. We propose YAML as a task workflow 
definition format. Each node in the workflow has state, dependencies and an 
action associated with it. Action is defined as a generic instruction to call 
some other component using a specific transport (e.g. RabbitMQ). Dependency 
means “in order to execute this task it is required that some other tasks be in 
a certain state”.

  *   Workflow definitions API proposal. We are discussing and prototyping an 
API for uploading workflow definitions, modifying them, adding the sources 
triggering new tasks to be scheduled for execution and so forth. We propose to 
adapt this API to Convection needs and possible rewrite and extend it.

  *   Task dependencies resolution engine proposal. We already have a generic 
engine which processes workflows. It is essentially a parallel multithreaded 
state machine. We propose to use this engine as a basis for Convection and 
extend it by adding external event sources like timers and Ceilometer alarms.


--
Timur Sufiev
___
OpenStack-dev mailing list
OpenStack-dev@lists.openstack.org
http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev