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.

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

Reply via email to