openstack team mailing list archive
-
openstack team
-
Mailing list archive
-
Message #18534
Re: Essex Dashboard: KeyError at /nova/instances_and_volumes/
That is actually the manifestation of a bug in Nova that was addressed very late in Folsom. The short version is that Nova inconsistently scoped the ownership of volumes vs. instances so it was possible for an admin user to view a mixed set of resources which could lead to the scenario you hit where things are in one list but not the other. I'm not sure if there's any plans to backport the fixes from Nova. A patch could probably be worked up for the stable/essex Horizon branch that would avoid the keyerror (see the state of that code in Folsom: https://github.com/openstack/horizon/blob/stable/folsom/horizon/dashboards/nova/volumes/views.py#L68 ), but it would be papering over what is inherently a broken situation in Nova.
My advice from back in the Essex days was that you should be wary of using an "admin" user in the "Project" dashboard since the underlying APIs didn't handle it correctly.
Alternatively, the Folsom Horizon release is actually backwards-compatible to an Essex stack, so you could try running Folsom Horizon which is less subject to many issues.
Hope one of these suggestions helps!
- Gabriel
From: openstack-bounces+gabriel.hurley=nebula.com@xxxxxxxxxxxxxxxxxxx [mailto:openstack-bounces+gabriel.hurley=nebula.com@xxxxxxxxxxxxxxxxxxx] On Behalf Of Christian Parpart
Sent: Monday, November 12, 2012 3:37 AM
To: <openstack@xxxxxxxxxxxxxxxxxxx>
Subject: [Openstack] Essex Dashboard: KeyError at /nova/instances_and_volumes/
Hey all,
since quite some weeks I am getting an error page instead of the "Instances and Volumes" page in the
Essex Horizon Dashboard with the above title and the below detailed error output:
Environment:
Request Method: GET
Request URL: http://controller.rz.dawanda.com/nova/instances_and_volumes/
Django Version: 1.3.1
Python Version: 2.7.3
Installed Applications:
['openstack_dashboard',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
'django_nose',
'horizon',
'horizon.dashboards.nova',
'horizon.dashboards.syspanel',
'horizon.dashboards.settings']
Installed Middleware:
('django.middleware.common.CommonMiddleware',
'django.middleware.csrf.CsrfViewMiddleware',
'django.contrib.sessions.middleware.SessionMiddleware',
'django.contrib.messages.middleware.MessageMiddleware',
'openstack_dashboard.middleware.DashboardLogUnhandledExceptionsMiddleware',
'horizon.middleware.HorizonMiddleware',
'django.middleware.doc.XViewMiddleware',
'django.middleware.locale.LocaleMiddleware')
Traceback:
File "/usr/lib/python2.7/dist-packages/django/core/handlers/base.py" in get_response
111. response = callback(request, *callback_args, **callback_kwargs)
File "/usr/lib/python2.7/dist-packages/horizon/decorators.py" in dec
40. return view_func(request, *args, **kwargs)
File "/usr/lib/python2.7/dist-packages/horizon/decorators.py" in dec
55. return view_func(request, *args, **kwargs)
File "/usr/lib/python2.7/dist-packages/horizon/decorators.py" in dec
40. return view_func(request, *args, **kwargs)
File "/usr/lib/python2.7/dist-packages/django/views/generic/base.py" in view
47. return self.dispatch(request, *args, **kwargs)
File "/usr/lib/python2.7/dist-packages/django/views/generic/base.py" in dispatch
68. return handler(request, *args, **kwargs)
File "/usr/lib/python2.7/dist-packages/horizon/tables/views.py" in get
105. handled = self.construct_tables()
File "/usr/lib/python2.7/dist-packages/horizon/tables/views.py" in construct_tables
96. handled = self.handle_table(table)
File "/usr/lib/python2.7/dist-packages/horizon/tables/views.py" in handle_table
68. data = self._get_data_dict()
File "/usr/lib/python2.7/dist-packages/horizon/tables/views.py" in _get_data_dict
37. self._data[table._meta.name<http://meta.name>] = data_func()
File "/usr/lib/python2.7/dist-packages/horizon/dashboards/nova/instances_and_volumes/views.py" in get_volumes_data
74. att['instance'] = instances[att['server_id']]
Exception Type: KeyError at /nova/instances_and_volumes/
Exception Value: u'8aa2989e-85ea-4975-b81b-04d06dbf8013'
----------------------------------------------------------------------------------------------------------------------------
now I wonder in how far that is a bug in the software and/or whether I have an invalid entry in my nova database that
I can fix by hand.
if so, does anyone know how to actually work around this? I do really need this (now not working) page :-)
Regards,
Christian Parpart.
Follow ups
References