Horizon requirements

Asked by Mehmet Hacısalihoğlu

Hİ,

I want to work horizon services for only swift. and I don't want to install nova and keystone and glance. What can I do for horizon config?

Question information

Language:
English Edit question
Status:
Solved
For:
OpenStack Dashboard (Horizon) Edit question
Assignee:
No assignee Edit question
Solved by:
Rob Raymond
Solved:
Last query:
Last reply:
Revision history for this message
Matthias Runge (mrunge) said :
#1

Horizon requires esp. keystone to work; the same applies to nova, and probably also to glance. Sorry.

Revision history for this message
Mehmet Hacısalihoğlu (esedmehmet) said :
#2

I understand your response, I just only need to install the keystone for horizon.

Revision history for this message
Matthias Runge (mrunge) said :
#3

... and nova

Revision history for this message
David Lyle (david-lyle) said :
#4

If you are up for making some minor modifications to horizon, you can make it work without nova. First update your default panel to the swift panel in local_settings.py. Then modify all the panels in the dashboards that pertain to anything other than identity or swift panel.py not to register.. Then you have an identity and swift only horizon.

Revision history for this message
Mehmet Hacısalihoğlu (esedmehmet) said :
#5

Can you explain in detail?

Revision history for this message
Best Rob Raymond (rob-raymond) said :
#6

Here are the steps I would do.

Most of this can be done by changing openstack_dashboard/dashboard/projects/dashboard.py

This is where all of the panels are registered in the projects dashboard. Remove every panel group
except ObjectStorePanels from the panels list in the Project class.
Change default_panel in the Project class to be "object_store" rather than "overview"

You can do a similar change in the admin dashboard in openstack_dashboard/dashboard/admin/dashboard.py
In this case keep only the IdentityPanels in the panels list and change the default_panel to be one of the panels in the
IdentityPanels list.

Hope that helps.

Revision history for this message
Mehmet Hacısalihoğlu (esedmehmet) said :
#7

Thanks Rob Raymond, that solved my question.

Revision history for this message
Anand TS (ts-anand) said :
#8

Is that mandatory to have overview and instances in panel list in dashboard.py. other panels images, volumes etc are removed without any problem.I'm getting internal server error if I remove instances and overview from the panel.
 I want to get only object store in my horizon dashboard.

Revision history for this message
Jeff Silverman (jeffsilverm) said :
#9

I think I might be having the same problem. The problem I am having is that I don't know what connection is being refused.

