On 11/14/2013 08:32 AM, George Reese wrote:
One critical reasons why tasks rather than resource status may be
required is because:
a) The system state may not be sufficient at time of POST/PUT to
generate a “minimum viable resource” and we don’t want to risk timeouts
waiting for the “minimum viable resource"
b) There may be more stuff about the workflow worth tracking beyond
simple status, including the ability to act on the workflow
Agreed.
<snip>
Also, as a side note, I think there should be a separate, shared tasks
tracking component (ooh, something new for “OpenStack core” :)) that is
the central authority on all task management. Glance (and Nova and
everyone else) would interact with this component to create and update
task status, but clients would query against it. It would also have it’s
own API.
That way, a client subsystem could be handed a random task from an
arbitrary OpenStack component and easily know the semantics for getting
information about it.
There are two related projects in this space so far. Taskflow [1] is a
library that aims to add structure to the in-process management of
related tasks. Mistral [2] is a project that aims to provide a
distributed task scheduling service that may act as the external
subsystem/proxy you describe above.
Both are under heavy development and my hope is that both projects
continue to evolve in their distinct ways and offer other OpenStack/open
source projects different functionalities.
Best,
-jay
[1] https://wiki.openstack.org/wiki/TaskFlow
[2] https://wiki.openstack.org/wiki/Mistral
_______________________________________________
OpenStack-dev mailing list
[email protected]
http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev