admin extension list instances fails with KeyError

Bug #899731 reported by Jay Pipes
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
OpenStack Compute (nova)
Invalid
Undecided
Unassigned

Bug Description

When trying to access the Instances tab in the System panel in Horizon, returns this error message every time:

Error: Unable to get instance list: The server has either erred or is incapable of performing the requested operation.

In the nova-api log file, you can see the root cause of the problem:

2011-12-03 16:30:46,864 DEBUG nova.api.openstack.common [-] Generated ACTIVE from vm_state=active task_state=None. from (pid=3976) status_from_state /opt/stack/nova/nova/api/openstack/common.py:92
2011-12-03 16:30:46,864 DEBUG nova.api.openstack.common [-] Generated ACTIVE from vm_state=active task_state=None. from (pid=3976) status_from_state /opt/stack/nova/nova/api/openstack/common.py:92
2011-12-03 16:30:46,864 DEBUG nova.api.openstack.common [-] Generated ACTIVE from vm_state=active task_state=None. from (pid=3976) status_from_state /opt/stack/nova/nova/api/openstack/common.py:92
2011-12-03 16:30:46,867 ERROR nova.api.openstack.v2 [-] Caught error: '4d46fcff-5b5e-4ca3-baa3-fe4ab54e1ee7'
(nova.api.openstack.v2): TRACE: Traceback (most recent call last):
(nova.api.openstack.v2): TRACE: File "/opt/stack/nova/nova/api/openstack/v2/__init__.py", line 61, in __call__
(nova.api.openstack.v2): TRACE: return req.get_response(self.application)
(nova.api.openstack.v2): TRACE: File "/usr/lib/python2.7/dist-packages/webob/request.py", line 1053, in get_response
(nova.api.openstack.v2): TRACE: application, catch_exc_info=False)
(nova.api.openstack.v2): TRACE: File "/usr/lib/python2.7/dist-packages/webob/request.py", line 1022, in call_application
(nova.api.openstack.v2): TRACE: app_iter = application(self.environ, start_response)
(nova.api.openstack.v2): TRACE: File "/opt/stack/keystone/keystone/middleware/auth_token.py", line 212, in __call__
(nova.api.openstack.v2): TRACE: return self._forward_request(env, start_response, proxy_headers)
(nova.api.openstack.v2): TRACE: File "/opt/stack/keystone/keystone/middleware/auth_token.py", line 344, in _forward_request
(nova.api.openstack.v2): TRACE: return self.app(env, start_response)
(nova.api.openstack.v2): TRACE: File "/usr/lib/python2.7/dist-packages/webob/dec.py", line 159, in __call__
(nova.api.openstack.v2): TRACE: return resp(environ, start_response)
(nova.api.openstack.v2): TRACE: File "/usr/lib/python2.7/dist-packages/webob/dec.py", line 147, in __call__
(nova.api.openstack.v2): TRACE: resp = self.call_func(req, *args, **self.kwargs)
(nova.api.openstack.v2): TRACE: File "/usr/lib/python2.7/dist-packages/webob/dec.py", line 208, in call_func
(nova.api.openstack.v2): TRACE: return self.func(req, *args, **kwargs)
(nova.api.openstack.v2): TRACE: File "/opt/stack/nova/nova/api/openstack/wsgi.py", line 499, in __call__
(nova.api.openstack.v2): TRACE: response = req.get_response(self.application)
(nova.api.openstack.v2): TRACE: File "/usr/lib/python2.7/dist-packages/webob/request.py", line 1053, in get_response
(nova.api.openstack.v2): TRACE: application, catch_exc_info=False)
(nova.api.openstack.v2): TRACE: File "/usr/lib/python2.7/dist-packages/webob/request.py", line 1022, in call_application
(nova.api.openstack.v2): TRACE: app_iter = application(self.environ, start_response)
(nova.api.openstack.v2): TRACE: File "/usr/lib/python2.7/dist-packages/webob/dec.py", line 159, in __call__
(nova.api.openstack.v2): TRACE: return resp(environ, start_response)
(nova.api.openstack.v2): TRACE: File "/usr/lib/pymodules/python2.7/routes/middleware.py", line 131, in __call__
(nova.api.openstack.v2): TRACE: response = self.app(environ, start_response)
(nova.api.openstack.v2): TRACE: File "/usr/lib/python2.7/dist-packages/webob/dec.py", line 159, in __call__
(nova.api.openstack.v2): TRACE: return resp(environ, start_response)
(nova.api.openstack.v2): TRACE: File "/usr/lib/python2.7/dist-packages/webob/dec.py", line 147, in __call__
(nova.api.openstack.v2): TRACE: resp = self.call_func(req, *args, **self.kwargs)
(nova.api.openstack.v2): TRACE: File "/usr/lib/python2.7/dist-packages/webob/dec.py", line 208, in call_func
(nova.api.openstack.v2): TRACE: return self.func(req, *args, **kwargs)
(nova.api.openstack.v2): TRACE: File "/opt/stack/nova/nova/api/openstack/wsgi.py", line 567, in __call__
(nova.api.openstack.v2): TRACE: action_result = self.dispatch(request, action, args)
(nova.api.openstack.v2): TRACE: File "/opt/stack/nova/nova/api/openstack/wsgi.py", line 599, in dispatch
(nova.api.openstack.v2): TRACE: return controller_method(req=request, **action_args)
(nova.api.openstack.v2): TRACE: File "/opt/stack/openstackx/extensions/admin.py", line 223, in index
(nova.api.openstack.v2): TRACE: s['attrs'] = self._build_extended_attributes(instance_map[s['id']])
(nova.api.openstack.v2): TRACE: KeyError: '4d46fcff-5b5e-4ca3-baa3-fe4ab54e1ee7'

I believe the openstackx admin extension may need to be updated to use the UUID and not the ID?

Revision history for this message
Thierry Carrez (ttx) wrote :

What Horizon version is this ? For Essex they migrated away from openstackx, so maybe we should just get rid of it ?

Changed in nova:
status: New → Incomplete
Revision history for this message
Thierry Carrez (ttx) wrote :

@Jay: is this still relevant in post-openstackx world ?

Revision history for this message
Jay Pipes (jaypipes) wrote :

No longer seeing this on Diablo or Essex

Changed in nova:
status: Incomplete → Invalid
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.