← Back to team overview

yahoo-eng-team team mailing list archive

[Bug 2006122] [NEW] ExternalGatewayForFloatingIPNotFound returns missleading http status code

 

Public bug reported:

When trying to associate a floating ip with a vm that does not have access to the floating ip network (e.g. there is no router connected) a ExternalGatewayForFloatingIPNotFound exception is raised.
This exception is translated to the client as a http status code "Not Found" (404).

>From my perspective this is misleading as the floating ip the call is about has clearly been found.
Rather the request send from the client is invalid as the client needs to issue some other api calls first (or fixing the issue is outside the clients control).

Proposed alternatives (quoted from rfc9110):

* "Bad Request" (400): "[...] indicates that the server cannot or will not process the request due to something that is perceived to be a client error [...]"
* "Unprocessable Entity" (422): "[...] the server understands the content type of the request content, and the syntax of the request content is correct, but it was unable to process the contained instructions. [...]"

While 422 might be more specific we use 400 already in a lot of cases,
so i will open a fix for that.

** Affects: neutron
     Importance: Undecided
         Status: In Progress

-- 
You received this bug notification because you are a member of Yahoo!
Engineering Team, which is subscribed to neutron.
https://bugs.launchpad.net/bugs/2006122

Title:
  ExternalGatewayForFloatingIPNotFound returns missleading http status
  code

Status in neutron:
  In Progress

Bug description:
  When trying to associate a floating ip with a vm that does not have access to the floating ip network (e.g. there is no router connected) a ExternalGatewayForFloatingIPNotFound exception is raised.
  This exception is translated to the client as a http status code "Not Found" (404).

  From my perspective this is misleading as the floating ip the call is about has clearly been found.
  Rather the request send from the client is invalid as the client needs to issue some other api calls first (or fixing the issue is outside the clients control).

  Proposed alternatives (quoted from rfc9110):

  * "Bad Request" (400): "[...] indicates that the server cannot or will not process the request due to something that is perceived to be a client error [...]"
  * "Unprocessable Entity" (422): "[...] the server understands the content type of the request content, and the syntax of the request content is correct, but it was unable to process the contained instructions. [...]"

  While 422 might be more specific we use 400 already in a lot of cases,
  so i will open a fix for that.

To manage notifications about this bug go to:
https://bugs.launchpad.net/neutron/+bug/2006122/+subscriptions