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

Joshua Harlow harlowja at yahoo-inc.com
Tue Oct 8 21:05:13 UTC 2013


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 <tsufiev at mirantis.com<mailto:tsufiev at mirantis.com>>
Date: Tuesday, October 8, 2013 1:44 PM
To: Joshua Harlow <harlowja at yahoo-inc.com<mailto:harlowja at yahoo-inc.com>>
Cc: "openstack-dev at lists.openstack.org<mailto:openstack-dev at lists.openstack.org>" <openstack-dev at lists.openstack.org<mailto:openstack-dev at 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
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.openstack.org/pipermail/openstack-dev/attachments/20131008/4d5367af/attachment.html>


More information about the OpenStack-dev mailing list