Bug 2125538
| Summary: | Impossible to view encrypted volume's details at admin tab because of django.urls.exceptions.NoReverseMatch exception | ||
|---|---|---|---|
| Product: | Red Hat OpenStack | Reporter: | Alex Stupnikov <astupnik> |
| Component: | python-django-horizon | Assignee: | Radomir Dopieralski <rdopiera> |
| Status: | CLOSED MIGRATED | QA Contact: | Ashish Gupta <ashigupt> |
| Severity: | high | Docs Contact: | |
| Priority: | medium | ||
| Version: | 16.2 (Train) | CC: | jpretori, rdopiera |
| Target Milestone: | z1 | Keywords: | Triaged |
| Target Release: | 16.2 (Train on RHEL 8.4) | ||
| Hardware: | All | ||
| OS: | All | ||
| Whiteboard: | |||
| Fixed In Version: | Doc Type: | If docs needed, set a value | |
| Doc Text: | Story Points: | --- | |
| Clone Of: | Environment: | ||
| Last Closed: | 2025-01-06 09:54:12 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 of problem: Customer is using encrypted Cinder volumes in his deployment and he is unable to use admin tab to show volume's details. I will provide screenshots, outputs and logs privately. There is the following trace in horizon.log: 2022-09-09 08:38:06,579 15843 ERROR django.request Internal Server Error: /dashboard/admin/volumes/UUID/ Traceback (most recent call last): File "/usr/lib/python3.6/site-packages/django/core/handlers/exception.py", line 35, in inner response = get_response(request) File "/usr/lib/python3.6/site-packages/django/core/handlers/base.py", line 158, in _get_response response = self.process_exception_by_middleware(e, request) File "/usr/lib/python3.6/site-packages/django/core/handlers/base.py", line 156, in _get_response response = response.render() File "/usr/lib/python3.6/site-packages/django/template/response.py", line 106, in render self.content = self.rendered_content File "/usr/lib/python3.6/site-packages/django/template/response.py", line 83, in rendered_content content = template.render(context, self._request) File "/usr/lib/python3.6/site-packages/django/template/backends/django.py", line 61, in render return self.template.render(context) File "/usr/lib/python3.6/site-packages/django/template/base.py", line 175, in render return self._render(context) File "/usr/lib/python3.6/site-packages/django/template/base.py", line 167, in _render return self.nodelist.render(context) File "/usr/lib/python3.6/site-packages/django/template/base.py", line 943, in render bit = node.render_annotated(context) File "/usr/lib/python3.6/site-packages/django/template/base.py", line 910, in render_annotated return self.render(context) File "/usr/lib/python3.6/site-packages/django/template/loader_tags.py", line 155, in render return compiled_parent._render(context) File "/usr/lib/python3.6/site-packages/django/template/base.py", line 167, in _render return self.nodelist.render(context) File "/usr/lib/python3.6/site-packages/django/template/base.py", line 943, in render bit = node.render_annotated(context) File "/usr/lib/python3.6/site-packages/django/template/base.py", line 910, in render_annotated return self.render(context) File "/usr/lib/python3.6/site-packages/django/template/loader_tags.py", line 67, in render result = block.nodelist.render(context) File "/usr/lib/python3.6/site-packages/django/template/base.py", line 943, in render bit = node.render_annotated(context) File "/usr/lib/python3.6/site-packages/django/template/base.py", line 910, in render_annotated return self.render(context) File "/usr/lib/python3.6/site-packages/django/template/loader_tags.py", line 67, in render result = block.nodelist.render(context) File "/usr/lib/python3.6/site-packages/django/template/base.py", line 943, in render bit = node.render_annotated(context) File "/usr/lib/python3.6/site-packages/django/template/base.py", line 910, in render_annotated return self.render(context) File "/usr/lib/python3.6/site-packages/django/template/base.py", line 993, in render output = self.filter_expression.resolve(context) File "/usr/lib/python3.6/site-packages/django/template/base.py", line 676, in resolve obj = self.var.resolve(context) File "/usr/lib/python3.6/site-packages/django/template/base.py", line 802, in resolve value = self._resolve_lookup(context) File "/usr/lib/python3.6/site-packages/django/template/base.py", line 864, in _resolve_lookup current = current() File "/usr/lib/python3.6/site-packages/horizon/tabs/base.py", line 230, in render return render_to_string(self.template_name, {"tab_group": self}) File "/usr/lib/python3.6/site-packages/django/template/loader.py", line 62, in render_to_string return template.render(context, request) File "/usr/lib/python3.6/site-packages/django/template/backends/django.py", line 61, in render return self.template.render(context) File "/usr/lib/python3.6/site-packages/django/template/base.py", line 175, in render return self._render(context) File "/usr/lib/python3.6/site-packages/django/template/base.py", line 167, in _render return self.nodelist.render(context) File "/usr/lib/python3.6/site-packages/django/template/base.py", line 943, in render bit = node.render_annotated(context) File "/usr/lib/python3.6/site-packages/django/template/base.py", line 910, in render_annotated return self.render(context) File "/usr/lib/python3.6/site-packages/django/template/loader_tags.py", line 155, in render return compiled_parent._render(context) File "/usr/lib/python3.6/site-packages/django/template/base.py", line 167, in _render return self.nodelist.render(context) File "/usr/lib/python3.6/site-packages/django/template/base.py", line 943, in render bit = node.render_annotated(context) File "/usr/lib/python3.6/site-packages/django/template/base.py", line 910, in render_annotated return self.render(context) File "/usr/lib/python3.6/site-packages/django/template/defaulttags.py", line 517, in render return self.nodelist.render(context) File "/usr/lib/python3.6/site-packages/django/template/base.py", line 943, in render bit = node.render_annotated(context) File "/usr/lib/python3.6/site-packages/django/template/base.py", line 910, in render_annotated return self.render(context) File "/usr/lib/python3.6/site-packages/django/template/defaulttags.py", line 314, in render return nodelist.render(context) File "/usr/lib/python3.6/site-packages/django/template/base.py", line 943, in render bit = node.render_annotated(context) File "/usr/lib/python3.6/site-packages/django/template/base.py", line 910, in render_annotated return self.render(context) File "/usr/lib/python3.6/site-packages/django/template/defaulttags.py", line 211, in render nodelist.append(node.render_annotated(context)) File "/usr/lib/python3.6/site-packages/django/template/base.py", line 910, in render_annotated return self.render(context) File "/usr/lib/python3.6/site-packages/django/template/base.py", line 993, in render output = self.filter_expression.resolve(context) File "/usr/lib/python3.6/site-packages/django/template/base.py", line 676, in resolve obj = self.var.resolve(context) File "/usr/lib/python3.6/site-packages/django/template/base.py", line 802, in resolve value = self._resolve_lookup(context) File "/usr/lib/python3.6/site-packages/django/template/base.py", line 864, in _resolve_lookup current = current() File "/usr/lib/python3.6/site-packages/horizon/tabs/base.py", line 377, in render return render_to_string(self.get_template_name(self.request), context) File "/usr/lib/python3.6/site-packages/django/template/loader.py", line 62, in render_to_string return template.render(context, request) File "/usr/lib/python3.6/site-packages/django/template/backends/django.py", line 61, in render return self.template.render(context) File "/usr/lib/python3.6/site-packages/django/template/base.py", line 175, in render return self._render(context) File "/usr/lib/python3.6/site-packages/django/template/base.py", line 167, in _render return self.nodelist.render(context) File "/usr/lib/python3.6/site-packages/django/template/base.py", line 943, in render bit = node.render_annotated(context) File "/usr/lib/python3.6/site-packages/django/template/base.py", line 910, in render_annotated return self.render(context) File "/usr/lib/python3.6/site-packages/django/template/defaulttags.py", line 314, in render return nodelist.render(context) File "/usr/lib/python3.6/site-packages/django/template/base.py", line 943, in render bit = node.render_annotated(context) File "/usr/lib/python3.6/site-packages/django/template/base.py", line 910, in render_annotated return self.render(context) File "/usr/lib/python3.6/site-packages/django/template/defaulttags.py", line 447, in render url = reverse(view_name, args=args, kwargs=kwargs, current_app=current_app) File "/usr/lib/python3.6/site-packages/django/urls/base.py", line 90, in reverse return iri_to_uri(resolver._reverse_with_prefix(view, prefix, *args, **kwargs)) File "/usr/lib/python3.6/site-packages/django/urls/resolvers.py", line 634, in _reverse_with_prefix raise NoReverseMatch(msg) django.urls.exceptions.NoReverseMatch: Reverse for 'encryption_detail' not found. 'encryption_detail' is not a valid view function or pattern name. Version-Release number of selected component (if applicable): RHOSP 16.2.3 How reproducible: Create encrypted volume, try to access its detailed view at /dashboard/admin/volumes/UUID/ Actual results: Server Error Expected results: Volumes details are displayed properly