Bug 908266
| Summary: | Quota page expiry causes KeyError when trying to edit dynamic quotas | ||
|---|---|---|---|
| Product: | Red Hat Enterprise MRG | Reporter: | Peter Belanyi <pbelanyi> |
| Component: | cumin | Assignee: | grid-maint-list <grid-maint-list> |
| Status: | CLOSED WONTFIX | QA Contact: | MRG Quality Engineering <mrgqe-bugs> |
| Severity: | unspecified | Docs Contact: | |
| Priority: | unspecified | ||
| Version: | Development | CC: | 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: | |||
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.... 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. |
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: