From 2f858e656c5527877793d0c76c9e9420c2edc080 Mon Sep 17 00:00:00 2001 From: Angus Salkeld Date: Mon, 16 Apr 2012 10:00:39 +1000 Subject: [PATCH] Check errors better in resolve_attributes() Add a little more debug. Signed-off-by: Angus Salkeld --- heat/engine/parser.py | 7 ++++++- heat/engine/resources.py | 1 + 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/heat/engine/parser.py b/heat/engine/parser.py index ce23e007b8..84497d0a37 100644 --- a/heat/engine/parser.py +++ b/heat/engine/parser.py @@ -303,7 +303,12 @@ class Stack(object): elif i == 'Fn::GetAtt': resource_name = s[i][0] key_name = s[i][1] - return self.resources[resource_name].FnGetAtt(key_name) + res = self.resources.get(resource_name) + rc = None + if res: + rc = res.FnGetAtt(key_name) + #print 'found attr:%s.%s=%s' % (res.name, key_name, rc) + return rc else: s[i] = self.resolve_attributes(s[i]) elif isinstance(s, list): diff --git a/heat/engine/resources.py b/heat/engine/resources.py index b44bd8641c..430d27c3d9 100644 --- a/heat/engine/resources.py +++ b/heat/engine/resources.py @@ -447,6 +447,7 @@ class Instance(Resource): # TODO(asalkeld) PrivateDnsName, PublicDnsName & PrivateIp + print '%s.GetAtt(%s) == %s' % (self.name, key, res) return unicode(res) def create(self):