From 9347cb43cc23b3acb2d059b5278f3b5335cee334 Mon Sep 17 00:00:00 2001 From: Thai Tran Date: Fri, 8 May 2015 11:57:59 -0700 Subject: [PATCH] Keystone REST handles default role incorrectly The keystone REST currently assigns a role to the user even if the role is the default role (_member_). This causes keystone client v2 to return an error. This patch fixes this issue. Change-Id: I6de6c66eb88abfd23a171c0f13aeff2f707991e2 Closes-bug: #1453245 Co-Authored-By: Richard Jones --- openstack_dashboard/api/rest/keystone.py | 8 -------- openstack_dashboard/test/api_tests/keystone_rest_tests.py | 4 ++-- 2 files changed, 2 insertions(+), 10 deletions(-) diff --git a/openstack_dashboard/api/rest/keystone.py b/openstack_dashboard/api/rest/keystone.py index 969e86b3f9..070af26826 100644 --- a/openstack_dashboard/api/rest/keystone.py +++ b/openstack_dashboard/api/rest/keystone.py @@ -80,14 +80,6 @@ class Users(generic.View): domain=domain.id ) - # assign role to user - api.keystone.add_tenant_user_role( - request, - project=request.DATA.get('project_id'), - user=new_user.id, - role=request.DATA.get('role_id') - ) - return rest_utils.CreatedResponse( '/api/keystone/users/%s' % new_user.id, new_user.to_dict() diff --git a/openstack_dashboard/test/api_tests/keystone_rest_tests.py b/openstack_dashboard/test/api_tests/keystone_rest_tests.py index 789fa80d67..8d3e8321db 100644 --- a/openstack_dashboard/test/api_tests/keystone_rest_tests.py +++ b/openstack_dashboard/test/api_tests/keystone_rest_tests.py @@ -125,7 +125,7 @@ class KeystoneRestTestCase(test.TestCase): ) @mock.patch.object(keystone.api, 'keystone') - def _test_user_create(self, supplied_body, expected_call, kc): + def _test_user_create(self, supplied_body, add_user_call, kc): request = self.mock_rest_request(body=supplied_body) kc.get_default_domain.return_value = mock.Mock(**{'id': 'the_domain'}) kc.user_create.return_value.id = 'user123' @@ -140,7 +140,7 @@ class KeystoneRestTestCase(test.TestCase): '/api/keystone/users/user123') self.assertEqual(response.content, '{"id": "user123", ' '"name": "bob"}') - kc.user_create.assert_called_once_with(request, **expected_call) + kc.user_create.assert_called_once_with(request, **add_user_call) @mock.patch.object(keystone.api, 'keystone') def test_user_delete_many(self, kc):