yahoo-eng-team team mailing list archive
-
yahoo-eng-team team
-
Mailing list archive
-
Message #86553
[Bug 1934853] [NEW] The instance action log for admin doesn't work if ANGULAR_FEATURES.users_panel is True
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