[openstack-dev] [Heat][State-Management] Task/Workflow requirements for Heat

Zane Bitter zbitter at redhat.com
Thu Jun 20 15:48:58 UTC 2013


After the Heat meeting yesterday I had a discussion with Keith Bray and 
Jessica Lucci about what sort of features Heat needs from TaskFlow in 
order to be able to adopt it as a workflow system. In the course of that 
discussion I volunteered to put together a list of requirements, and 
here is my first cut at that:

https://wiki.openstack.org/wiki/Heat/TaskSystemRequirements

The key point for me is that workflow is core to what an orchestration 
system does, and therefore it is essential that we can continue to test 
integration with it *directly*.

That (combined with a reluctance to take on big external dependencies) 
makes me sceptical of Celery or similar solutions, but hopefully this 
information should be a good starting point for Celery experts like 
Jessica to figure out why I'm wrong ;)


Incidentally, the coroutine-based task library that we're currently 
using in Heat is becoming a bit more mature - I've been using it to 
orchestrate stack updates, which is the most complicated workflow we 
have. The major remaining pain point is missing the rollback features 
mentioned on the wiki page. If this proves to be something that is 
useful across projects, I would be happy to contribute it to Oslo. If 
anybody is interested in checking it out, the code is here:

https://github.com/openstack/heat/blob/master/heat/engine/scheduler.py

cheers,
Zane.



More information about the OpenStack-dev mailing list