Overcloud Horizon yields HTTP/500
Issue
- I've followed instructions from this document to perform an OpenStack installation (Scenario 1: Using the Web UI to Create a Test Overcloud). After installation, I'm unable to access Overcloud's Horizon as it yields HTTP/500. Looking at Horizon's logs, this is what I see:
2015-09-24 12:43:15,086 5102 WARNING openstack_dashboard.api.cinder Cinder v2 requested but no 'volumev2' service type available in Keystone catalog.
2015-09-24 12:43:15,087 5102 ERROR django.request Internal Server Error: /dashboard/admin/
Traceback (most recent call last):
File "/usr/lib/python2.7/site-packages/django/core/handlers/base.py", line 132, in get_response
response = wrapped_callback(request, *callback_args, **callback_kwargs)
return view_func(request, *args, **kwargs)
File "/usr/lib/python2.7/site-packages/horizon/decorators.py", line 52, in dec
return view_func(request, *args, **kwargs)
File "/usr/lib/python2.7/site-packages/horizon/decorators.py", line 36, in dec
return view_func(request, *args, **kwargs)
File "/usr/lib/python2.7/site-packages/horizon/decorators.py", line 84, in dec
return view_func(request, *args, **kwargs)
File "/usr/lib/python2.7/site-packages/django/views/generic/base.py", line 71, in view
return self.dispatch(request, *args, **kwargs)
File "/usr/lib/python2.7/site-packages/django/views/generic/base.py", line 89, in dispatch
return handler(request, *args, **kwargs)
File "/usr/lib/python2.7/site-packages/horizon/tables/views.py", line 159, in get
handled = self.construct_tables()
File "/usr/lib/python2.7/site-packages/horizon/tables/views.py", line 150, in construct_tables
handled = self.handle_table(table)
File "/usr/lib/python2.7/site-packages/horizon/tables/views.py", line 121, in handle_table
data = self._get_data_dict()
File "/usr/lib/python2.7/site-packages/horizon/tables/views.py", line 187, in _get_data_dict
self._data = {self.table_class._meta.name: self.get_data()}
File "/usr/share/openstack-dashboard/openstack_dashboard/wsgi/../../openstack_dashboard/dashboards/admin/overview/views.py", line 58, in get_data
data = super(GlobalOverview, self).get_data()
File "/usr/share/openstack-dashboard/openstack_dashboard/wsgi/../../openstack_dashboard/usage/views.py", line 55, in get_data
_('Unable to retrieve usage information.'))
File "/usr/lib/python2.7/site-packages/horizon/exceptions.py", line 364, in handle
six.reraise(exc_type, exc_value, exc_traceback)
File "/usr/share/openstack-dashboard/openstack_dashboard/wsgi/../../openstack_dashboard/usage/views.py", line 50, in get_data
self.usage.get_limits()
File "/usr/share/openstack-dashboard/openstack_dashboard/wsgi/../../openstack_dashboard/usage/base.py", line 198, in get_limits
self.get_cinder_limits()
File "/usr/share/openstack-dashboard/openstack_dashboard/wsgi/../../openstack_dashboard/usage/base.py", line 187, in get_cinder_limits
exceptions.handle(self.request, msg)
File "/usr/lib/python2.7/site-packages/horizon/exceptions.py", line 364, in handle
six.reraise(exc_type, exc_value, exc_traceback)
File "/usr/share/openstack-dashboard/openstack_dashboard/wsgi/../../openstack_dashboard/usage/base.py", line 184, in get_cinder_limits
self.limits.update(api.cinder.tenant_absolute_limits(self.request))
File "/usr/lib/python2.7/site-packages/horizon/utils/memoized.py", line 90, in wrapped
value = cache[key] = func(*args, **kwargs)
File "/usr/share/openstack-dashboard/openstack_dashboard/wsgi/../../openstack_dashboard/api/cinder.py", line 547, in tenant_absolute_limits
limits = cinderclient(request).limits.get().absolute
File "/usr/lib/python2.7/site-packages/cinderclient/v2/limits.py", line 91, in get
return self._get("/limits", "limits")
File "/usr/lib/python2.7/site-packages/cinderclient/base.py", line 173, in _get
resp, body = self.api.client.get(url)
File "/usr/lib/python2.7/site-packages/cinderclient/client.py", line 326, in get
return self._cs_request(url, 'GET', **kwargs)
File "/usr/lib/python2.7/site-packages/cinderclient/client.py", line 283, in _cs_request
self.authenticate()
File "/usr/lib/python2.7/site-packages/cinderclient/client.py", line 398, in authenticate
magic_tuple = urlparse.urlsplit(self.auth_url)
File "/usr/lib64/python2.7/urlparse.py", line 181, in urlsplit
i = url.find(':')
AttributeError: 'NoneType' object has no attribute 'find'
- Moreover, it's clear that Keystone has no Cinder V2 service:
$ keystone service-list
/usr/lib/python2.7/site-packages/keystoneclient/shell.py:65: DeprecationWarning: The keystone CLI is deprecated in favor of python-openstackclient. For a Python library, continue using python-keystoneclient.
'python-keystoneclient.', DeprecationWarning)
+----------------------------------+------------+---------------+------------------------------+
| id | name | type | description |
+----------------------------------+------------+---------------+------------------------------+
| 49b78465580e416c82440351204f8a42 | ceilometer | metering | Ceilometer Service |
| e04db1c022f04001ad449ff47b67fe74 | cinder | volume | Cinder Volume Service |
| c42694824e654cb4a932e0621ce5bb72 | ec2 | ec2 | EC2 Compatibility Layer |
| 20afb39dbfc54029b69bcff3cdaa6f74 | glance | image | Glance Image Service |
| b66b45d5edfe4a4883664a1310b1aad6 | heat | orchestration | Heat Service |
| d89e7d944a0c4afb81fae454878a4f84 | horizon | dashboard | OpenStack Dashboard |
| 10d1c600ff08412cb1e940df0f91777c | keystone | identity | Keystone Identity Service |
| 2349903d20ea4657a959404c53dc0d67 | neutron | network | Neutron Service |
| 5c54d73efb7241338ea1bfce59f422f3 | nova | computev3 | Nova Compute Service v3 |
| bb3c31cc49604263ae59e365e9dbf594 | nova | compute | Nova Compute Service |
| c8b968b044ac441c9763597a9f594797 | swift | object-store | Swift Object Storage Service |
+----------------------------------+------------+---------------+------------------------------+
Environment
Red Hat OpenStack 7.0
Subscriber exclusive content
A Red Hat subscription provides unlimited access to our knowledgebase, tools, and much more.