Nova API floating IP error code inconsistent between Nova-Net and Quantum
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
OpenStack Compute (nova) |
Fix Released
|
High
|
Ala Rezmerita | ||
Grizzly |
Fix Released
|
High
|
Ionuț Arțăriși | ||
tempest |
Fix Released
|
High
|
Ala Rezmerita |
Bug Description
If you ask for details of a floating IP address (GET .../os-
The Nova Floating IP API code (api/openstack/
Not clear to me if the network/
Devstack with Nova-Net:
=======
$ curl -k -i http://
HTTP/1.1 200 OK
X-Compute-
Content-Type: application/json
Content-Length: 103
Date: Tue, 26 Mar 2013 10:45:04 GMT
{"floating_ip": {"instance_id": null, "ip": "172.24.4.225", "fixed_ip": null, "id": 1, "pool": "nova"}}
$ nova floating-ip-delete 172.24.4.225
$ curl -k -i http://
Content-Length: 76
Content-Type: application/json; charset=UTF-8
X-Compute-
Date: Tue, 26 Mar 2013 10:45:28 GMT
{"itemNotFound": {"message": "Floating ip not found for id 1", "code": 404}}ubuntu@
DevStack with Quantum:
=======
$ curl -k -i http://
X-Compute-
Content-Type: application/json
Content-Length: 180
Date: Tue, 26 Mar 2013 10:36:16 GMT
{"floating_ip": {"instance_id": "09ffe9c9-
$ nova floating-ip-delete 172.24.4.227
$ curl -k -i http://
HTTP/1.1 500 Internal Server Error
Content-Length: 128
Content-Type: application/json; charset=UTF-8
X-Compute-
Date: Tue, 26 Mar 2013 10:39:09 GMT
{"computeFault": {"message": "The server has either erred or is incapable of performing the requested operation.", "code": 500}}
From the API log:
2013-03-25 19:11:00.377 DEBUG nova.api.
2013-03-25 19:11:00.510 ERROR nova.api.openstack [req-eda934a2-
2013-03-25 19:11:00.510 65276 TRACE nova.api.openstack Traceback (most recent call last):
2013-03-25 19:11:00.510 65276 TRACE nova.api.openstack File "/usr/lib/
2013-03-25 19:11:00.510 65276 TRACE nova.api.openstack return req.get_
2013-03-25 19:11:00.510 65276 TRACE nova.api.openstack File "/usr/lib/
2013-03-25 19:11:00.510 65276 TRACE nova.api.openstack application, catch_exc_
2013-03-25 19:11:00.510 65276 TRACE nova.api.openstack File "/usr/lib/
2013-03-25 19:11:00.510 65276 TRACE nova.api.openstack app_iter = application(
2013-03-25 19:11:00.510 65276 TRACE nova.api.openstack File "/usr/lib/
2013-03-25 19:11:00.510 65276 TRACE nova.api.openstack return resp(environ, start_response)
2013-03-25 19:11:00.510 65276 TRACE nova.api.openstack File "/usr/lib/
2013-03-25 19:11:00.510 65276 TRACE nova.api.openstack return super(CsAuthPro
2013-03-25 19:11:00.510 65276 TRACE nova.api.openstack File "/usr/lib/
2013-03-25 19:11:00.510 65276 TRACE nova.api.openstack return self.app(env, start_response)
2013-03-25 19:11:00.510 65276 TRACE nova.api.openstack File "/usr/lib/
2013-03-25 19:11:00.510 65276 TRACE nova.api.openstack return resp(environ, start_response)
2013-03-25 19:11:00.510 65276 TRACE nova.api.openstack File "/usr/lib/
2013-03-25 19:11:00.510 65276 TRACE nova.api.openstack return resp(environ, start_response)
2013-03-25 19:11:00.510 65276 TRACE nova.api.openstack File "/usr/lib/
2013-03-25 19:11:00.510 65276 TRACE nova.api.openstack return resp(environ, start_response)
2013-03-25 19:11:00.510 65276 TRACE nova.api.openstack File "/usr/lib/
2013-03-25 19:11:00.510 65276 TRACE nova.api.openstack response = self.app(environ, start_response)
2013-03-25 19:11:00.510 65276 TRACE nova.api.openstack File "/usr/lib/
2013-03-25 19:11:00.510 65276 TRACE nova.api.openstack return resp(environ, start_response)
2013-03-25 19:11:00.510 65276 TRACE nova.api.openstack File "/usr/lib/
2013-03-25 19:11:00.510 65276 TRACE nova.api.openstack resp = self.call_func(req, *args, **self.kwargs)
2013-03-25 19:11:00.510 65276 TRACE nova.api.openstack File "/usr/lib/
2013-03-25 19:11:00.510 65276 TRACE nova.api.openstack return self.func(req, *args, **kwargs)
2013-03-25 19:11:00.510 65276 TRACE nova.api.openstack File "/usr/lib/
2013-03-25 19:11:00.510 65276 TRACE nova.api.openstack content_type, body, accept)
2013-03-25 19:11:00.510 65276 TRACE nova.api.openstack File "/usr/lib/
2013-03-25 19:11:00.510 65276 TRACE nova.api.openstack action_result = self.dispatch(meth, request, action_args)
2013-03-25 19:11:00.510 65276 TRACE nova.api.openstack File "/usr/lib/
2013-03-25 19:11:00.510 65276 TRACE nova.api.openstack return method(req=request, **action_args)
2013-03-25 19:11:00.510 65276 TRACE nova.api.openstack File "/usr/lib/
2013-03-25 19:11:00.510 65276 TRACE nova.api.openstack floating_ip = self.network_
2013-03-25 19:11:00.510 65276 TRACE nova.api.openstack File "/usr/lib/
2013-03-25 19:11:00.510 65276 TRACE nova.api.openstack fip = client.
2013-03-25 19:11:00.510 65276 TRACE nova.api.openstack File "/usr/lib/
2013-03-25 19:11:00.510 65276 TRACE nova.api.openstack ret = self.function(
2013-03-25 19:11:00.510 65276 TRACE nova.api.openstack File "/usr/lib/
2013-03-25 19:11:00.510 65276 TRACE nova.api.openstack return self.get(
2013-03-25 19:11:00.510 65276 TRACE nova.api.openstack File "/usr/lib/
2013-03-25 19:11:00.510 65276 TRACE nova.api.openstack headers=headers, params=params)
2013-03-25 19:11:00.510 65276 TRACE nova.api.openstack File "/usr/lib/
2013-03-25 19:11:00.510 65276 TRACE nova.api.openstack headers=headers, params=params)
2013-03-25 19:11:00.510 65276 TRACE nova.api.openstack File "/usr/lib/
2013-03-25 19:11:00.510 65276 TRACE nova.api.openstack self._handle_
2013-03-25 19:11:00.510 65276 TRACE nova.api.openstack File "/usr/lib/
2013-03-25 19:11:00.510 65276 TRACE nova.api.openstack exception_
2013-03-25 19:11:00.510 65276 TRACE nova.api.openstack File "/usr/lib/
2013-03-25 19:11:00.510 65276 TRACE nova.api.openstack message=error_dict)
2013-03-25 19:11:00.510 65276 TRACE nova.api.openstack QuantumClientEx
2013-03-25 19:11:00.510 65276 TRACE nova.api.openstack
2013-03-25 19:11:00.515 INFO nova.api.openstack [req-eda934a2-
Changed in nova: | |
status: | New → Triaged |
Changed in tempest: | |
status: | New → Confirmed |
importance: | Undecided → High |
Changed in nova: | |
importance: | Undecided → High |
Changed in tempest: | |
assignee: | nobody → Ala Rezmerita (arezmerita) |
Changed in nova: | |
assignee: | nobody → Ala Rezmerita (arezmerita) |
Changed in nova: | |
milestone: | none → havana-3 |
status: | Fix Committed → Fix Released |
Changed in tempest: | |
milestone: | none → havana-3 |
Changed in nova: | |
milestone: | havana-3 → 2013.2 |
tags: | removed: in-stable-grizzly |
A similiar "exception translation" seems to happen in _get_floating_ ips_by_ fixed_and_ port of nova/network/ quantumv2/ api.py.
This bug makes two tempest tests from floating_ ips:test_ list_floating_ ips.py to fail.