I was asked at the OpenStack Summit to look at the Glance Tasks, particularly 
as a general pattern for other asynchronous operations.

If I understand Glance Tasks appropriately, different asynchronous operations 
get replaced by a single general purpose API call?

In general, a unified API for task tracking across all kinds of asynchronous 
operations is a good thing. However, assuming this understanding is correct, I 
have two comments:

#1 A consumer of an API should not need to know a priori whether a given 
operation is “asynchronous”. The asynchronous nature of the operation should be 
determined through a response. Specifically, if the client gets a 202 response, 
then it should recognize that the action is asynchronous and expect a task in 
the response. If it gets something else, then the action is synchronous. This 
approach has the virtual of being proper HTTP and allowing the needs of the 
implementation to dictate the synchronous/asynchronous nature of the API call 
and not a fixed contract.

#2 I really don’t like the idea of a single endpoint (/v2/tasks) for executing 
all tasks for a particular OpenStack component. Changes should be made through 
the resource being impacted.

-George

--
George Reese (george.re...@imaginary.com)
t: @GeorgeReese               m: +1(207)956-0217               Skype: 
nspollution



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

Reply via email to