]> review.fuel-infra Code Review - openstack-build/heat-build.git/commitdiff
Avoid unneccesary template parsing
authorZane Bitter <zbitter@redhat.com>
Wed, 11 Jul 2012 14:41:40 +0000 (10:41 -0400)
committerZane Bitter <zbitter@redhat.com>
Wed, 11 Jul 2012 15:17:33 +0000 (11:17 -0400)
Only parse the parts of the resource template that we need.

Change-Id: I4628e699452dc390848fc15197a5e04a3095399a
Signed-off-by: Zane Bitter <zbitter@redhat.com>
heat/engine/cloud_watch.py
heat/engine/instance.py
heat/engine/resources.py

index 13cf97d843ddd4710ea76df92d3475be00b83635..451986ea9545459f433b449513577494ad450161 100644 (file)
@@ -63,7 +63,7 @@ class CloudWatchAlarm(Resource):
     def handle_create(self):
         wr_values = {
             'name': self.name,
-            'rule': self.parsed_template()['Properties'],
+            'rule': self.parsed_template('Properties'),
             'state': 'NORMAL',
             'stack_name': self.stack.name
         }
index 07de667b056680d23842de4cd030590335fb96ed..0bc122381e77bc447addea02113e93a009e52d27 100644 (file)
@@ -183,7 +183,7 @@ class Instance(resources.Resource):
                            (userdata, 'startup', 'x-shellscript')]
 
             if 'Metadata' in self.t:
-                metadata = self.parsed_template()['Metadata']
+                metadata = self.parsed_template('Metadata')
                 attachments.append((json.dumps(metadata),
                                     'cfn-init-data', 'x-cfninitdata'))
 
index 54564bfcc02f96776f957dccb4476fd486b97a8d..5fa519aeb8e72833b7d934a8d69cafbf41769725 100644 (file)
@@ -69,14 +69,6 @@ class Resource(object):
         self.name = name
         self.t = stack.resolve_static_data(json_snippet)
         self.properties = checkeddict.Properties(name, self.properties_schema)
-        if 'Properties' not in self.t:
-            # make a dummy entry to prevent having to check all over the
-            # place for it.
-            self.t['Properties'] = {}
-        if 'Metadata' not in self.t:
-            # make a dummy entry to prevent having to check all over the
-            # place for it.
-            self.t['Metadata'] = {}
 
         resource = db_api.resource_get_by_name_and_stack(self.context,
                                                          name, stack.id)
@@ -146,7 +138,7 @@ class Resource(object):
         return self._nova[service_type]
 
     def calculate_properties(self):
-        for p, v in self.parsed_template()['Properties'].items():
+        for p, v in self.parsed_template('Properties').items():
             self.properties[p] = v
 
     def create(self):
@@ -285,7 +277,7 @@ class Resource(object):
                 logger.error('DB error %s' % str(ex))
 
         elif new_state in (self.CREATE_COMPLETE, self.CREATE_FAILED):
-            self._create_db(metadata=self.parsed_template()['Metadata'])
+            self._create_db(metadata=self.parsed_template('Metadata'))
 
         if new_state != old_state:
             self._add_event(new_state, reason)