From 40c4b44d02717b2aa8f420ca516ce662d2a1b978 Mon Sep 17 00:00:00 2001 From: Zane Bitter Date: Tue, 18 Jun 2013 10:41:40 +0200 Subject: [PATCH] Return None for physical resource name during validation 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 | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/heat/engine/resource.py b/heat/engine/resource.py index ebad8adb..dd68939d 100644 --- a/heat/engine/resource.py +++ b/heat/engine/resource.py @@ -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, -- 2.45.2