2013-01-30 15:46:28 |
Julie Pichon |
description |
Horizon requires a default keystone role to be defined in the settings. Depending on the installation guide they follow, users can easily end up with no "Member" group defined (the current default) and not be aware of the issue except for a few admin functions not working.
When the default group doesn't exist and an admin user tries to e.g. edit a project, the message on the web UI will read:
"Error: An error occurred. Please try again."
And in the logs: "AttributeError: 'NoneType' object has no attribute 'id'", e.g.
[Wed Jan 16 01:15:29 2013] [error] extra_context = {"form": self.action,
[Wed Jan 16 01:15:29 2013] [error] File "/opt/stack/horizon/openstack_dashboard/wsgi/../../horizon/workflows/base.py", line 360, in action
[Wed Jan 16 01:15:29 2013] [error] context)
[Wed Jan 16 01:15:29 2013] [error] File "/opt/stack/horizon/openstack_dashboard/wsgi/../../openstack_dashboard/dashboards/admin/projects/workflows.py", line 117, in __init__
[Wed Jan 16 01:15:29 2013] [error] redirect=reverse(INDEX_URL))
[Wed Jan 16 01:15:29 2013] [error] File "/opt/stack/horizon/openstack_dashboard/wsgi/../../openstack_dashboard/dashboards/admin/projects/workflows.py", line 113, in __init__
[Wed Jan 16 01:15:29 2013] [error] default_role = api.keystone.get_default_role(self.request).id
[Wed Jan 16 01:15:29 2013] [error] AttributeError: 'NoneType' object has no attribute 'id'
(see also bug #1084119).
Horizon should provide a more specific and helpful error message, such as "Could not find default role %s in Keystone" in the logs and ideally on the UI as well. |
Horizon requires a default keystone role to be defined in the settings. Depending on the installation guide they follow, users can easily end up with no "Member" group defined (the current default) and not be aware of the issue except for a few admin functions not working.
When the default group doesn't exist and an admin user tries to e.g. edit a project, the message on the web UI will read:
"Error: An error occurred. Please try again."
And in the logs: "AttributeError: 'NoneType' object has no attribute 'id'", e.g.
[Wed Jan 16 01:15:29 2013] [error] extra_context = {"form": self.action,
[Wed Jan 16 01:15:29 2013] [error] File "/opt/stack/horizon/openstack_dashboard/wsgi/../../horizon/workflows/base.py", line 360, in action
[Wed Jan 16 01:15:29 2013] [error] context)
[Wed Jan 16 01:15:29 2013] [error] File "/opt/stack/horizon/openstack_dashboard/wsgi/../../openstack_dashboard/dashboards/admin/projects/workflows.py", line 117, in __init__
[Wed Jan 16 01:15:29 2013] [error] redirect=reverse(INDEX_URL))
[Wed Jan 16 01:15:29 2013] [error] File "/opt/stack/horizon/openstack_dashboard/wsgi/../../openstack_dashboard/dashboards/admin/projects/workflows.py", line 113, in __init__
[Wed Jan 16 01:15:29 2013] [error] default_role = api.keystone.get_default_role(self.request).id
[Wed Jan 16 01:15:29 2013] [error] AttributeError: 'NoneType' object has no attribute 'id'
(see also bug #1084119).
Horizon should provide a more specific and helpful error message, such as "Could not find default role %s in Keystone" in the logs and ideally on the UI as well.
Steps to reproduce:
1. Change the OPENSTACK_KEYSTONE_DEFAULT_ROLE in the local settings to a role name that doesn't exist
2. Restart the webserver
3. As an admin, go to the Admin Project tabs and click on Modify users |
|