summaryrefslogtreecommitdiffstats
path: root/nova
diff options
context:
space:
mode:
authorMark McLoughlin <markmc@redhat.com>2012-03-30 14:34:14 +0100
committerMark McLoughlin <markmc@redhat.com>2012-03-30 14:36:59 +0100
commit283ea4a16622287c476141736d373405119f3e79 (patch)
tree40c0bf64b252511ba1a8e34f29fbb03056a0257d /nova
parent75676812e867a36778fa5b1beb3d2dbfcb87bec2 (diff)
Export user id as password to keystone when using noauth
Fixes bug #969208 When using noauth, a user's password is her user id (e.g. in novarc). When we export to keystone, we should make sure the same credentials keep working rather than effectively switching all the passwords to random UUIDs which users would never have seen before. Change-Id: Ie77c622ce1952d03e836bb64167184022a02e902
Diffstat (limited to 'nova')
-rw-r--r--nova/tests/test_nova_manage.py24
1 files changed, 17 insertions, 7 deletions
diff --git a/nova/tests/test_nova_manage.py b/nova/tests/test_nova_manage.py
index a91657ac4..d3ef7ed95 100644
--- a/nova/tests/test_nova_manage.py
+++ b/nova/tests/test_nova_manage.py
@@ -239,7 +239,14 @@ class NetworkCommandsTestCase(test.TestCase):
class ExportAuthTestCase(test.TestCase):
- def test_export(self):
+ def test_export_with_noauth(self):
+ self._do_test_export()
+
+ def test_export_with_deprecated_auth(self):
+ self.flags(auth_strategy='deprecated')
+ self._do_test_export(noauth=False)
+
+ def _do_test_export(self, noauth=True):
self.flags(allowed_roles=['role1', 'role2'])
am = nova.auth.manager.AuthManager(new=True)
user1 = am.create_user('user1', 'a1', 's1')
@@ -255,11 +262,14 @@ class ExportAuthTestCase(test.TestCase):
commands = nova_manage.ExportCommands()
output = commands._get_auth_data()
+ def pw(idx):
+ return ('user' if noauth else 'a') + str(idx)
+
expected = {
"users": [
- {"id": "user1", "name": "user1", 'password': 'a1'},
- {"id": "user2", "name": "user2", 'password': 'a2'},
- {"id": "user3", "name": "user3", 'password': 'a3'},
+ {"id": "user1", "name": "user1", 'password': pw(1)},
+ {"id": "user2", "name": "user2", 'password': pw(2)},
+ {"id": "user3", "name": "user3", 'password': pw(3)},
],
"roles": ["role1", "role2"],
"role_user_tenant_list": [
@@ -273,9 +283,9 @@ class ExportAuthTestCase(test.TestCase):
{"tenant_id": "proj2", "user_id": "user3"},
],
"ec2_credentials": [
- {"access_key": "a1", "secret_key": "s1", "user_id": "user1"},
- {"access_key": "a2", "secret_key": "s2", "user_id": "user2"},
- {"access_key": "a3", "secret_key": "s3", "user_id": "user3"},
+ {"access_key": pw(1), "secret_key": "s1", "user_id": "user1"},
+ {"access_key": pw(2), "secret_key": "s2", "user_id": "user2"},
+ {"access_key": pw(3), "secret_key": "s3", "user_id": "user3"},
],
"tenants": [
{"description": "proj1", "id": "proj1", "name": "proj1"},