[Wed Jul 30 22:15:38 2014] [error] DeprecationWarning: Translations in the project directory aren't supported anymore. Use the LOCALE_PATHS setting instead.DeprecationWarning: Authentication backends without a `supports_inactive_user` attribute are deprecated. Please define it in <class 'openstack_auth.backend.KeystoneBackend'>.Login successful for user "jeff".
[Wed Jul 30 22:15:39 2014] [error] Internal Server Error: /dashboard/admin/
[Wed Jul 30 22:15:39 2014] [error] Traceback (most recent call last):
[Wed Jul 30 22:15:39 2014] [error] File "/usr/lib/python2.6/site-packages/django/core/handlers/base.py", line 109, in get_response
[Wed Jul 30 22:15:39 2014] [error] response = callback(request, *callback_args, **callback_kwargs)
[Wed Jul 30 22:15:39 2014] [error] File "/usr/lib/python2.6/site-packages/horizon/decorators.py", line 38, in dec
[Wed Jul 30 22:15:39 2014] [error] return view_func(request, *args, **kwargs)
[Wed Jul 30 22:15:39 2014] [error] File "/usr/lib/python2.6/site-packages/horizon/decorators.py", line 86, in dec
[Wed Jul 30 22:15:39 2014] [error] return view_func(request, *args, **kwargs)
[Wed Jul 30 22:15:39 2014] [error] File "/usr/lib/python2.6/site-packages/horizon/decorators.py", line 54, in dec
[Wed Jul 30 22:15:39 2014] [error] return view_func(request, *args, **kwargs)
[Wed Jul 30 22:15:39 2014] [error] File "/usr/lib/python2.6/site-packages/horizon/decorators.py", line 38, in dec
[Wed Jul 30 22:15:39 2014] [error] return view_func(request, *args, **kwargs)
[Wed Jul 30 22:15:39 2014] [error] File "/usr/lib/python2.6/site-packages/horizon/decorators.py", line 86, in dec
[Wed Jul 30 22:15:39 2014] [error] return view_func(request, *args, **kwargs)
[Wed Jul 30 22:15:39 2014] [error] File "/usr/lib/python2.6/site-packages/django/views/generic/base.py", line 48, in view
[Wed Jul 30 22:15:39 2014] [error] return self.dispatch(request, *args, **kwargs)
[Wed Jul 30 22:15:39 2014] [error] File "/usr/lib/python2.6/site-packages/django/views/generic/base.py", line 69, in dispatch
[Wed Jul 30 22:15:39 2014] [error] return handler(request, *args, **kwargs)
[Wed Jul 30 22:15:39 2014] [error] File "/usr/lib/python2.6/site-packages/horizon/tables/views.py", line 154, in get
[Wed Jul 30 22:15:39 2014] [error] handled = self.construct_tables()
[Wed Jul 30 22:15:39 2014] [error] File "/usr/lib/python2.6/site-packages/horizon/tables/views.py", line 145, in construct_tables
[Wed Jul 30 22:15:39 2014] [error] handled = self.handle_table(table)
[Wed Jul 30 22:15:39 2014] [error] File "/usr/lib/python2.6/site-packages/horizon/tables/views.py", line 118, in handle_table
[Wed Jul 30 22:15:39 2014] [error] data = self._get_data_dict()
[Wed Jul 30 22:15:39 2014] [error] File "/usr/lib/python2.6/site-packages/horizon/tables/views.py", line 181, in _get_data_dict
[Wed Jul 30 22:15:39 2014] [error] self._data = {self.table_class._meta.name: self.get_data()}
[Wed Jul 30 22:15:39 2014] [error] File "/usr/share/openstack-dashboard/openstack_dashboard/wsgi/../../openstack_dashboard/dashboards/admin/overview/views.py", line 60, in get_data
[Wed Jul 30 22:15:39 2014] [error] data = super(GlobalOverview, self).get_data()
[Wed Jul 30 22:15:39 2014] [error] File "/usr/share/openstack-dashboard/openstack_dashboard/wsgi/../../openstack_dashboard/usage/views.py", line 43, in get_data
[Wed Jul 30 22:15:39 2014] [error] self.usage.summarize(*self.usage.get_date_range())
[Wed Jul 30 22:15:39 2014] [error] File "/usr/share/openstack-dashboard/openstack_dashboard/wsgi/../../openstack_dashboard/usage/base.py", line 200, in summarize
[Wed Jul 30 22:15:39 2014] [error] if not api.nova.extension_supported('SimpleTenantUsage', self.request):
[Wed Jul 30 22:15:39 2014] [error] File "/usr/lib/python2.6/site-packages/horizon/utils/memoized.py", line 90, in wrapped
[Wed Jul 30 22:15:39 2014] [error] value = cache[key] = func(*args, **kwargs)
[Wed Jul 30 22:15:39 2014] [error] File "/usr/share/openstack-dashboard/openstack_dashboard/wsgi/../../openstack_dashboard/api/nova.py", line 752, in extension_supported
[Wed Jul 30 22:15:39 2014] [error] extensions = list_extensions(request)
[Wed Jul 30 22:15:39 2014] [error] File "/usr/lib/python2.6/site-packages/horizon/utils/memoized.py", line 90, in wrapped
[Wed Jul 30 22:15:39 2014] [error] value = cache[key] = func(*args, **kwargs)
[Wed Jul 30 22:15:39 2014] [error] File "/usr/share/openstack-dashboard/openstack_dashboard/wsgi/../../openstack_dashboard/api/nova.py", line 743, in list_extensions
[Wed Jul 30 22:15:39 2014] [error] return nova_list_extensions.ListExtManager(novaclient(request)).show_all()
[Wed Jul 30 22:15:39 2014] [error] File "/usr/lib/python2.6/site-packages/novaclient/v1_1/contrib/list_extensions.py", line 37, in show_all
[Wed Jul 30 22:15:39 2014] [error] return self._list("/extensions", 'extensions')
[Wed Jul 30 22:15:39 2014] [error] File "/usr/lib/python2.6/site-packages/novaclient/base.py", line 64, in _list
[Wed Jul 30 22:15:39 2014] [error] _resp, body = self.api.client.get(url)
[Wed Jul 30 22:15:39 2014] [error] File "/usr/lib/python2.6/site-packages/novaclient/client.py", line 309, in get
[Wed Jul 30 22:15:39 2014] [error] return self._cs_request(url, 'GET', **kwargs)
[Wed Jul 30 22:15:39 2014] [error] File "/usr/lib/python2.6/site-packages/novaclient/client.py", line 286, in _cs_request
[Wed Jul 30 22:15:39 2014] [error] **kwargs)
[Wed Jul 30 22:15:39 2014] [error] File "/usr/lib/python2.6/site-packages/novaclient/client.py", line 268, in _time_request
[Wed Jul 30 22:15:39 2014] [error] resp, body = self.request(url, method, **kwargs)
[Wed Jul 30 22:15:39 2014] [error] File "/usr/lib/python2.6/site-packages/novaclient/client.py", line 239, in request
[Wed Jul 30 22:15:39 2014] [error] **kwargs)
[Wed Jul 30 22:15:39 2014] [error] File "/usr/lib/python2.6/site-packages/requests/api.py", line 44, in request
[Wed Jul 30 22:15:39 2014] [error] return session.request(method=method, url=url, **kwargs)
[Wed Jul 30 22:15:39 2014] [error] File "/usr/lib/python2.6/site-packages/requests/sessions.py", line 279, in request
[Wed Jul 30 22:15:39 2014] [error] resp = self.send(prep, stream=stream, timeout=timeout, verify=verify, cert=cert, proxies=proxies)
[Wed Jul 30 22:15:39 2014] [error] File "/usr/lib/python2.6/site-packages/requests/sessions.py", line 374, in send
[Wed Jul 30 22:15:39 2014] [error] r = adapter.send(request, **kwargs)
[Wed Jul 30 22:15:39 2014] [error] File "/usr/lib/python2.6/site-packages/requests/adapters.py", line 206, in send
[Wed Jul 30 22:15:39 2014] [error] raise ConnectionError(sockerr)
[Wed Jul 30 22:15:39 2014] [error] ConnectionError: [Errno 111] Connection refused

What I would like to do is either run the pdb debugger or else add a print statement in adapters.py to isolate the problem further, but I'm not sure exactly what the code is doing, and where would the output of the print statement go?

Thank you

Jeff Silverman

Revision history for this message
Matthias Runge (mrunge) said :
#10

Jeff, I'm not really sure, if your issue is solved by not using keystone, nova, etc. like the original poster said.

In your case, I'd check if neutron is running and reachable

Revision history for this message
Julie Pichon (jpichon) said :
#11

The Nova client is failing so it looks like it's Nova that can't be reached. Check that the service is up and running, firewall ports open etc so that the Horizon machine can communicate with the nova server.