[openstack-dev] [nova] Should the server create API return 404 errors?

Christopher Yeoh cbkyeoh at gmail.com
Mon Nov 25 23:00:59 UTC 2013

On Tue, Nov 26, 2013 at 7:27 AM, Matt Riedemann
<mriedem at linux.vnet.ibm.com>wrote:

> Aaron Rosen is working a patch [1] to handle a NetworkNotFound exception
> in the server create API.  For the V2 API this will return a 400 error.
>  For the V3 API this will return a 404 because of a V3-specific patch [2].
>  The API docs list 404 as a valid response code, but is it intuitive for a
> POST request like this?
Yea I think in this case we've just got this wrong for the V3 API here.
It's validating a parameter, and although the client (glance/neutron etc)
may return a 404 to us, we should be returning a 400 (with a decent
message) to our client.

> To muddy the waters more, ImageNotFound, FlavorNotFound and
> KeypairNotFound are translated to 400 errors in both the V2 and V3 APIs.
> So why should the network-specific NotFound exceptions be a 404 but the
> others aren't?
> From a programmatic perspective, I should validate that my request
> parameters are valid before calling the API in order to avoid a 404. From a
> user's perspective, a 404 seems strange - does it mean that the server I'm
> trying to create isn't found?  No, that's counter-intuitive.
> Ultimately I think we should be consistent, so if 404 is OK, then I think
> the V3 API should make ImageNotFound, FlavorNotFound and KeypairNotFound
> return a 404 also.
At the very least we should be consistent across our API.

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.openstack.org/pipermail/openstack-dev/attachments/20131126/10a4a012/attachment.html>

More information about the OpenStack-dev mailing list