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.com<mailto:tsuf...@mirantis.com>>
Date: Tuesday, October 8, 2013 1:44 PM
To: Joshua Harlow <harlo...@yahoo-inc.com<mailto:harlo...@yahoo-inc.com>>
Cc: 
"openstack-dev@lists.openstack.org<mailto:openstack-dev@lists.openstack.org>" 
<openstack-dev@lists.openstack.org<mailto: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

Reply via email to