]> review.fuel-infra Code Review - openstack-build/heat-build.git/commitdiff
Use stack.resource_by_refid to get the user resource.
authorSteve Baker <sbaker@redhat.com>
Tue, 5 Mar 2013 01:00:22 +0000 (14:00 +1300)
committerSteve Baker <sbaker@redhat.com>
Thu, 7 Mar 2013 22:04:32 +0000 (11:04 +1300)
Related to Bug #1131534
Change-Id: If8c9f0982f4a29c597c5ad3805637270e1a97f23

heat/engine/resources/user.py
heat/tests/test_user.py

index 4291059284922a2c3af53a3a67ff2bbd7d8c0b17..5e7bd563cdb1ef2cab0d68a303cec19b44d97692 100644 (file)
@@ -138,13 +138,7 @@ class AccessKey(resource.Resource):
         # into the UserName parameter.  Would be cleaner to just make the User
         # resource return resource_id for FnGetRefId but the AWS definition of
         # user does say it returns a user name not ID
-        for r in self.stack:
-            # this is to reduce the number of checks without having to
-            # look for the class name.
-            if callable(getattr(r, 'access_allowed', None)):
-                refid = r.FnGetRefId()
-                if refid == self.properties['UserName']:
-                    return r
+        return self.stack.resource_by_refid(self.properties['UserName'])
 
     def handle_create(self):
         try:
index 8fc6fa33fd4bcc5f55db5a4c3d79cd2df893f530..14e41232e6ac72ca9bf56e8d4cb29740ec4ea8f3 100644 (file)
@@ -279,6 +279,7 @@ class AccessKeyTest(unittest.TestCase):
             'test_stack.CfnUser'
         stack = self.parse_stack(t)
         stack.resources['CfnUser'].resource_id = self.fc.user_id
+        stack.resources['CfnUser'].state = 'CREATE_COMPLETE'
 
         resource = self.create_access_key(t, stack, 'HostKeys')