Public bug reported: # Problem description
I'm using horizon of openstack wallaby on Ubuntu 20.04. I installed it with devstack. And I set ANGULAR_FEATURES.users_panel as True in local_settings.py. By the way, the default value of ANGULAR_FEATURES.users_panel is False. ======== ANGULAR_FEATURES = { 'images_panel': True, 'key_pairs_panel': True, 'flavors_panel': False, 'domains_panel': False, 'users_panel': True, 'groups_panel': False, 'roles_panel': True } ======== As a result, the loading icon was kept spinning when I saw the following action log panel for admin. I couldn't saw action logs. Admin -> Compute -> Instances -> Click a instance -> Click "Action Log" I confirmed that openstack queens cloud-archive of Ubuntu 18.04 has same issue. # My guess The action log for admin shows operation performer's user id. I think that it is relevant to users_panel. # Error message The following error messages appeared in the horizon log file. (Ubuntu 20.04 + wallaby environment) 2021-07-07 05:14:59.566074 Traceback (most recent call last): 2021-07-07 05:14:59.566083 File "/usr/local/lib/python3.8/dist-packages/django/core/handlers/exception.py", line 34, in inner 2021-07-07 05:14:59.566094 response = get_response(request) 2021-07-07 05:14:59.566103 File "/usr/local/lib/python3.8/dist-packages/django/core/handlers/base.py", line 115, in _get_response 2021-07-07 05:14:59.566113 response = self.process_exception_by_middleware(e, request) 2021-07-07 05:14:59.566123 File "/usr/local/lib/python3.8/dist-packages/django/core/handlers/base.py", line 113, in _get_response 2021-07-07 05:14:59.566134 response = wrapped_callback(request, *callback_args, **callback_kwargs) 2021-07-07 05:14:59.566144 File "/opt/stack/horizon/horizon/decorators.py", line 52, in dec 2021-07-07 05:14:59.566153 return view_func(request, *args, **kwargs) 2021-07-07 05:14:59.566162 File "/opt/stack/horizon/horizon/decorators.py", line 36, in dec 2021-07-07 05:14:59.566172 return view_func(request, *args, **kwargs) 2021-07-07 05:14:59.566181 File "/opt/stack/horizon/horizon/decorators.py", line 36, in dec 2021-07-07 05:14:59.566190 return view_func(request, *args, **kwargs) 2021-07-07 05:14:59.566199 File "/opt/stack/horizon/horizon/decorators.py", line 112, in dec 2021-07-07 05:14:59.566209 return view_func(request, *args, **kwargs) 2021-07-07 05:14:59.566218 File "/opt/stack/horizon/horizon/decorators.py", line 84, in dec 2021-07-07 05:14:59.566228 return view_func(request, *args, **kwargs) 2021-07-07 05:14:59.566239 File "/usr/local/lib/python3.8/dist-packages/django/views/generic/base.py", line 71, in view 2021-07-07 05:14:59.566253 return self.dispatch(request, *args, **kwargs) 2021-07-07 05:14:59.566265 File "/usr/local/lib/python3.8/dist-packages/django/views/generic/base.py", line 97, in dispatch 2021-07-07 05:14:59.566278 return handler(request, *args, **kwargs) 2021-07-07 05:14:59.566287 File "/opt/stack/horizon/horizon/tabs/views.py", line 71, in get 2021-07-07 05:14:59.566297 return self.handle_tabbed_response(context["tab_group"], context) 2021-07-07 05:14:59.566307 File "/opt/stack/horizon/horizon/tabs/views.py", line 65, in handle_tabbed_response 2021-07-07 05:14:59.566334 return http.HttpResponse(tab_group.selected.render()) 2021-07-07 05:14:59.566343 File "/opt/stack/horizon/horizon/tabs/base.py", line 375, in render 2021-07-07 05:14:59.566355 return render_to_string(self.get_template_name(self.request), context) 2021-07-07 05:14:59.566367 File "/usr/local/lib/python3.8/dist-packages/django/template/loader.py", line 62, in render_to_string 2021-07-07 05:14:59.566380 return template.render(context, request) 2021-07-07 05:14:59.566392 File "/usr/local/lib/python3.8/dist-packages/django/template/backends/django.py", line 61, in render 2021-07-07 05:14:59.566405 return self.template.render(context) 2021-07-07 05:14:59.566414 File "/usr/local/lib/python3.8/dist-packages/django/template/base.py", line 171, in render 2021-07-07 05:14:59.566424 return self._render(context) 2021-07-07 05:14:59.566433 File "/usr/local/lib/python3.8/dist-packages/django/template/base.py", line 163, in _render 2021-07-07 05:14:59.566443 return self.nodelist.render(context) 2021-07-07 05:14:59.566452 File "/usr/local/lib/python3.8/dist-packages/django/template/base.py", line 937, in render 2021-07-07 05:14:59.566462 bit = node.render_annotated(context) 2021-07-07 05:14:59.566472 File "/usr/local/lib/python3.8/dist-packages/django/template/base.py", line 904, in render_annotated 2021-07-07 05:14:59.566482 return self.render(context) 2021-07-07 05:14:59.566491 File "/usr/local/lib/python3.8/dist-packages/django/template/base.py", line 987, in render 2021-07-07 05:14:59.566502 output = self.filter_expression.resolve(context) 2021-07-07 05:14:59.566514 File "/usr/local/lib/python3.8/dist-packages/django/template/base.py", line 671, in resolve 2021-07-07 05:14:59.566527 obj = self.var.resolve(context) 2021-07-07 05:14:59.566538 File "/usr/local/lib/python3.8/dist-packages/django/template/base.py", line 796, in resolve 2021-07-07 05:14:59.566551 value = self._resolve_lookup(context) 2021-07-07 05:14:59.566561 File "/usr/local/lib/python3.8/dist-packages/django/template/base.py", line 858, in _resolve_lookup 2021-07-07 05:14:59.566586 current = current() 2021-07-07 05:14:59.566598 File "/opt/stack/horizon/horizon/tables/base.py", line 1419, in render 2021-07-07 05:14:59.566610 return table_template.render(extra_context, self.request) 2021-07-07 05:14:59.566621 File "/usr/local/lib/python3.8/dist-packages/django/template/backends/django.py", line 61, in render 2021-07-07 05:14:59.566632 return self.template.render(context) 2021-07-07 05:14:59.566641 File "/usr/local/lib/python3.8/dist-packages/django/template/base.py", line 171, in render 2021-07-07 05:14:59.566651 return self._render(context) 2021-07-07 05:14:59.566660 File "/usr/local/lib/python3.8/dist-packages/django/template/base.py", line 163, in _render 2021-07-07 05:14:59.566671 return self.nodelist.render(context) 2021-07-07 05:14:59.566680 File "/usr/local/lib/python3.8/dist-packages/django/template/base.py", line 937, in render 2021-07-07 05:14:59.566690 bit = node.render_annotated(context) 2021-07-07 05:14:59.566699 File "/usr/local/lib/python3.8/dist-packages/django/template/base.py", line 904, in render_annotated 2021-07-07 05:14:59.566709 return self.render(context) 2021-07-07 05:14:59.566718 File "/usr/local/lib/python3.8/dist-packages/django/template/defaulttags.py", line 513, in render 2021-07-07 05:14:59.566729 return self.nodelist.render(context) 2021-07-07 05:14:59.566738 File "/usr/local/lib/python3.8/dist-packages/django/template/base.py", line 937, in render 2021-07-07 05:14:59.566748 bit = node.render_annotated(context) 2021-07-07 05:14:59.566757 File "/usr/local/lib/python3.8/dist-packages/django/template/base.py", line 904, in render_annotated 2021-07-07 05:14:59.566768 return self.render(context) 2021-07-07 05:14:59.566776 File "/usr/local/lib/python3.8/dist-packages/django/template/defaulttags.py", line 513, in render 2021-07-07 05:14:59.566787 return self.nodelist.render(context) 2021-07-07 05:14:59.566816 File "/usr/local/lib/python3.8/dist-packages/django/template/base.py", line 937, in render 2021-07-07 05:14:59.566826 bit = node.render_annotated(context) 2021-07-07 05:14:59.566835 File "/usr/local/lib/python3.8/dist-packages/django/template/base.py", line 904, in render_annotated 2021-07-07 05:14:59.566846 return self.render(context) 2021-07-07 05:14:59.566855 File "/usr/local/lib/python3.8/dist-packages/django/template/loader_tags.py", line 53, in render 2021-07-07 05:14:59.566865 result = self.nodelist.render(context) 2021-07-07 05:14:59.566874 File "/usr/local/lib/python3.8/dist-packages/django/template/base.py", line 937, in render 2021-07-07 05:14:59.566884 bit = node.render_annotated(context) 2021-07-07 05:14:59.566893 File "/usr/local/lib/python3.8/dist-packages/django/template/base.py", line 904, in render_annotated 2021-07-07 05:14:59.566903 return self.render(context) 2021-07-07 05:14:59.566912 File "/usr/local/lib/python3.8/dist-packages/django/template/loader_tags.py", line 53, in render 2021-07-07 05:14:59.566923 result = self.nodelist.render(context) 2021-07-07 05:14:59.566932 File "/usr/local/lib/python3.8/dist-packages/django/template/base.py", line 937, in render 2021-07-07 05:14:59.566942 bit = node.render_annotated(context) 2021-07-07 05:14:59.566951 File "/usr/local/lib/python3.8/dist-packages/django/template/base.py", line 904, in render_annotated 2021-07-07 05:14:59.566987 return self.render(context) 2021-07-07 05:14:59.566999 File "/usr/local/lib/python3.8/dist-packages/django/template/defaulttags.py", line 209, in render 2021-07-07 05:14:59.567010 nodelist.append(node.render_annotated(context)) 2021-07-07 05:14:59.567019 File "/usr/local/lib/python3.8/dist-packages/django/template/base.py", line 904, in render_annotated 2021-07-07 05:14:59.567029 return self.render(context) 2021-07-07 05:14:59.567038 File "/usr/local/lib/python3.8/dist-packages/django/template/base.py", line 987, in render 2021-07-07 05:14:59.567048 output = self.filter_expression.resolve(context) 2021-07-07 05:14:59.567060 File "/usr/local/lib/python3.8/dist-packages/django/template/base.py", line 671, in resolve 2021-07-07 05:14:59.567075 obj = self.var.resolve(context) 2021-07-07 05:14:59.567086 File "/usr/local/lib/python3.8/dist-packages/django/template/base.py", line 796, in resolve 2021-07-07 05:14:59.567098 value = self._resolve_lookup(context) 2021-07-07 05:14:59.567110 File "/usr/local/lib/python3.8/dist-packages/django/template/base.py", line 858, in _resolve_lookup 2021-07-07 05:14:59.567121 current = current() 2021-07-07 05:14:59.567132 File "/opt/stack/horizon/horizon/tables/base.py", line 668, in render 2021-07-07 05:14:59.567144 return render_to_string("horizon/common/_data_table_row.html", 2021-07-07 05:14:59.567157 File "/usr/local/lib/python3.8/dist-packages/django/template/loader.py", line 62, in render_to_string 2021-07-07 05:14:59.567170 return template.render(context, request) 2021-07-07 05:14:59.567180 File "/usr/local/lib/python3.8/dist-packages/django/template/backends/django.py", line 61, in render 2021-07-07 05:14:59.567191 return self.template.render(context) 2021-07-07 05:14:59.567200 File "/usr/local/lib/python3.8/dist-packages/django/template/base.py", line 171, in render 2021-07-07 05:14:59.567210 return self._render(context) 2021-07-07 05:14:59.567219 File "/usr/local/lib/python3.8/dist-packages/django/template/base.py", line 163, in _render 2021-07-07 05:14:59.567229 return self.nodelist.render(context) 2021-07-07 05:14:59.567238 File "/usr/local/lib/python3.8/dist-packages/django/template/base.py", line 937, in render 2021-07-07 05:14:59.567248 bit = node.render_annotated(context) 2021-07-07 05:14:59.567257 File "/usr/local/lib/python3.8/dist-packages/django/template/base.py", line 904, in render_annotated 2021-07-07 05:14:59.567268 return self.render(context) 2021-07-07 05:14:59.567276 File "/usr/local/lib/python3.8/dist-packages/django/template/defaulttags.py", line 398, in render 2021-07-07 05:14:59.567332 return strip_spaces_between_tags(self.nodelist.render(context).strip()) 2021-07-07 05:14:59.567343 File "/usr/local/lib/python3.8/dist-packages/django/template/base.py", line 937, in render 2021-07-07 05:14:59.567354 bit = node.render_annotated(context) 2021-07-07 05:14:59.567363 File "/usr/local/lib/python3.8/dist-packages/django/template/base.py", line 904, in render_annotated 2021-07-07 05:14:59.567373 return self.render(context) 2021-07-07 05:14:59.567384 File "/usr/local/lib/python3.8/dist-packages/django/template/defaulttags.py", line 209, in render 2021-07-07 05:14:59.567397 nodelist.append(node.render_annotated(context)) 2021-07-07 05:14:59.567409 File "/usr/local/lib/python3.8/dist-packages/django/template/base.py", line 904, in render_annotated 2021-07-07 05:14:59.567422 return self.render(context) 2021-07-07 05:14:59.567433 File "/usr/local/lib/python3.8/dist-packages/django/template/loader_tags.py", line 188, in render 2021-07-07 05:14:59.567443 return template.render(context) 2021-07-07 05:14:59.567452 File "/usr/local/lib/python3.8/dist-packages/django/template/base.py", line 173, in render 2021-07-07 05:14:59.567462 return self._render(context) 2021-07-07 05:14:59.567471 File "/usr/local/lib/python3.8/dist-packages/django/template/base.py", line 163, in _render 2021-07-07 05:14:59.567481 return self.nodelist.render(context) 2021-07-07 05:14:59.567491 File "/usr/local/lib/python3.8/dist-packages/django/template/base.py", line 937, in render 2021-07-07 05:14:59.567501 bit = node.render_annotated(context) 2021-07-07 05:14:59.567510 File "/usr/local/lib/python3.8/dist-packages/django/template/base.py", line 904, in render_annotated 2021-07-07 05:14:59.567520 return self.render(context) 2021-07-07 05:14:59.567531 File "/usr/local/lib/python3.8/dist-packages/django/template/defaulttags.py", line 309, in render 2021-07-07 05:14:59.567544 return nodelist.render(context) 2021-07-07 05:14:59.567555 File "/usr/local/lib/python3.8/dist-packages/django/template/base.py", line 937, in render 2021-07-07 05:14:59.567577 bit = node.render_annotated(context) 2021-07-07 05:14:59.567588 File "/usr/local/lib/python3.8/dist-packages/django/template/base.py", line 904, in render_annotated 2021-07-07 05:14:59.567601 return self.render(context) 2021-07-07 05:14:59.567612 File "/usr/local/lib/python3.8/dist-packages/django/template/defaulttags.py", line 309, in render 2021-07-07 05:14:59.567625 return nodelist.render(context) 2021-07-07 05:14:59.567637 File "/usr/local/lib/python3.8/dist-packages/django/template/base.py", line 937, in render 2021-07-07 05:14:59.567647 bit = node.render_annotated(context) 2021-07-07 05:14:59.567656 File "/usr/local/lib/python3.8/dist-packages/django/template/base.py", line 904, in render_annotated 2021-07-07 05:14:59.567667 return self.render(context) 2021-07-07 05:14:59.567676 File "/usr/local/lib/python3.8/dist-packages/django/template/base.py", line 987, in render 2021-07-07 05:14:59.567686 output = self.filter_expression.resolve(context) 2021-07-07 05:14:59.567695 File "/usr/local/lib/python3.8/dist-packages/django/template/base.py", line 671, in resolve 2021-07-07 05:14:59.567705 obj = self.var.resolve(context) 2021-07-07 05:14:59.567714 File "/usr/local/lib/python3.8/dist-packages/django/template/base.py", line 796, in resolve 2021-07-07 05:14:59.567724 value = self._resolve_lookup(context) 2021-07-07 05:14:59.567734 File "/usr/local/lib/python3.8/dist-packages/django/template/base.py", line 837, in _resolve_lookup 2021-07-07 05:14:59.567744 current = getattr(current, bit) 2021-07-07 05:14:59.567753 File "/opt/stack/horizon/horizon/utils/html.py", line 65, in attr_string 2021-07-07 05:14:59.567762 return flatatt(self.get_final_attrs()) 2021-07-07 05:14:59.567771 File "/opt/stack/horizon/horizon/utils/html.py", line 43, in get_final_attrs 2021-07-07 05:14:59.567781 final_attrs['class'] = self.get_final_css() 2021-07-07 05:14:59.567800 File "/opt/stack/horizon/horizon/utils/html.py", line 51, in get_final_css 2021-07-07 05:14:59.567810 default = " ".join(self.get_default_classes()) 2021-07-07 05:14:59.567819 File "/opt/stack/horizon/horizon/tables/base.py", line 867, in get_default_classes 2021-07-07 05:14:59.567829 if not self.url: 2021-07-07 05:14:59.567837 File "/opt/stack/horizon/horizon/tables/base.py", line 831, in url 2021-07-07 05:14:59.567847 url = self.column.get_link_url(self.datum) 2021-07-07 05:14:59.567856 File "/opt/stack/horizon/horizon/tables/base.py", line 474, in get_link_url 2021-07-07 05:14:59.567866 return self.link(datum) 2021-07-07 05:14:59.567875 File "/opt/stack/horizon/openstack_dashboard/dashboards/admin/instances/tables.py", line 218, in user_link 2021-07-07 05:14:59.567885 return urls.reverse("horizon:identity:users:detail", 2021-07-07 05:14:59.567895 File "/usr/local/lib/python3.8/dist-packages/django/urls/base.py", line 90, in reverse 2021-07-07 05:14:59.567905 return iri_to_uri(resolver._reverse_with_prefix(view, prefix, *args, **kwargs)) 2021-07-07 05:14:59.567915 File "/usr/local/lib/python3.8/dist-packages/django/urls/resolvers.py", line 673, in _reverse_with_prefix 2021-07-07 05:14:59.567933 raise NoReverseMatch(msg) 2021-07-07 05:14:59.567942 django.urls.exceptions.NoReverseMatch: Reverse for 'detail' not found. 'detail' is not a valid view function or pattern name. ** Affects: horizon Importance: Undecided Status: New -- 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/1934853 Title: The instance action log for admin doesn't work if ANGULAR_FEATURES.users_panel is True Status in OpenStack Dashboard (Horizon): New Bug description: # Problem description I'm using horizon of openstack wallaby on Ubuntu 20.04. I installed it with devstack. And I set ANGULAR_FEATURES.users_panel as True in local_settings.py. By the way, the default value of ANGULAR_FEATURES.users_panel is False. ======== ANGULAR_FEATURES = { 'images_panel': True, 'key_pairs_panel': True, 'flavors_panel': False, 'domains_panel': False, 'users_panel': True, 'groups_panel': False, 'roles_panel': True } ======== As a result, the loading icon was kept spinning when I saw the following action log panel for admin. I couldn't saw action logs. Admin -> Compute -> Instances -> Click a instance -> Click "Action Log" I confirmed that openstack queens cloud-archive of Ubuntu 18.04 has same issue. # My guess The action log for admin shows operation performer's user id. I think that it is relevant to users_panel. # Error message The following error messages appeared in the horizon log file. (Ubuntu 20.04 + wallaby environment) 2021-07-07 05:14:59.566074 Traceback (most recent call last): 2021-07-07 05:14:59.566083 File "/usr/local/lib/python3.8/dist-packages/django/core/handlers/exception.py", line 34, in inner 2021-07-07 05:14:59.566094 response = get_response(request) 2021-07-07 05:14:59.566103 File "/usr/local/lib/python3.8/dist-packages/django/core/handlers/base.py", line 115, in _get_response 2021-07-07 05:14:59.566113 response = self.process_exception_by_middleware(e, request) 2021-07-07 05:14:59.566123 File "/usr/local/lib/python3.8/dist-packages/django/core/handlers/base.py", line 113, in _get_response 2021-07-07 05:14:59.566134 response = wrapped_callback(request, *callback_args, **callback_kwargs) 2021-07-07 05:14:59.566144 File "/opt/stack/horizon/horizon/decorators.py", line 52, in dec 2021-07-07 05:14:59.566153 return view_func(request, *args, **kwargs) 2021-07-07 05:14:59.566162 File "/opt/stack/horizon/horizon/decorators.py", line 36, in dec 2021-07-07 05:14:59.566172 return view_func(request, *args, **kwargs) 2021-07-07 05:14:59.566181 File "/opt/stack/horizon/horizon/decorators.py", line 36, in dec 2021-07-07 05:14:59.566190 return view_func(request, *args, **kwargs) 2021-07-07 05:14:59.566199 File "/opt/stack/horizon/horizon/decorators.py", line 112, in dec 2021-07-07 05:14:59.566209 return view_func(request, *args, **kwargs) 2021-07-07 05:14:59.566218 File "/opt/stack/horizon/horizon/decorators.py", line 84, in dec 2021-07-07 05:14:59.566228 return view_func(request, *args, **kwargs) 2021-07-07 05:14:59.566239 File "/usr/local/lib/python3.8/dist-packages/django/views/generic/base.py", line 71, in view 2021-07-07 05:14:59.566253 return self.dispatch(request, *args, **kwargs) 2021-07-07 05:14:59.566265 File "/usr/local/lib/python3.8/dist-packages/django/views/generic/base.py", line 97, in dispatch 2021-07-07 05:14:59.566278 return handler(request, *args, **kwargs) 2021-07-07 05:14:59.566287 File "/opt/stack/horizon/horizon/tabs/views.py", line 71, in get 2021-07-07 05:14:59.566297 return self.handle_tabbed_response(context["tab_group"], context) 2021-07-07 05:14:59.566307 File "/opt/stack/horizon/horizon/tabs/views.py", line 65, in handle_tabbed_response 2021-07-07 05:14:59.566334 return http.HttpResponse(tab_group.selected.render()) 2021-07-07 05:14:59.566343 File "/opt/stack/horizon/horizon/tabs/base.py", line 375, in render 2021-07-07 05:14:59.566355 return render_to_string(self.get_template_name(self.request), context) 2021-07-07 05:14:59.566367 File "/usr/local/lib/python3.8/dist-packages/django/template/loader.py", line 62, in render_to_string 2021-07-07 05:14:59.566380 return template.render(context, request) 2021-07-07 05:14:59.566392 File "/usr/local/lib/python3.8/dist-packages/django/template/backends/django.py", line 61, in render 2021-07-07 05:14:59.566405 return self.template.render(context) 2021-07-07 05:14:59.566414 File "/usr/local/lib/python3.8/dist-packages/django/template/base.py", line 171, in render 2021-07-07 05:14:59.566424 return self._render(context) 2021-07-07 05:14:59.566433 File "/usr/local/lib/python3.8/dist-packages/django/template/base.py", line 163, in _render 2021-07-07 05:14:59.566443 return self.nodelist.render(context) 2021-07-07 05:14:59.566452 File "/usr/local/lib/python3.8/dist-packages/django/template/base.py", line 937, in render 2021-07-07 05:14:59.566462 bit = node.render_annotated(context) 2021-07-07 05:14:59.566472 File "/usr/local/lib/python3.8/dist-packages/django/template/base.py", line 904, in render_annotated 2021-07-07 05:14:59.566482 return self.render(context) 2021-07-07 05:14:59.566491 File "/usr/local/lib/python3.8/dist-packages/django/template/base.py", line 987, in render 2021-07-07 05:14:59.566502 output = self.filter_expression.resolve(context) 2021-07-07 05:14:59.566514 File "/usr/local/lib/python3.8/dist-packages/django/template/base.py", line 671, in resolve 2021-07-07 05:14:59.566527 obj = self.var.resolve(context) 2021-07-07 05:14:59.566538 File "/usr/local/lib/python3.8/dist-packages/django/template/base.py", line 796, in resolve 2021-07-07 05:14:59.566551 value = self._resolve_lookup(context) 2021-07-07 05:14:59.566561 File "/usr/local/lib/python3.8/dist-packages/django/template/base.py", line 858, in _resolve_lookup 2021-07-07 05:14:59.566586 current = current() 2021-07-07 05:14:59.566598 File "/opt/stack/horizon/horizon/tables/base.py", line 1419, in render 2021-07-07 05:14:59.566610 return table_template.render(extra_context, self.request) 2021-07-07 05:14:59.566621 File "/usr/local/lib/python3.8/dist-packages/django/template/backends/django.py", line 61, in render 2021-07-07 05:14:59.566632 return self.template.render(context) 2021-07-07 05:14:59.566641 File "/usr/local/lib/python3.8/dist-packages/django/template/base.py", line 171, in render 2021-07-07 05:14:59.566651 return self._render(context) 2021-07-07 05:14:59.566660 File "/usr/local/lib/python3.8/dist-packages/django/template/base.py", line 163, in _render 2021-07-07 05:14:59.566671 return self.nodelist.render(context) 2021-07-07 05:14:59.566680 File "/usr/local/lib/python3.8/dist-packages/django/template/base.py", line 937, in render 2021-07-07 05:14:59.566690 bit = node.render_annotated(context) 2021-07-07 05:14:59.566699 File "/usr/local/lib/python3.8/dist-packages/django/template/base.py", line 904, in render_annotated 2021-07-07 05:14:59.566709 return self.render(context) 2021-07-07 05:14:59.566718 File "/usr/local/lib/python3.8/dist-packages/django/template/defaulttags.py", line 513, in render 2021-07-07 05:14:59.566729 return self.nodelist.render(context) 2021-07-07 05:14:59.566738 File "/usr/local/lib/python3.8/dist-packages/django/template/base.py", line 937, in render 2021-07-07 05:14:59.566748 bit = node.render_annotated(context) 2021-07-07 05:14:59.566757 File "/usr/local/lib/python3.8/dist-packages/django/template/base.py", line 904, in render_annotated 2021-07-07 05:14:59.566768 return self.render(context) 2021-07-07 05:14:59.566776 File "/usr/local/lib/python3.8/dist-packages/django/template/defaulttags.py", line 513, in render 2021-07-07 05:14:59.566787 return self.nodelist.render(context) 2021-07-07 05:14:59.566816 File "/usr/local/lib/python3.8/dist-packages/django/template/base.py", line 937, in render 2021-07-07 05:14:59.566826 bit = node.render_annotated(context) 2021-07-07 05:14:59.566835 File "/usr/local/lib/python3.8/dist-packages/django/template/base.py", line 904, in render_annotated 2021-07-07 05:14:59.566846 return self.render(context) 2021-07-07 05:14:59.566855 File "/usr/local/lib/python3.8/dist-packages/django/template/loader_tags.py", line 53, in render 2021-07-07 05:14:59.566865 result = self.nodelist.render(context) 2021-07-07 05:14:59.566874 File "/usr/local/lib/python3.8/dist-packages/django/template/base.py", line 937, in render 2021-07-07 05:14:59.566884 bit = node.render_annotated(context) 2021-07-07 05:14:59.566893 File "/usr/local/lib/python3.8/dist-packages/django/template/base.py", line 904, in render_annotated 2021-07-07 05:14:59.566903 return self.render(context) 2021-07-07 05:14:59.566912 File "/usr/local/lib/python3.8/dist-packages/django/template/loader_tags.py", line 53, in render 2021-07-07 05:14:59.566923 result = self.nodelist.render(context) 2021-07-07 05:14:59.566932 File "/usr/local/lib/python3.8/dist-packages/django/template/base.py", line 937, in render 2021-07-07 05:14:59.566942 bit = node.render_annotated(context) 2021-07-07 05:14:59.566951 File "/usr/local/lib/python3.8/dist-packages/django/template/base.py", line 904, in render_annotated 2021-07-07 05:14:59.566987 return self.render(context) 2021-07-07 05:14:59.566999 File "/usr/local/lib/python3.8/dist-packages/django/template/defaulttags.py", line 209, in render 2021-07-07 05:14:59.567010 nodelist.append(node.render_annotated(context)) 2021-07-07 05:14:59.567019 File "/usr/local/lib/python3.8/dist-packages/django/template/base.py", line 904, in render_annotated 2021-07-07 05:14:59.567029 return self.render(context) 2021-07-07 05:14:59.567038 File "/usr/local/lib/python3.8/dist-packages/django/template/base.py", line 987, in render 2021-07-07 05:14:59.567048 output = self.filter_expression.resolve(context) 2021-07-07 05:14:59.567060 File "/usr/local/lib/python3.8/dist-packages/django/template/base.py", line 671, in resolve 2021-07-07 05:14:59.567075 obj = self.var.resolve(context) 2021-07-07 05:14:59.567086 File "/usr/local/lib/python3.8/dist-packages/django/template/base.py", line 796, in resolve 2021-07-07 05:14:59.567098 value = self._resolve_lookup(context) 2021-07-07 05:14:59.567110 File "/usr/local/lib/python3.8/dist-packages/django/template/base.py", line 858, in _resolve_lookup 2021-07-07 05:14:59.567121 current = current() 2021-07-07 05:14:59.567132 File "/opt/stack/horizon/horizon/tables/base.py", line 668, in render 2021-07-07 05:14:59.567144 return render_to_string("horizon/common/_data_table_row.html", 2021-07-07 05:14:59.567157 File "/usr/local/lib/python3.8/dist-packages/django/template/loader.py", line 62, in render_to_string 2021-07-07 05:14:59.567170 return template.render(context, request) 2021-07-07 05:14:59.567180 File "/usr/local/lib/python3.8/dist-packages/django/template/backends/django.py", line 61, in render 2021-07-07 05:14:59.567191 return self.template.render(context) 2021-07-07 05:14:59.567200 File "/usr/local/lib/python3.8/dist-packages/django/template/base.py", line 171, in render 2021-07-07 05:14:59.567210 return self._render(context) 2021-07-07 05:14:59.567219 File "/usr/local/lib/python3.8/dist-packages/django/template/base.py", line 163, in _render 2021-07-07 05:14:59.567229 return self.nodelist.render(context) 2021-07-07 05:14:59.567238 File "/usr/local/lib/python3.8/dist-packages/django/template/base.py", line 937, in render 2021-07-07 05:14:59.567248 bit = node.render_annotated(context) 2021-07-07 05:14:59.567257 File "/usr/local/lib/python3.8/dist-packages/django/template/base.py", line 904, in render_annotated 2021-07-07 05:14:59.567268 return self.render(context) 2021-07-07 05:14:59.567276 File "/usr/local/lib/python3.8/dist-packages/django/template/defaulttags.py", line 398, in render 2021-07-07 05:14:59.567332 return strip_spaces_between_tags(self.nodelist.render(context).strip()) 2021-07-07 05:14:59.567343 File "/usr/local/lib/python3.8/dist-packages/django/template/base.py", line 937, in render 2021-07-07 05:14:59.567354 bit = node.render_annotated(context) 2021-07-07 05:14:59.567363 File "/usr/local/lib/python3.8/dist-packages/django/template/base.py", line 904, in render_annotated 2021-07-07 05:14:59.567373 return self.render(context) 2021-07-07 05:14:59.567384 File "/usr/local/lib/python3.8/dist-packages/django/template/defaulttags.py", line 209, in render 2021-07-07 05:14:59.567397 nodelist.append(node.render_annotated(context)) 2021-07-07 05:14:59.567409 File "/usr/local/lib/python3.8/dist-packages/django/template/base.py", line 904, in render_annotated 2021-07-07 05:14:59.567422 return self.render(context) 2021-07-07 05:14:59.567433 File "/usr/local/lib/python3.8/dist-packages/django/template/loader_tags.py", line 188, in render 2021-07-07 05:14:59.567443 return template.render(context) 2021-07-07 05:14:59.567452 File "/usr/local/lib/python3.8/dist-packages/django/template/base.py", line 173, in render 2021-07-07 05:14:59.567462 return self._render(context) 2021-07-07 05:14:59.567471 File "/usr/local/lib/python3.8/dist-packages/django/template/base.py", line 163, in _render 2021-07-07 05:14:59.567481 return self.nodelist.render(context) 2021-07-07 05:14:59.567491 File "/usr/local/lib/python3.8/dist-packages/django/template/base.py", line 937, in render 2021-07-07 05:14:59.567501 bit = node.render_annotated(context) 2021-07-07 05:14:59.567510 File "/usr/local/lib/python3.8/dist-packages/django/template/base.py", line 904, in render_annotated 2021-07-07 05:14:59.567520 return self.render(context) 2021-07-07 05:14:59.567531 File "/usr/local/lib/python3.8/dist-packages/django/template/defaulttags.py", line 309, in render 2021-07-07 05:14:59.567544 return nodelist.render(context) 2021-07-07 05:14:59.567555 File "/usr/local/lib/python3.8/dist-packages/django/template/base.py", line 937, in render 2021-07-07 05:14:59.567577 bit = node.render_annotated(context) 2021-07-07 05:14:59.567588 File "/usr/local/lib/python3.8/dist-packages/django/template/base.py", line 904, in render_annotated 2021-07-07 05:14:59.567601 return self.render(context) 2021-07-07 05:14:59.567612 File "/usr/local/lib/python3.8/dist-packages/django/template/defaulttags.py", line 309, in render 2021-07-07 05:14:59.567625 return nodelist.render(context) 2021-07-07 05:14:59.567637 File "/usr/local/lib/python3.8/dist-packages/django/template/base.py", line 937, in render 2021-07-07 05:14:59.567647 bit = node.render_annotated(context) 2021-07-07 05:14:59.567656 File "/usr/local/lib/python3.8/dist-packages/django/template/base.py", line 904, in render_annotated 2021-07-07 05:14:59.567667 return self.render(context) 2021-07-07 05:14:59.567676 File "/usr/local/lib/python3.8/dist-packages/django/template/base.py", line 987, in render 2021-07-07 05:14:59.567686 output = self.filter_expression.resolve(context) 2021-07-07 05:14:59.567695 File "/usr/local/lib/python3.8/dist-packages/django/template/base.py", line 671, in resolve 2021-07-07 05:14:59.567705 obj = self.var.resolve(context) 2021-07-07 05:14:59.567714 File "/usr/local/lib/python3.8/dist-packages/django/template/base.py", line 796, in resolve 2021-07-07 05:14:59.567724 value = self._resolve_lookup(context) 2021-07-07 05:14:59.567734 File "/usr/local/lib/python3.8/dist-packages/django/template/base.py", line 837, in _resolve_lookup 2021-07-07 05:14:59.567744 current = getattr(current, bit) 2021-07-07 05:14:59.567753 File "/opt/stack/horizon/horizon/utils/html.py", line 65, in attr_string 2021-07-07 05:14:59.567762 return flatatt(self.get_final_attrs()) 2021-07-07 05:14:59.567771 File "/opt/stack/horizon/horizon/utils/html.py", line 43, in get_final_attrs 2021-07-07 05:14:59.567781 final_attrs['class'] = self.get_final_css() 2021-07-07 05:14:59.567800 File "/opt/stack/horizon/horizon/utils/html.py", line 51, in get_final_css 2021-07-07 05:14:59.567810 default = " ".join(self.get_default_classes()) 2021-07-07 05:14:59.567819 File "/opt/stack/horizon/horizon/tables/base.py", line 867, in get_default_classes 2021-07-07 05:14:59.567829 if not self.url: 2021-07-07 05:14:59.567837 File "/opt/stack/horizon/horizon/tables/base.py", line 831, in url 2021-07-07 05:14:59.567847 url = self.column.get_link_url(self.datum) 2021-07-07 05:14:59.567856 File "/opt/stack/horizon/horizon/tables/base.py", line 474, in get_link_url 2021-07-07 05:14:59.567866 return self.link(datum) 2021-07-07 05:14:59.567875 File "/opt/stack/horizon/openstack_dashboard/dashboards/admin/instances/tables.py", line 218, in user_link 2021-07-07 05:14:59.567885 return urls.reverse("horizon:identity:users:detail", 2021-07-07 05:14:59.567895 File "/usr/local/lib/python3.8/dist-packages/django/urls/base.py", line 90, in reverse 2021-07-07 05:14:59.567905 return iri_to_uri(resolver._reverse_with_prefix(view, prefix, *args, **kwargs)) 2021-07-07 05:14:59.567915 File "/usr/local/lib/python3.8/dist-packages/django/urls/resolvers.py", line 673, in _reverse_with_prefix 2021-07-07 05:14:59.567933 raise NoReverseMatch(msg) 2021-07-07 05:14:59.567942 django.urls.exceptions.NoReverseMatch: Reverse for 'detail' not found. 'detail' is not a valid view function or pattern name. To manage notifications about this bug go to: https://bugs.launchpad.net/horizon/+bug/1934853/+subscriptions -- Mailing list: https://launchpad.net/~yahoo-eng-team Post to : yahoo-eng-team@lists.launchpad.net Unsubscribe : https://launchpad.net/~yahoo-eng-team More help : https://help.launchpad.net/ListHelp