FloatingIpNotFoundForHost isn't handled when showing floating ips by host

Bug #1289164 reported by Haiwei Xu
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
OpenStack Compute (nova)
Fix Released
Undecided
Haiwei Xu

Bug Description

When showing the floating ips by host, I got this error.

$ nova floating-ip-bulk-list --host xxx
ERROR: The resource could not be found. (HTTP 404) (Request-ID: req-9a17c8cf-b1cd-4092-b853-7e24126db7e8)

and in the nova-api log I got this message:

014-03-05 04:01:40.270 ERROR nova.api.openstack [req-9a17c8cf-b1cd-4092-b853-7e24126db7e8 admin demo] Caught error: Floating ip not found for host xxx.
2014-03-05 04:01:40.270 TRACE nova.api.openstack Traceback (most recent call last):
2014-03-05 04:01:40.270 TRACE nova.api.openstack File "/opt/stack/nova/nova/api/openstack/__init__.py", line 125, in __call__
2014-03-05 04:01:40.270 TRACE nova.api.openstack return req.get_response(self.application)
2014-03-05 04:01:40.270 TRACE nova.api.openstack File "/usr/local/lib/python2.7/dist-packages/webob/request.py", line 1296, in send
2014-03-05 04:01:40.270 TRACE nova.api.openstack application, catch_exc_info=False)
2014-03-05 04:01:40.270 TRACE nova.api.openstack File "/usr/local/lib/python2.7/dist-packages/webob/request.py", line 1260, in call_application
2014-03-05 04:01:40.270 TRACE nova.api.openstack app_iter = application(self.environ, start_response)
2014-03-05 04:01:40.270 TRACE nova.api.openstack File "/usr/local/lib/python2.7/dist-packages/webob/dec.py", line 144, in __call__
2014-03-05 04:01:40.270 TRACE nova.api.openstack return resp(environ, start_response)
2014-03-05 04:01:40.270 TRACE nova.api.openstack File "/opt/stack/python-keystoneclient/keystoneclient/middleware/auth_token.py", line 598, in __call__
2014-03-05 04:01:40.270 TRACE nova.api.openstack return self.app(env, start_response)
2014-03-05 04:01:40.270 TRACE nova.api.openstack File "/usr/local/lib/python2.7/dist-packages/webob/dec.py", line 144, in __call__
2014-03-05 04:01:40.270 TRACE nova.api.openstack return resp(environ, start_response)
2014-03-05 04:01:40.270 TRACE nova.api.openstack File "/usr/local/lib/python2.7/dist-packages/webob/dec.py", line 144, in __call__
2014-03-05 04:01:40.270 TRACE nova.api.openstack return resp(environ, start_response)
2014-03-05 04:01:40.270 TRACE nova.api.openstack File "/usr/lib/python2.7/dist-packages/routes/middleware.py", line 131, in __call__
2014-03-05 04:01:40.270 TRACE nova.api.openstack response = self.app(environ, start_response)
2014-03-05 04:01:40.270 TRACE nova.api.openstack File "/usr/local/lib/python2.7/dist-packages/webob/dec.py", line 144, in __call__
2014-03-05 04:01:40.270 TRACE nova.api.openstack return resp(environ, start_response)
2014-03-05 04:01:40.270 TRACE nova.api.openstack File "/usr/local/lib/python2.7/dist-packages/webob/dec.py", line 130, in __call__
2014-03-05 04:01:40.270 TRACE nova.api.openstack resp = self.call_func(req, *args, **self.kwargs)
2014-03-05 04:01:40.270 TRACE nova.api.openstack File "/usr/local/lib/python2.7/dist-packages/webob/dec.py", line 195, in call_func
2014-03-05 04:01:40.270 TRACE nova.api.openstack return self.func(req, *args, **kwargs)
2014-03-05 04:01:40.270 TRACE nova.api.openstack File "/opt/stack/nova/nova/api/openstack/wsgi.py", line 929, in __call__
2014-03-05 04:01:40.270 TRACE nova.api.openstack content_type, body, accept)
2014-03-05 04:01:40.270 TRACE nova.api.openstack File "/opt/stack/nova/nova/api/openstack/wsgi.py", line 991, in _process_stack
2014-03-05 04:01:40.270 TRACE nova.api.openstack action_result = self.dispatch(meth, request, action_args)
2014-03-05 04:01:40.270 TRACE nova.api.openstack File "/opt/stack/nova/nova/api/openstack/wsgi.py", line 1078, in dispatch
2014-03-05 04:01:40.270 TRACE nova.api.openstack return method(req=request, **action_args)
2014-03-05 04:01:40.270 TRACE nova.api.openstack File "/opt/stack/nova/nova/api/openstack/compute/contrib/floating_ips_bulk.py", line 48, in show
2014-03-05 04:01:40.270 TRACE nova.api.openstack return self._get_floating_ip_info(context, id)
2014-03-05 04:01:40.270 TRACE nova.api.openstack File "/opt/stack/nova/nova/api/openstack/compute/contrib/floating_ips_bulk.py", line 57, in _get_floating_ip_info
2014-03-05 04:01:40.270 TRACE nova.api.openstack floating_ips = db.floating_ip_get_all_by_host(context, host)
2014-03-05 04:01:40.270 TRACE nova.api.openstack File "/opt/stack/nova/nova/db/api.py", line 356, in floating_ip_get_all_by_host
2014-03-05 04:01:40.270 TRACE nova.api.openstack return IMPL.floating_ip_get_all_by_host(context, host)
2014-03-05 04:01:40.270 TRACE nova.api.openstack File "/opt/stack/nova/nova/db/sqlalchemy/api.py", line 110, in wrapper
2014-03-05 04:01:40.270 TRACE nova.api.openstack return f(*args, **kwargs)
2014-03-05 04:01:40.270 TRACE nova.api.openstack File "/opt/stack/nova/nova/db/sqlalchemy/api.py", line 918, in floating_ip_get_all_by_host
2014-03-05 04:01:40.270 TRACE nova.api.openstack raise exception.FloatingIpNotFoundForHost(host=host)
2014-03-05 04:01:40.270 TRACE nova.api.openstack FloatingIpNotFoundForHost: Floating ip not found for host xxx.
2014-03-05 04:01:40.270 TRACE nova.api.openstack

