Custom Search

Friday, May 3, 2013

Horizon Keystone EmptyCatalog The service catalog is empty

Error Log from Horizon
-------------------------------

raise exceptions.EmptyCatalog('The service catalog is empty.')
EmptyCatalog: The service catalog is empty.

Solution
-----------

1)
Your /etc/keystone/keystone.conf file should contain the following lines if it is properly configured to use the database backend.
[catalog]
driver = keystone.catalog.backends.sql.Catalog
     
2)
#cd install_dir/horizon
#source .venv/bin/activate
#export OS_SERVICE_TOKEN="ADMIN"
#export OS_SERVICE_ENDPOINT=http://localhost:35357/v2.0

3)
#keystone service-list

4)
#keystone service-create --name=keystone --type=identity --description="Identity Service"

5)
#keystone service-list

6)
#keystone endpoint-list

7)
#keystone endpoint-create \
 --region RegionOne \
 --service-id=008711821700476984af78121941320e \
 --publicurl=http://localhost:5000/v2.0 \
 --internalurl=http://localhost:5000/v2.0 \
 --adminurl=http://localhost:35357/v2.0

8)
#keystone endpoint-list

9)
#cd install_dir/keystone
#source .venv/bin/activate
#./bin/keystone-all

10)
#cd install_dir/horizon
#source .venv/bin/activate
#python manage.py runserver

11)
*Goto Horizon and try to login again
http://127.0.0.1:8000/auth/login/


Reference link
------------------
http://docs.openstack.org/trunk/openstack-compute/install/yum/content/defining-services.html
http://docs.openstack.org/trunk/openstack-compute/install/yum/content/keystone-service-endpoint-create.html

Complete Error log from Horizon
-------------------------------------------

DEBUG:openstack_auth.backend:Beginning user authentication for user "admin".
ERROR:django.request:Internal Server Error: /auth/login/
Traceback (most recent call last):
  File "/home/saju/ops_manual/horizon/.venv/local/lib/python2.7/site-packages/django/core/handlers/base.py", line 111, in get_response
    response = callback(request, *callback_args, **callback_kwargs)
  File "/home/saju/ops_manual/horizon/.venv/local/lib/python2.7/site-packages/django/views/decorators/debug.py", line 69, in sensitive_post_parameters_wrapper
    return view(request, *args, **kwargs)
  File "/home/saju/ops_manual/horizon/.venv/local/lib/python2.7/site-packages/django/utils/decorators.py", line 91, in _wrapped_view
    response = view_func(request, *args, **kwargs)
  File "/home/saju/ops_manual/horizon/.venv/local/lib/python2.7/site-packages/django/views/decorators/cache.py", line 89, in _wrapped_view_func
    response = view_func(request, *args, **kwargs)
  File "/home/saju/ops_manual/horizon/.venv/local/lib/python2.7/site-packages/openstack_auth/views.py", line 60, in login
    extra_context=extra_context)
  File "/home/saju/ops_manual/horizon/.venv/local/lib/python2.7/site-packages/django/views/decorators/debug.py", line 69, in sensitive_post_parameters_wrapper
    return view(request, *args, **kwargs)
  File "/home/saju/ops_manual/horizon/.venv/local/lib/python2.7/site-packages/django/utils/decorators.py", line 91, in _wrapped_view
    response = view_func(request, *args, **kwargs)
  File "/home/saju/ops_manual/horizon/.venv/local/lib/python2.7/site-packages/django/views/decorators/cache.py", line 89, in _wrapped_view_func
    response = view_func(request, *args, **kwargs)
  File "/home/saju/ops_manual/horizon/.venv/local/lib/python2.7/site-packages/django/contrib/auth/views.py", line 36, in login
    if form.is_valid():
  File "/home/saju/ops_manual/horizon/.venv/local/lib/python2.7/site-packages/django/forms/forms.py", line 124, in is_valid
    return self.is_bound and not bool(self.errors)
  File "/home/saju/ops_manual/horizon/.venv/local/lib/python2.7/site-packages/django/forms/forms.py", line 115, in _get_errors
    self.full_clean()
  File "/home/saju/ops_manual/horizon/.venv/local/lib/python2.7/site-packages/django/forms/forms.py", line 271, in full_clean
    self._clean_form()
  File "/home/saju/ops_manual/horizon/.venv/local/lib/python2.7/site-packages/django/forms/forms.py", line 299, in _clean_form
    self.cleaned_data = self.clean()
  File "/home/saju/ops_manual/horizon/.venv/local/lib/python2.7/site-packages/django/views/decorators/debug.py", line 34, in sensitive_variables_wrapper
    return func(*args, **kwargs)
  File "/home/saju/ops_manual/horizon/.venv/local/lib/python2.7/site-packages/openstack_auth/forms.py", line 57, in clean
    auth_url=region)
  File "/home/saju/ops_manual/horizon/.venv/local/lib/python2.7/site-packages/django/contrib/auth/__init__.py", line 45, in authenticate
    user = backend.authenticate(**credentials)
  File "/home/saju/ops_manual/horizon/.venv/local/lib/python2.7/site-packages/openstack_auth/backend.py", line 128, in authenticate
    client.service_catalog.url_for())
  File "/home/saju/ops_manual/horizon/.venv/local/lib/python2.7/site-packages/keystoneclient/service_catalog.py", line 66, in url_for
    raise exceptions.EmptyCatalog('The service catalog is empty.')
EmptyCatalog: The service catalog is empty.
[02/May/2013 18:17:19] "POST /auth/login/ HTTP/1.1" 500 172058

1 comment:

  1. http://docs.openstack.org/trunk/openstack-compute/install/yum/content/defining-services.html
    http://docs.openstack.org/trunk/openstack-compute/install/yum/content/keystone-service-endpoint-create.html

    ReplyDelete