diff options
| author | Dan Prince <dan.prince@rackspace.com> | 2011-09-13 10:15:54 -0400 |
|---|---|---|
| committer | Dan Prince <dan.prince@rackspace.com> | 2011-09-13 10:15:54 -0400 |
| commit | a0d2519c783774762e7b9efbcbdb75c55ad69faa (patch) | |
| tree | 8613ef06589753442cdcbb43522f959c1c52f0ba | |
| parent | a0689f84bf45e49916f26c28ce7a56cfc58fb591 (diff) | |
| download | keystone-a0d2519c783774762e7b9efbcbdb75c55ad69faa.tar.gz keystone-a0d2519c783774762e7b9efbcbdb75c55ad69faa.tar.xz keystone-a0d2519c783774762e7b9efbcbdb75c55ad69faa.zip | |
Update keystone-manage commands to convert tenant name to id. Fixes #lp849007
Change-Id: Ibcb5e5627fc9bf7c97d839cc28bc46986199dc2a
| -rw-r--r-- | keystone/manage/api.py | 24 |
1 files changed, 23 insertions, 1 deletions
diff --git a/keystone/manage/api.py b/keystone/manage/api.py index ffd5bc25..acd15a58 100644 --- a/keystone/manage/api.py +++ b/keystone/manage/api.py @@ -5,6 +5,11 @@ import keystone.backends.models as db_models def add_user(name, password, tenant=None): + + dbtenant = db_api.TENANT.get_by_name(tenant) + if dbtenant: + tenant = dbtenant.id + obj = db_models.User() obj.name = name obj.password = password @@ -64,7 +69,11 @@ def list_role_assignments(tenant): def list_roles(tenant=None): + if tenant: + dbtenant = db_api.TENANT.get_by_name(tenant) + if dbtenant: + tenant = dbtenant.id return list_role_assignments(tenant) else: objects = db_api.ROLE.get_all() @@ -78,13 +87,17 @@ def grant_role(role, user, tenant=None): # translate username to user id duser = db_api.USER.get_by_name(name=user) if duser: - # print 'WARNING: Swapping', user, 'for', duser.id user = duser.id + dbtenant = db_api.TENANT.get_by_name(tenant) + if dbtenant: + tenant = dbtenant.id + obj = db_models.UserRoleAssociation() obj.role_id = role obj.user_id = user obj.tenant_id = tenant + return db_api.USER.user_role_add(obj) @@ -161,6 +174,15 @@ def list_services(): def add_credentials(user, type, key, secrete, tenant=None): + + duser = db_api.USER.get_by_name(name=user) + if duser: + user = duser.id + + dbtenant = db_api.TENANT.get_by_name(tenant) + if dbtenant: + tenant = dbtenant.id + obj = db_models.Token() obj.user_id = user obj.type = type |
