]> review.fuel-infra Code Review - openstack-build/heat-build.git/commitdiff
Return None for physical resource name during validation
authorZane Bitter <zbitter@redhat.com>
Tue, 18 Jun 2013 08:41:40 +0000 (10:41 +0200)
committerZane Bitter <zbitter@redhat.com>
Tue, 18 Jun 2013 08:41:40 +0000 (10:41 +0200)
During template validation, the resources have not been stored in the
database. Therefore any resources that return self.physical_resource_name()
in either FnGetRef() or FnGetAtt() would cause assertions whenever either
of those functions were called during validation. Instead, return None from
physical_resource_name() in this phase, as we do for other data that is not
available yet during validation.

Fixes bug #1191931

Change-Id: I1a5b17557ae1ca2600fb930e74eb5248c82e0326

heat/engine/resource.py

index ebad8adb1ca6ab1d0599444509428dcf8a446619..dd68939da2223b281a5e1107f4bdbf80886f3f5b 100644 (file)
@@ -418,7 +418,8 @@ class Resource(object):
             self.state_set(self.UPDATE, self.COMPLETE)
 
     def physical_resource_name(self):
-        assert self.id is not None
+        if self.id is None:
+            return None
 
         return '%s-%s-%s' % (self.stack.name,
                              self.name,