← Back to team overview

yahoo-eng-team team mailing list archive

[Bug 1498403] [NEW] fatal python dump if browsing /project/access_and_security/ without nova installed

 

Public bug reported:

Hi there!

I perfectly know that Nova is a required component for Horizon, however,
for all pages, if only Keystone is installed (ie: Nova isn't), there's
only a RED error message on the top-right of the web page, saying that
compute isn't installed. However, going to /project/access_and_security/
generates a python dump:

Traceback:
File "/usr/lib/python2.7/dist-packages/django/core/handlers/base.py" in get_response
  111.                     response = wrapped_callback(request, *callback_args, **callback_kwargs)
File "/usr/lib/python2.7/dist-packages/horizon/decorators.py" in dec
  36.         return view_func(request, *args, **kwargs)
File "/usr/lib/python2.7/dist-packages/horizon/decorators.py" in dec
  52.             return view_func(request, *args, **kwargs)
File "/usr/lib/python2.7/dist-packages/horizon/decorators.py" in dec
  36.         return view_func(request, *args, **kwargs)
File "/usr/lib/python2.7/dist-packages/django/views/generic/base.py" in view
  69.             return self.dispatch(request, *args, **kwargs)
File "/usr/lib/python2.7/dist-packages/django/views/generic/base.py" in dispatch
  87.         return handler(request, *args, **kwargs)
File "/usr/lib/python2.7/dist-packages/horizon/tabs/views.py" in get
  127.         self.load_tabs()
File "/usr/lib/python2.7/dist-packages/horizon/tabs/views.py" in load_tabs
  97.         tab_group = self.get_tabs(self.request, **self.kwargs)
File "/usr/lib/python2.7/dist-packages/horizon/tabs/views.py" in get_tabs
  44.             self._tab_group = self.tab_group_class(request, **kwargs)
File "/usr/lib/python2.7/dist-packages/horizon/tabs/base.py" in __init__
  110.             tab_instances.append((tab.slug, tab(self, request)))
File "/usr/lib/python2.7/dist-packages/horizon/tabs/base.py" in __init__
  422.         super(TableTab, self).__init__(tab_group, request)
File "/usr/lib/python2.7/dist-packages/horizon/tabs/base.py" in __init__
  272.             self._allowed = self.allowed(request) and (
File "/usr/share/openstack-dashboard/openstack_dashboard/wsgi/../../openstack_dashboard/dashboards/project/access_and_security/tabs.py" in allowed
  123.         return network.floating_ip_supported(request)
File "/usr/share/openstack-dashboard/openstack_dashboard/wsgi/../../openstack_dashboard/api/network.py" in floating_ip_supported
  91.     return NetworkClient(request).floating_ips.is_supported()
File "/usr/share/openstack-dashboard/openstack_dashboard/wsgi/../../openstack_dashboard/api/network.py" in __init__
  34.             self.floating_ips = nova.FloatingIpManager(request)
File "/usr/share/openstack-dashboard/openstack_dashboard/wsgi/../../openstack_dashboard/api/nova.py" in __init__
  398.         self.client = novaclient(request)
File "/usr/lib/python2.7/dist-packages/horizon/utils/memoized.py" in wrapped
  90.             value = cache[key] = func(*args, **kwargs)
File "/usr/share/openstack-dashboard/openstack_dashboard/wsgi/../../openstack_dashboard/api/nova.py" in novaclient
  451.                            auth_url=base.url_for(request, 'compute'),
File "/usr/share/openstack-dashboard/openstack_dashboard/wsgi/../../openstack_dashboard/api/base.py" in url_for
  325.     raise exceptions.ServiceCatalogException(service_type)

Exception Type: ServiceCatalogException at /project/access_and_security/
Exception Value: Invalid service catalog service: compute

It'd be nice to have this page error out in a more nicer way. As Mathias
pointed out on IRC, some people are using Horizon for a Swift only
install.

It's fine to have this bug having a lower type of priority, however,
it'd be too bad to just forget about it. :)

** Affects: horizon
     Importance: Undecided
         Status: New

-- 
You received this bug notification because you are a member of Yahoo!
Engineering Team, which is subscribed to OpenStack Dashboard (Horizon).
https://bugs.launchpad.net/bugs/1498403

Title:
  fatal python dump if browsing /project/access_and_security/ without
  nova installed

Status in OpenStack Dashboard (Horizon):
  New

Bug description:
  Hi there!

  I perfectly know that Nova is a required component for Horizon,
  however, for all pages, if only Keystone is installed (ie: Nova
  isn't), there's only a RED error message on the top-right of the web
  page, saying that compute isn't installed. However, going to
  /project/access_and_security/ generates a python dump:

  Traceback:
  File "/usr/lib/python2.7/dist-packages/django/core/handlers/base.py" in get_response
    111.                     response = wrapped_callback(request, *callback_args, **callback_kwargs)
  File "/usr/lib/python2.7/dist-packages/horizon/decorators.py" in dec
    36.         return view_func(request, *args, **kwargs)
  File "/usr/lib/python2.7/dist-packages/horizon/decorators.py" in dec
    52.             return view_func(request, *args, **kwargs)
  File "/usr/lib/python2.7/dist-packages/horizon/decorators.py" in dec
    36.         return view_func(request, *args, **kwargs)
  File "/usr/lib/python2.7/dist-packages/django/views/generic/base.py" in view
    69.             return self.dispatch(request, *args, **kwargs)
  File "/usr/lib/python2.7/dist-packages/django/views/generic/base.py" in dispatch
    87.         return handler(request, *args, **kwargs)
  File "/usr/lib/python2.7/dist-packages/horizon/tabs/views.py" in get
    127.         self.load_tabs()
  File "/usr/lib/python2.7/dist-packages/horizon/tabs/views.py" in load_tabs
    97.         tab_group = self.get_tabs(self.request, **self.kwargs)
  File "/usr/lib/python2.7/dist-packages/horizon/tabs/views.py" in get_tabs
    44.             self._tab_group = self.tab_group_class(request, **kwargs)
  File "/usr/lib/python2.7/dist-packages/horizon/tabs/base.py" in __init__
    110.             tab_instances.append((tab.slug, tab(self, request)))
  File "/usr/lib/python2.7/dist-packages/horizon/tabs/base.py" in __init__
    422.         super(TableTab, self).__init__(tab_group, request)
  File "/usr/lib/python2.7/dist-packages/horizon/tabs/base.py" in __init__
    272.             self._allowed = self.allowed(request) and (
  File "/usr/share/openstack-dashboard/openstack_dashboard/wsgi/../../openstack_dashboard/dashboards/project/access_and_security/tabs.py" in allowed
    123.         return network.floating_ip_supported(request)
  File "/usr/share/openstack-dashboard/openstack_dashboard/wsgi/../../openstack_dashboard/api/network.py" in floating_ip_supported
    91.     return NetworkClient(request).floating_ips.is_supported()
  File "/usr/share/openstack-dashboard/openstack_dashboard/wsgi/../../openstack_dashboard/api/network.py" in __init__
    34.             self.floating_ips = nova.FloatingIpManager(request)
  File "/usr/share/openstack-dashboard/openstack_dashboard/wsgi/../../openstack_dashboard/api/nova.py" in __init__
    398.         self.client = novaclient(request)
  File "/usr/lib/python2.7/dist-packages/horizon/utils/memoized.py" in wrapped
    90.             value = cache[key] = func(*args, **kwargs)
  File "/usr/share/openstack-dashboard/openstack_dashboard/wsgi/../../openstack_dashboard/api/nova.py" in novaclient
    451.                            auth_url=base.url_for(request, 'compute'),
  File "/usr/share/openstack-dashboard/openstack_dashboard/wsgi/../../openstack_dashboard/api/base.py" in url_for
    325.     raise exceptions.ServiceCatalogException(service_type)

  Exception Type: ServiceCatalogException at /project/access_and_security/
  Exception Value: Invalid service catalog service: compute

  It'd be nice to have this page error out in a more nicer way. As
  Mathias pointed out on IRC, some people are using Horizon for a Swift
  only install.

  It's fine to have this bug having a lower type of priority, however,
  it'd be too bad to just forget about it. :)

To manage notifications about this bug go to:
https://bugs.launchpad.net/horizon/+bug/1498403/+subscriptions


Follow ups