Bug 1266006 - dashboard fails to display network_topology
Summary: dashboard fails to display network_topology
Keywords:
Status: CLOSED WORKSFORME
Alias: None
Product: Red Hat OpenStack
Classification: Red Hat
Component: python-django-horizon
Version: 7.0 (Kilo)
Hardware: All
OS: Linux
unspecified
medium
Target Milestone: ---
: 7.0 (Kilo)
Assignee: Matthias Runge
QA Contact: Ido Ovadia
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2015-09-24 09:45 UTC by Jaison Raju
Modified: 2019-08-15 05:30 UTC (History)
5 users (show)

Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Clone Of:
Environment:
Last Closed: 2015-10-30 04:49:52 UTC
Target Upstream Version:
Embargoed:


Attachments (Terms of Use)

Description Jaison Raju 2015-09-24 09:45:08 UTC
Description of problem:

Network_topology page fails to load + Dashboard logs "ERROR: Unable to retrieve volume limit information" . ( #39 #40 )
I notice the following error indicating possible issue with cinder api . 

2015-09-17 14:48:24,572 10838 WARNING horizon.exceptions Recoverable error: Unable to establish connection: ('Connection aborted.', error(113, 'No route to host'))
2015-09-17 14:49:21,939 10839 WARNING horizon.exceptions Recoverable error: Unable to establish connection: ('Connection aborted.', error(113, 'No route to host'))
2015-09-17 14:49:21,978 10839 WARNING horizon.exceptions Recoverable error: Unable to establish connection: ('Connection aborted.', error(113, 'No route to host'))
2015-09-17 14:49:22,009 10839 ERROR horizon.tables.base Error while checking action permissions.
Traceback (most recent call last):
  File "/usr/lib/python2.7/site-packages/horizon/tables/base.py", line 1260, in _filter_action
    return action._allowed(request, datum) and row_matched
  File "/usr/lib/python2.7/site-packages/horizon/tables/actions.py", line 136, in _allowed
    self.allowed(request, datum))
  File "/usr/share/openstack-dashboard/openstack_dashboard/wsgi/../../openstack_dashboard/dashboards/project/volumes/volumes/tables.py", line 108, in allowed
    limits = api.cinder.tenant_absolute_limits(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 314, in _cs_request
    raise exceptions.ConnectionError(msg)
ConnectionError: Unable to establish connection: ('Connection aborted.', error(113, 'No route to host'))

2015-09-17 14:50:21,075 10839 ERROR django.request Internal Server Error: /dashboard/project/network_topology/
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)
  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 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/django/views/generic/base.py", line 158, in get
    context = self.get_context_data(**kwargs)
  File "/usr/share/openstack-dashboard/openstack_dashboard/wsgi/../../openstack_dashboard/dashboards/project/network_topology/views.py", line 123, in get_context_data
    context['instance_quota_exceeded'] = self._quota_exceeded('instances')
  File "/usr/share/openstack-dashboard/openstack_dashboard/wsgi/../../openstack_dashboard/dashboards/project/network_topology/views.py", line 113, in _quota_exceeded
    usages = quotas.tenant_quota_usages(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/usage/quotas.py", line 349, in tenant_quota_usages
    tenant_id=tenant_id):
  File "/usr/share/openstack-dashboard/openstack_dashboard/wsgi/../../openstack_dashboard/usage/quotas.py", line 165, in get_tenant_quota_data
    tenant_id=tenant_id)
  File "/usr/share/openstack-dashboard/openstack_dashboard/wsgi/../../openstack_dashboard/usage/quotas.py", line 147, in _get_quota_data
    quotasets.append(getattr(cinder, method_name)(request, tenant_id))
  File "/usr/share/openstack-dashboard/openstack_dashboard/wsgi/../../openstack_dashboard/api/cinder.py", line 409, in tenant_quota_get
    return base.QuotaSet(c_client.quotas.get(tenant_id))
  File "/usr/lib/python2.7/site-packages/cinderclient/v2/quotas.py", line 37, in get
    "quota_set")
  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 314, in _cs_request
    raise exceptions.ConnectionError(msg)
ConnectionError: Unable to establish connection: ('Connection aborted.', error(113, 'No route to host'))

We had added cinder v2 endpoint since it was missing earlier .
Also the cinderclient commands work well while using v1 .

PFA: Command & output of service/endpoint list . 
     cinderclient output .
      Screenshot of the errors noticed on dash board

Version-Release number of selected component (if applicable):
RHOS7
Director

How reproducible:
No

Steps to Reproduce:
1.
2.
3.

Actual results:


Expected results:
network_toplogy page accessible & no cinder volume errors noticed .

Additional info:

Comment 12 Jaison Raju 2015-10-30 04:49:52 UTC
Closing BZ due because customer abandoning the service request for now &
issue is not reproducible by us .


Note You need to log in before you can comment on or make changes to this bug.