The FloatingIpNotFoundForHost exception should be handled.

Haiwei Xu (xu-haiwei)
Changed in nova:
assignee: nobody → Haiwei Xu (xu-haiwei)
description: updated
Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix proposed to nova (master)

Fix proposed to branch: master
Review: https://review.openstack.org/78882

Changed in nova:
status: New → In Progress
Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix merged to nova (master)

Reviewed: https://review.openstack.org/78882
Committed: https://git.openstack.org/cgit/openstack/nova/commit/?id=27b405e46c62e7084ac8db038f4b213a30dc3d23
Submitter: Jenkins
Branch: master

commit 27b405e46c62e7084ac8db038f4b213a30dc3d23
Author: Haiwei Xu <email address hidden>
Date: Sat Mar 8 01:13:30 2014 +0900

    Catch FloatingIpNotFoundForHost exception

    When showing floating ips for a given host, the FloatingIpNotFoundForHost
    exception isn't handled when no floating ips can be found for the host.
    This patch fixes this bug.

    Closes-Bug: #1289164
    Change-Id: Ic25ffd66945fd40ba10d69515e0cbfeae840313c

Changed in nova:
status: In Progress → Fix Committed
Changed in nova:
milestone: none → icehouse-rc1
Thierry Carrez (ttx)
Changed in nova:
status: Fix Committed → Fix Released
Thierry Carrez (ttx)
Changed in nova:
milestone: icehouse-rc1 → 2014.1
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.