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