author | david.comay@oracle.com |
Mon, 16 Jun 2014 01:54:54 -0700 | |
branch | s11-update |
changeset 3180 | 073132dbad0e |
permissions | -rw-r--r-- |
3180
073132dbad0e
18720708 Error: Unable to add userto primary project when adding user via Horizon
david.comay@oracle.com
parents:
diff
changeset
|
1 |
This proposed upstream patch addresses |
073132dbad0e
18720708 Error: Unable to add userto primary project when adding user via Horizon
david.comay@oracle.com
parents:
diff
changeset
|
2 |
|
073132dbad0e
18720708 Error: Unable to add userto primary project when adding user via Horizon
david.comay@oracle.com
parents:
diff
changeset
|
3 |
18720708 Error: Unable to add userto primary project when adding user |
073132dbad0e
18720708 Error: Unable to add userto primary project when adding user via Horizon
david.comay@oracle.com
parents:
diff
changeset
|
4 |
via Horizon |
073132dbad0e
18720708 Error: Unable to add userto primary project when adding user via Horizon
david.comay@oracle.com
parents:
diff
changeset
|
5 |
|
073132dbad0e
18720708 Error: Unable to add userto primary project when adding user via Horizon
david.comay@oracle.com
parents:
diff
changeset
|
6 |
and is tracked under Launchpad bug 1260439. Although it's been |
073132dbad0e
18720708 Error: Unable to add userto primary project when adding user via Horizon
david.comay@oracle.com
parents:
diff
changeset
|
7 |
addressed in the Juno trunk, the patch below is still not yet released |
073132dbad0e
18720708 Error: Unable to add userto primary project when adding user via Horizon
david.comay@oracle.com
parents:
diff
changeset
|
8 |
for Havana. It has been modified to apply cleanly into our current |
073132dbad0e
18720708 Error: Unable to add userto primary project when adding user via Horizon
david.comay@oracle.com
parents:
diff
changeset
|
9 |
Havana implementation |
073132dbad0e
18720708 Error: Unable to add userto primary project when adding user via Horizon
david.comay@oracle.com
parents:
diff
changeset
|
10 |
|
073132dbad0e
18720708 Error: Unable to add userto primary project when adding user via Horizon
david.comay@oracle.com
parents:
diff
changeset
|
11 |
commit f5ded29d9a73db4c225cbfb664e7d85e5aa0996b |
073132dbad0e
18720708 Error: Unable to add userto primary project when adding user via Horizon
david.comay@oracle.com
parents:
diff
changeset
|
12 |
Author: Matthias Runge <[email protected]> |
073132dbad0e
18720708 Error: Unable to add userto primary project when adding user via Horizon
david.comay@oracle.com
parents:
diff
changeset
|
13 |
Date: Fri May 23 11:36:54 2014 +0200 |
073132dbad0e
18720708 Error: Unable to add userto primary project when adding user via Horizon
david.comay@oracle.com
parents:
diff
changeset
|
14 |
|
073132dbad0e
18720708 Error: Unable to add userto primary project when adding user via Horizon
david.comay@oracle.com
parents:
diff
changeset
|
15 |
Prevent error message when creating a user |
073132dbad0e
18720708 Error: Unable to add userto primary project when adding user via Horizon
david.comay@oracle.com
parents:
diff
changeset
|
16 |
|
073132dbad0e
18720708 Error: Unable to add userto primary project when adding user via Horizon
david.comay@oracle.com
parents:
diff
changeset
|
17 |
keystone changed behaviour and didn't add the user |
073132dbad0e
18720708 Error: Unable to add userto primary project when adding user via Horizon
david.comay@oracle.com
parents:
diff
changeset
|
18 |
to the specified role. Now it does; this patch |
073132dbad0e
18720708 Error: Unable to add userto primary project when adding user via Horizon
david.comay@oracle.com
parents:
diff
changeset
|
19 |
prevents an exception popping up without breaking |
073132dbad0e
18720708 Error: Unable to add userto primary project when adding user via Horizon
david.comay@oracle.com
parents:
diff
changeset
|
20 |
with previous versions. |
073132dbad0e
18720708 Error: Unable to add userto primary project when adding user via Horizon
david.comay@oracle.com
parents:
diff
changeset
|
21 |
|
073132dbad0e
18720708 Error: Unable to add userto primary project when adding user via Horizon
david.comay@oracle.com
parents:
diff
changeset
|
22 |
Change-Id: I115a5126b70ae3c7733aa065bf55104f88cc42e5 |
073132dbad0e
18720708 Error: Unable to add userto primary project when adding user via Horizon
david.comay@oracle.com
parents:
diff
changeset
|
23 |
Closes-Bug: #1260439 |
073132dbad0e
18720708 Error: Unable to add userto primary project when adding user via Horizon
david.comay@oracle.com
parents:
diff
changeset
|
24 |
|
073132dbad0e
18720708 Error: Unable to add userto primary project when adding user via Horizon
david.comay@oracle.com
parents:
diff
changeset
|
25 |
--- horizon-2013.2.3/openstack_dashboard/dashboards/admin/users/forms.py.~1~ 2014-04-03 11:45:53.000000000 -0700 |
073132dbad0e
18720708 Error: Unable to add userto primary project when adding user via Horizon
david.comay@oracle.com
parents:
diff
changeset
|
26 |
+++ horizon-2013.2.3/openstack_dashboard/dashboards/admin/users/forms.py 2014-06-11 12:54:51.517905246 -0700 |
073132dbad0e
18720708 Error: Unable to add userto primary project when adding user via Horizon
david.comay@oracle.com
parents:
diff
changeset
|
27 |
@@ -122,15 +122,21 @@ |
073132dbad0e
18720708 Error: Unable to add userto primary project when adding user via Horizon
david.comay@oracle.com
parents:
diff
changeset
|
28 |
_('User "%s" was successfully created.') |
073132dbad0e
18720708 Error: Unable to add userto primary project when adding user via Horizon
david.comay@oracle.com
parents:
diff
changeset
|
29 |
% data['name']) |
073132dbad0e
18720708 Error: Unable to add userto primary project when adding user via Horizon
david.comay@oracle.com
parents:
diff
changeset
|
30 |
if data['role_id']: |
073132dbad0e
18720708 Error: Unable to add userto primary project when adding user via Horizon
david.comay@oracle.com
parents:
diff
changeset
|
31 |
- try: |
073132dbad0e
18720708 Error: Unable to add userto primary project when adding user via Horizon
david.comay@oracle.com
parents:
diff
changeset
|
32 |
- api.keystone.add_tenant_user_role(request, |
073132dbad0e
18720708 Error: Unable to add userto primary project when adding user via Horizon
david.comay@oracle.com
parents:
diff
changeset
|
33 |
- data['project'], |
073132dbad0e
18720708 Error: Unable to add userto primary project when adding user via Horizon
david.comay@oracle.com
parents:
diff
changeset
|
34 |
- new_user.id, |
073132dbad0e
18720708 Error: Unable to add userto primary project when adding user via Horizon
david.comay@oracle.com
parents:
diff
changeset
|
35 |
- data['role_id']) |
073132dbad0e
18720708 Error: Unable to add userto primary project when adding user via Horizon
david.comay@oracle.com
parents:
diff
changeset
|
36 |
- except Exception: |
073132dbad0e
18720708 Error: Unable to add userto primary project when adding user via Horizon
david.comay@oracle.com
parents:
diff
changeset
|
37 |
- exceptions.handle(request, |
073132dbad0e
18720708 Error: Unable to add userto primary project when adding user via Horizon
david.comay@oracle.com
parents:
diff
changeset
|
38 |
- _('Unable to add user ' |
073132dbad0e
18720708 Error: Unable to add userto primary project when adding user via Horizon
david.comay@oracle.com
parents:
diff
changeset
|
39 |
- 'to primary project.')) |
073132dbad0e
18720708 Error: Unable to add userto primary project when adding user via Horizon
david.comay@oracle.com
parents:
diff
changeset
|
40 |
+ roles = api.keystone.roles_for_user(request, |
073132dbad0e
18720708 Error: Unable to add userto primary project when adding user via Horizon
david.comay@oracle.com
parents:
diff
changeset
|
41 |
+ new_user.id, |
073132dbad0e
18720708 Error: Unable to add userto primary project when adding user via Horizon
david.comay@oracle.com
parents:
diff
changeset
|
42 |
+ data['project']) or [] |
073132dbad0e
18720708 Error: Unable to add userto primary project when adding user via Horizon
david.comay@oracle.com
parents:
diff
changeset
|
43 |
+ assigned = [role for role in roles if role.id == str( |
073132dbad0e
18720708 Error: Unable to add userto primary project when adding user via Horizon
david.comay@oracle.com
parents:
diff
changeset
|
44 |
+ data['role_id'])] |
073132dbad0e
18720708 Error: Unable to add userto primary project when adding user via Horizon
david.comay@oracle.com
parents:
diff
changeset
|
45 |
+ if not assigned: |
073132dbad0e
18720708 Error: Unable to add userto primary project when adding user via Horizon
david.comay@oracle.com
parents:
diff
changeset
|
46 |
+ try: |
073132dbad0e
18720708 Error: Unable to add userto primary project when adding user via Horizon
david.comay@oracle.com
parents:
diff
changeset
|
47 |
+ api.keystone.add_tenant_user_role(request, |
073132dbad0e
18720708 Error: Unable to add userto primary project when adding user via Horizon
david.comay@oracle.com
parents:
diff
changeset
|
48 |
+ data['project'], |
073132dbad0e
18720708 Error: Unable to add userto primary project when adding user via Horizon
david.comay@oracle.com
parents:
diff
changeset
|
49 |
+ new_user.id, |
073132dbad0e
18720708 Error: Unable to add userto primary project when adding user via Horizon
david.comay@oracle.com
parents:
diff
changeset
|
50 |
+ data['role_id']) |
073132dbad0e
18720708 Error: Unable to add userto primary project when adding user via Horizon
david.comay@oracle.com
parents:
diff
changeset
|
51 |
+ except Exception: |
073132dbad0e
18720708 Error: Unable to add userto primary project when adding user via Horizon
david.comay@oracle.com
parents:
diff
changeset
|
52 |
+ exceptions.handle(request, |
073132dbad0e
18720708 Error: Unable to add userto primary project when adding user via Horizon
david.comay@oracle.com
parents:
diff
changeset
|
53 |
+ _('Unable to add user ' |
073132dbad0e
18720708 Error: Unable to add userto primary project when adding user via Horizon
david.comay@oracle.com
parents:
diff
changeset
|
54 |
+ 'to primary project.')) |
073132dbad0e
18720708 Error: Unable to add userto primary project when adding user via Horizon
david.comay@oracle.com
parents:
diff
changeset
|
55 |
return new_user |
073132dbad0e
18720708 Error: Unable to add userto primary project when adding user via Horizon
david.comay@oracle.com
parents:
diff
changeset
|
56 |
except Exception: |
073132dbad0e
18720708 Error: Unable to add userto primary project when adding user via Horizon
david.comay@oracle.com
parents:
diff
changeset
|
57 |
exceptions.handle(request, _('Unable to create user.')) |
073132dbad0e
18720708 Error: Unable to add userto primary project when adding user via Horizon
david.comay@oracle.com
parents:
diff
changeset
|
58 |
--- horizon-2013.2.3/openstack_dashboard/dashboards/admin/users/tests.py.~1~ 2014-04-03 11:45:53.000000000 -0700 |
073132dbad0e
18720708 Error: Unable to add userto primary project when adding user via Horizon
david.comay@oracle.com
parents:
diff
changeset
|
59 |
+++ horizon-2013.2.3/openstack_dashboard/dashboards/admin/users/tests.py 2014-06-11 13:44:29.437187509 -0700 |
073132dbad0e
18720708 Error: Unable to add userto primary project when adding user via Horizon
david.comay@oracle.com
parents:
diff
changeset
|
60 |
@@ -81,6 +81,7 @@ |
073132dbad0e
18720708 Error: Unable to add userto primary project when adding user via Horizon
david.comay@oracle.com
parents:
diff
changeset
|
61 |
'tenant_list', |
073132dbad0e
18720708 Error: Unable to add userto primary project when adding user via Horizon
david.comay@oracle.com
parents:
diff
changeset
|
62 |
'add_tenant_user_role', |
073132dbad0e
18720708 Error: Unable to add userto primary project when adding user via Horizon
david.comay@oracle.com
parents:
diff
changeset
|
63 |
'get_default_role', |
073132dbad0e
18720708 Error: Unable to add userto primary project when adding user via Horizon
david.comay@oracle.com
parents:
diff
changeset
|
64 |
+ 'roles_for_user', |
073132dbad0e
18720708 Error: Unable to add userto primary project when adding user via Horizon
david.comay@oracle.com
parents:
diff
changeset
|
65 |
'role_list')}) |
073132dbad0e
18720708 Error: Unable to add userto primary project when adding user via Horizon
david.comay@oracle.com
parents:
diff
changeset
|
66 |
def test_create(self): |
073132dbad0e
18720708 Error: Unable to add userto primary project when adding user via Horizon
david.comay@oracle.com
parents:
diff
changeset
|
67 |
user = self.users.get(id="1") |
073132dbad0e
18720708 Error: Unable to add userto primary project when adding user via Horizon
david.comay@oracle.com
parents:
diff
changeset
|
68 |
@@ -102,6 +103,7 @@ |
073132dbad0e
18720708 Error: Unable to add userto primary project when adding user via Horizon
david.comay@oracle.com
parents:
diff
changeset
|
69 |
domain=domain_id).AndReturn(user) |
073132dbad0e
18720708 Error: Unable to add userto primary project when adding user via Horizon
david.comay@oracle.com
parents:
diff
changeset
|
70 |
api.keystone.role_list(IgnoreArg()).AndReturn(self.roles.list()) |
073132dbad0e
18720708 Error: Unable to add userto primary project when adding user via Horizon
david.comay@oracle.com
parents:
diff
changeset
|
71 |
api.keystone.get_default_role(IgnoreArg()).AndReturn(role) |
073132dbad0e
18720708 Error: Unable to add userto primary project when adding user via Horizon
david.comay@oracle.com
parents:
diff
changeset
|
72 |
+ api.keystone.roles_for_user(IgnoreArg(), user.id, self.tenant.id) |
073132dbad0e
18720708 Error: Unable to add userto primary project when adding user via Horizon
david.comay@oracle.com
parents:
diff
changeset
|
73 |
api.keystone.add_tenant_user_role(IgnoreArg(), self.tenant.id, |
073132dbad0e
18720708 Error: Unable to add userto primary project when adding user via Horizon
david.comay@oracle.com
parents:
diff
changeset
|
74 |
user.id, role.id) |
073132dbad0e
18720708 Error: Unable to add userto primary project when adding user via Horizon
david.comay@oracle.com
parents:
diff
changeset
|
75 |