← Back to team overview

openstack team mailing list archive

Re: [nova][glance] making nova api more asynchronous

 

+2 … Synchronous calls out to a separate service (glance-api) which then makes a synchronous call to a different service (glance-registry) all within a service serving a synchronous call (nova-api) makes the world slow.


On Jun 7, 2012, at 10:00 PM, Gabe Westmaas wrote:

> Hey all,
> 
> I was looking through some of the api calls, in particular creating a
> server on the openstack api.  I'm not too excited by how long it takes,
> and was wondering what people think about making it more asynchronous.
> Basically, wondering if making it so that the POST to the nova API doesn't
> actually check to make sure we have a valid image, but instead just assume
> the user knew what they were doing and pass the image down is something
> that people buy.  If the image is invalid (doesn't exist, no permission to
> use that image, flavor size doesn't match the minimum requirements of the
> image) then we would set the server to error and be done.
> 
> There is an obvious drawback: losing the ability to fail fast.  I think we
> need to look at embracing the overall asynchronous nature of the API as
> much as possible, and rely on client side tools to do upfront validation
> where appropriate - nova client would already prevent this from happening
> on a nonexistent image, for example.
> 
> The API spec doesn't specify anything one way or the other about this - so
> another route is to make this a configuration option.
> 
> By the way, I don't want this to be construed in any way, shape or form as
> me not wanting to improve the performance of glance.  Of course we want
> that, but we also know that any additional latency hurts performance.
> 
> Thoughts? Are the benefits of fail fast out-weighing our performance
> needs?  
> 
> 
> Gabe
> 
> 
> _______________________________________________
> Mailing list: https://launchpad.net/~openstack
> Post to     : openstack@xxxxxxxxxxxxxxxxxxx
> Unsubscribe : https://launchpad.net/~openstack
> More help   : https://help.launchpad.net/ListHelp



References