yahoo-eng-team team mailing list archive
-
yahoo-eng-team team
-
Mailing list archive
-
Message #82742
[Bug 1747167] Re: Neutron driver handles incorrectly 404 errors
Changing bug's status to fix released as recent releases are no longer
affected
** Changed in: nova
Status: Confirmed => Fix Released
--
You received this bug notification because you are a member of Yahoo!
Engineering Team, which is subscribed to OpenStack Compute (nova).
https://bugs.launchpad.net/bugs/1747167
Title:
Neutron driver handles incorrectly 404 errors
Status in OpenStack Compute (nova):
Fix Released
Bug description:
Neutronclient transforms errors using exception_handler_v20[1].
In particular, it transforms 404 responses into:
1) [2] neutronclient.common.exceptions.<type>Client if response body contains a type attribute (with value <type>, type examples: NetworkNotFound, PortNotFound) and <type>Client exists
2) [3] neutronclient.common.NotFound otherwise
Nova neutron driver[4] supports mostly 1) but not 2).
But Neutron in case of 404 returns the following body:
{"message": "The resource could not be found.<br /><br />\n\n\n",
"code": "404 Not Found", "title": "Not Found"}
and we end in 2) and Nova Neutron driver doesn't catch the error
correctly and raises a 500
You can reproduce it indirectly using:
openstack server add fixed ip <vm> <network-name>
which queries:
nova-base-url/os-networks/<network-name>
assuming it would return the network or a 404 but it returns 500.
This trouble can be solved by catching NotFound instead of
NetworkNotFoundClient/PortNotFoundClient as there are subclasses of
NotFound.
[1] https://github.com/openstack/python-neutronclient/blob/6a2112e1824980af1bc9216441fa58a7dfd00988/neutronclient/v2_0/client.py#L47-L93
[2] https://github.com/openstack/python-neutronclient/blob/6a2112e1824980af1bc9216441fa58a7dfd00988/neutronclient/v2_0/client.py#L71
[3] https://github.com/openstack/python-neutronclient/blob/6a2112e1824980af1bc9216441fa58a7dfd00988/neutronclient/v2_0/client.py#L85
[4] nova.network.neutronv2.api
To manage notifications about this bug go to:
https://bugs.launchpad.net/nova/+bug/1747167/+subscriptions
References