yahoo-eng-team team mailing list archive
-
yahoo-eng-team team
-
Mailing list archive
-
Message #74409
[Bug 1788631] [NEW] KeyError: 'used' security_group_rule quota missing 'used' key
Public bug reported:
On rocky rc1, after attempting to log in to the dashboard I hit:
Internal Server Error: /horizon/project/
Traceback (most recent call last):
File "/usr/lib/python2.7/dist-packages/django/core/handlers/exception.py", line 41, in inner
response = get_response(request)
...
File "/usr/lib/python2.7/dist-packages/openstack_dashboard/usage/views.py", line 163, in _process_chart_section
used = self.usage.limits[key]['used']
KeyError: 'used'
Full traceback: https://paste.ubuntu.com/p/RcMCjWs8HG/
>From openstack_dashboard/usage/views.py:
def _process_chart_section(self, chart_defs):
charts = []
for t in chart_defs:
if t.quota_key not in self.usage.limits:
continue
key = t.quota_key
used = self.usage.limits[key]['used'] # <--- KeyError
quota = self.usage.limits[key]['quota']
Further debugging shows we're failing on key='security_group_rule'
chart_def=ChartDef(quota_key='security_group_rule', label=u'Security Group Rules', used_phrase=None, filters=None)
self.usage.limits[key]={'quota': 100}
Notice there's no 'used' key in self.usage.limits. Compare that vs
'security_group' which has:
chart_def=ChartDef(quota_key='security_group', label=u'Security Groups', used_phrase=None, filters=None)
self.usage.limits[key]={'available': 9, 'used': 1, 'quota': 10}
>From openstack_dashboard/usage/quotas.py:
def tally(self, name, value):
"""Adds to the "used" metric for the given quota."""
value = value or 0 # Protection against None.
# Start at 0 if this is the first value.
if 'used' not in self.usages[name]:
self.usages[name]['used'] = 0
I haven't confirmed but it seems that tally does the initialization of
the 'used' key and for some reason that's not happening.
** Affects: horizon
Importance: Undecided
Status: New
** Description changed:
On rocky rc1, after attempting to log in to the dashboard I hit:
Internal Server Error: /horizon/project/
Traceback (most recent call last):
- File "/usr/lib/python2.7/dist-packages/django/core/handlers/exception.py", line 41, in inner
- response = get_response(request)
- ...
- File "/usr/lib/python2.7/dist-packages/openstack_dashboard/usage/views.py", line 163, in _process_chart_section
- used = self.usage.limits[key]['used']
- KeyError: 'used'
+ File "/usr/lib/python2.7/dist-packages/django/core/handlers/exception.py", line 41, in inner
+ response = get_response(request)
+ ...
+ File "/usr/lib/python2.7/dist-packages/openstack_dashboard/usage/views.py", line 163, in _process_chart_section
+ used = self.usage.limits[key]['used']
+ KeyError: 'used'
Full traceback: https://paste.ubuntu.com/p/RcMCjWs8HG/
From openstack_dashboard/usage/views.py:
- def _process_chart_section(self, chart_defs):
- charts = []
- for t in chart_defs:
- if t.quota_key not in self.usage.limits:
- continue
- key = t.quota_key
- used = self.usage.limits[key]['used'] # <--- KeyError: 'used'
- quota = self.usage.limits[key]['quota']
+ def _process_chart_section(self, chart_defs):
+ charts = []
+ for t in chart_defs:
+ if t.quota_key not in self.usage.limits:
+ continue
+ key = t.quota_key
+ used = self.usage.limits[key]['used'] # <--- KeyError
+ quota = self.usage.limits[key]['quota']
Further debugging shows we're failing on key='security_group_rule'
-
+
chart_def=ChartDef(quota_key='security_group_rule', label=u'Security Group Rules', used_phrase=None, filters=None)
self.usage.limits[key]={'quota': 100}
Notice there's no 'used' key in self.usage.limits. Compare that vs
'security_group' which has:
- chart_def=ChartDef(quota_key='security_group', label=u'Security Groups', used_phrase=None, filters=None)
- self.usage.limits[key]={'available': 9, 'used': 1, 'quota': 10}
+ chart_def=ChartDef(quota_key='security_group', label=u'Security Groups', used_phrase=None, filters=None)
+ self.usage.limits[key]={'available': 9, 'used': 1, 'quota': 10}
From openstack_dashboard/usage/quotas.py:
- def tally(self, name, value):
- """Adds to the "used" metric for the given quota."""
- value = value or 0 # Protection against None.
- # Start at 0 if this is the first value.
- if 'used' not in self.usages[name]:
- self.usages[name]['used'] = 0
+ def tally(self, name, value):
+ """Adds to the "used" metric for the given quota."""
+ value = value or 0 # Protection against None.
+ # Start at 0 if this is the first value.
+ if 'used' not in self.usages[name]:
+ self.usages[name]['used'] = 0
I haven't confirmed but it seems that tally does the initialization of
the 'used' key and for some reason that's not happening.
--
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/1788631
Title:
KeyError: 'used' security_group_rule quota missing 'used' key
Status in OpenStack Dashboard (Horizon):
New
Bug description:
On rocky rc1, after attempting to log in to the dashboard I hit:
Internal Server Error: /horizon/project/
Traceback (most recent call last):
File "/usr/lib/python2.7/dist-packages/django/core/handlers/exception.py", line 41, in inner
response = get_response(request)
...
File "/usr/lib/python2.7/dist-packages/openstack_dashboard/usage/views.py", line 163, in _process_chart_section
used = self.usage.limits[key]['used']
KeyError: 'used'
Full traceback: https://paste.ubuntu.com/p/RcMCjWs8HG/
From openstack_dashboard/usage/views.py:
def _process_chart_section(self, chart_defs):
charts = []
for t in chart_defs:
if t.quota_key not in self.usage.limits:
continue
key = t.quota_key
used = self.usage.limits[key]['used'] # <--- KeyError
quota = self.usage.limits[key]['quota']
Further debugging shows we're failing on key='security_group_rule'
chart_def=ChartDef(quota_key='security_group_rule', label=u'Security Group Rules', used_phrase=None, filters=None)
self.usage.limits[key]={'quota': 100}
Notice there's no 'used' key in self.usage.limits. Compare that vs
'security_group' which has:
chart_def=ChartDef(quota_key='security_group', label=u'Security Groups', used_phrase=None, filters=None)
self.usage.limits[key]={'available': 9, 'used': 1, 'quota': 10}
From openstack_dashboard/usage/quotas.py:
def tally(self, name, value):
"""Adds to the "used" metric for the given quota."""
value = value or 0 # Protection against None.
# Start at 0 if this is the first value.
if 'used' not in self.usages[name]:
self.usages[name]['used'] = 0
I haven't confirmed but it seems that tally does the initialization of
the 'used' key and for some reason that's not happening.
To manage notifications about this bug go to:
https://bugs.launchpad.net/horizon/+bug/1788631/+subscriptions
Follow ups