Note: This bug is displayed in read-only format because the product is no longer active in Red Hat Bugzilla.

Bug 908266

Summary: Quota page expiry causes KeyError when trying to edit dynamic quotas
Product: Red Hat Enterprise MRG Reporter: Peter Belanyi <pbelanyi>
Component: cuminAssignee: grid-maint-list <grid-maint-list>
Status: CLOSED WONTFIX QA Contact: MRG Quality Engineering <mrgqe-bugs>
Severity: unspecified Docs Contact:
Priority: unspecified    
Version: DevelopmentCC: athomas, croberts, matt, sgraf, tmckay
Target Milestone: ---   
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2016-05-26 19:37:26 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:

Description Peter Belanyi 2013-02-06 10:01:20 UTC
Description of problem:
When trying to edit dynamic quotas on an expired quotas page, we get a traceback for a KeyError.

Version-Release number of selected component (if applicable):
cumin-0.1.5658-1

How reproducible:
100%

Steps to Reproduce:
1. Go to Quotas page
2. Let the page expire
3. After it expired, click on a displayed dynamic quota value to edit it
4. Redirected to login page
5. After logging in we get to page showing the traceback

Traceback (most recent call last):
  File "/usr/share/cumin/python/wooly/wsgiserver/__init__.py", line 1250, in communicate
    req.respond()
  File "/usr/share/cumin/python/wooly/wsgiserver/__init__.py", line 663, in respond
    self._respond()
  File "/usr/share/cumin/python/wooly/wsgiserver/__init__.py", line 669, in _respond
    response = self.wsgi_app(env, self.start_response)
  File "/usr/share/cumin/python/wooly/server.py", line 104, in service_request
    status, headers, content = self.service_page_request(page, env)
  File "/usr/share/cumin/python/wooly/server.py", line 170, in service_page_request
    content = page.service_error(session)
  File "/usr/share/cumin/python/wooly/__init__.py", line 593, in service_error
    return self.render(session)
  File "/usr/share/cumin/python/wooly/__init__.py", line 348, in render
    string = self.do_render(session, *args)
  File "/usr/share/cumin/python/wooly/__init__.py", line 362, in do_render
    self.__main_tmpl.render(writer, session, *args)
  File "/usr/share/cumin/python/wooly/template.py", line 90, in render
    result = frag(self.__object, session, *args)
  File "/usr/share/cumin/python/cumin/widgets.py", line 1423, in render_content
    writer.write(self.modes.render(session))
  File "/usr/share/cumin/python/wooly/__init__.py", line 348, in render
    string = self.do_render(session, *args)
  File "/usr/share/cumin/python/wooly/__init__.py", line 362, in do_render
    self.__main_tmpl.render(writer, session, *args)
  File "/usr/share/cumin/python/wooly/template.py", line 90, in render
    result = frag(self.__object, session, *args)
  File "/usr/share/cumin/python/wooly/widgets.py", line 34, in render_content
    return mode.render(session)
  File "/usr/share/cumin/python/wooly/__init__.py", line 348, in render
    string = self.do_render(session, *args)
  File "/usr/share/cumin/python/wooly/__init__.py", line 362, in do_render
    self.__main_tmpl.render(writer, session, *args)
  File "/usr/share/cumin/python/wooly/template.py", line 90, in render
    result = frag(self.__object, session, *args)
  File "/usr/share/cumin/python/cumin/grid/negotiator.py", line 439, in render_subshares_title
    subshares = self.group_helper.get_children(session, self.group_leader.get(session))
  File "/usr/share/cumin/python/cumin/grid/negotiator.py", line 134, in get_children
    info[group]['children'] = list()
KeyError: u'group_chemistry'

(6. When I reloaded that page, I got to the "Edit Dynamic Group Quota" page showing an empty chart)
  
Actual results:
Python traceback instead of cumin webpage.

Expected results:
Ideally getting to the "Edit Dynamic Group Quota" page, or at least the cumin main page.

Additional info:

Comment 1 Trevor McKay 2013-02-07 14:02:06 UTC
I believe the trouble here is that the url encodes some of the info about groups that have been followed.  When the login expires and the user is routed through the login page, the url is preserved and so that group info is preserved.

However, the underlying data in the session that supports the quota page is gone because a new session has been created.  Therefore, there is a mismatch between the url and the cached data.  This is my theory, one avenue to investigate....

Comment 3 Anne-Louise Tangring 2016-05-26 19:37:26 UTC
MRG-Grid is in maintenance and only customer escalations will be considered. This issue can be reopened if a customer escalation associated with it occurs.