** Changed in: nova
Status: Fix Committed => Fix Released
** Changed in: nova
Milestone: None => juno-rc1
--
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/1343458
Title:
Nova's fault wrap hiding real error status code from Neutron (and
maybe others)
Status in OpenStack Compute (Nova):
Fix Released
Bug description:
As a user I expect something that would produce a 404 to return a 404.
Such as:
$ nova net-delete some_garbage
REQ: curl -i
'http://127.0.0.1:8774/v2/4eb9fda29831446cbfd22ab82a901284/os-tenant-networks/asdfasdfasdf'
-X DELETE -H "Accept: application/json" -H "User-Agent: python-novaclient" -H
"X-Auth-Project-Id: demo" -H "X-Auth-Token:
{SHA1}c7b9ac5b9d6c88abd70694db6cbb175c223f988a"
RESP: [500] CaseInsensitiveDict({'date': 'Thu, 17 Jul 2014 18:00:59 GMT',
'content-length': '128', 'content-type': 'application/json; charset=UTF-8',
'x-compute-request-id': 'req-9f02f305-c01d-462c-abd4-0f9a283d992f'})
RESP BODY: {"computeFault": {"message": "The server has either erred or is
incapable of performing the requested operation.", "code": 500}}
DEBUG (shell:802) The server has either erred or is incapable of performing
the requested operation. (HTTP 500) (Request-ID:
req-9f02f305-c01d-462c-abd4-0f9a283d992f)
Traceback (most recent call last):
File "/opt/stack/python-novaclient/novaclient/shell.py", line 799, in main
OpenStackComputeShell().main(argv)
File "/opt/stack/python-novaclient/novaclient/shell.py", line 729, in main
args.func(self.cs, args)
File
"/opt/stack/python-novaclient/novaclient/v1_1/contrib/tenant_networks.py", line
78, in do_net_delete
cs.tenant_networks.delete(args.network_id)
File
"/opt/stack/python-novaclient/novaclient/v1_1/contrib/tenant_networks.py", line
36, in delete
self._delete('/os-tenant-networks/%s' % base.getid(network))
File "/opt/stack/python-novaclient/novaclient/base.py", line 109, in _delete
_resp, _body = self.api.client.delete(url)
File "/opt/stack/python-novaclient/novaclient/client.py", line 491, in
delete
return self._cs_request(url, 'DELETE', **kwargs)
File "/opt/stack/python-novaclient/novaclient/client.py", line 459, in
_cs_request
**kwargs)
File "/opt/stack/python-novaclient/novaclient/client.py", line 441, in
_time_request
resp, body = self.request(url, method, **kwargs)
File "/opt/stack/python-novaclient/novaclient/client.py", line 435, in
request
raise exceptions.from_response(resp, body, url, method)
InternalServerError: The server has either erred or is incapable of
performing the requested operation. (HTTP 500) (Request-ID:
req-9f02f305-c01d-462c-abd4-0f9a283d992f)
ERROR (InternalServerError): The server has either erred or is incapable of
performing the requested operation. (HTTP 500) (Request-ID:
req-9f02f305-c01d-462c-abd4-0f9a283d992f)
When it is not implemented that makes sense. On my cloud installation I also
receive this from neutron:
2014-07-14 16:39:08.200 29740 INFO neutron.wsgi [-]
10.23.245.95,10.13.143.233 - - [14/Jul/2014 16:39:08] "DELETE
/v2.0/networks/jlh_delete_me.json HTTP/1.1"
404 176 0.010104
I believe nova.api.openstack.FaultWrapper is messing up the return from
Neutron and showing the user a 500 (the default response to exceptions) instead
of the expected 404.
To manage notifications about this bug go to:
https://bugs.launchpad.net/nova/+bug/1343458/+subscriptions
--
Mailing list: https://launchpad.net/~yahoo-eng-team
Post to : [email protected]
Unsubscribe : https://launchpad.net/~yahoo-eng-team
More help : https://help.launchpad.net/ListHelp