diff options
author | Jenkins <jenkins@review.openstack.org> | 2014-09-27 16:38:57 +0000 |
---|---|---|
committer | Gerrit Code Review <review@openstack.org> | 2014-09-27 16:38:57 +0000 |
commit | 8aebceb670132a3495c4e58b55ec1690e7ec5315 (patch) | |
tree | 884143db690b0de84c888a3b99401abbd114d6d5 | |
parent | 5fe448ef1853a1e5f3868c6e39746374db969019 (diff) | |
parent | d9eebfdbc6116f9e1442aa5d201d7e961225360a (diff) | |
download | heat-8aebceb670132a3495c4e58b55ec1690e7ec5315.tar.gz |
Merge "Add keystone v2 keypair methods"
-rw-r--r-- | contrib/heat_keystoneclient_v2/heat_keystoneclient_v2/client.py | 7 | ||||
-rw-r--r-- | heat/engine/stack_user.py | 8 |
2 files changed, 14 insertions, 1 deletions
diff --git a/contrib/heat_keystoneclient_v2/heat_keystoneclient_v2/client.py b/contrib/heat_keystoneclient_v2/heat_keystoneclient_v2/client.py index 81846c6c2..674958c98 100644 --- a/contrib/heat_keystoneclient_v2/heat_keystoneclient_v2/client.py +++ b/contrib/heat_keystoneclient_v2/heat_keystoneclient_v2/client.py @@ -223,6 +223,13 @@ class KeystoneClientV2(object): '''Pass through method since no project was created.''' pass + def create_stack_domain_user_keypair(self, user_id, project_id): + return self.create_ec2_keypair(user_id) + + def delete_stack_domain_user_keypair(self, user_id, project_id, + credential_id): + return self.delete_ec2_keypair(user_id, credential_id) + # ###################### # # V3 Unsupported Methods # # ###################### # diff --git a/heat/engine/stack_user.py b/heat/engine/stack_user.py index 978888807..6994a7c05 100644 --- a/heat/engine/stack_user.py +++ b/heat/engine/stack_user.py @@ -132,7 +132,13 @@ class StackUser(resource.Resource): raise exception.Error(_("Error creating ec2 keypair for user %s") % user_id) else: - self.data_set('credential_id', kp.id, redact=True) + try: + credential_id = kp.id + except AttributeError: + # keystone v2 keypairs do not have an id attribute. Use the + # access key instead. + credential_id = kp.access + self.data_set('credential_id', credential_id, redact=True) self.data_set('access_key', kp.access, redact=True) self.data_set('secret_key', kp.secret, redact=True) return kp |