]> review.fuel-infra Code Review - openstack-build/heat-build.git/commitdiff
engine : autoscaling refactor Instance list->object logic
authorSteven Hardy <shardy@redhat.com>
Wed, 26 Jun 2013 13:59:29 +0000 (14:59 +0100)
committerSteven Hardy <shardy@redhat.com>
Wed, 26 Jun 2013 15:24:34 +0000 (16:24 +0100)
Refactor the conversion from instance list to GroupedInstance
objects, so it's not contained by the handle_delete and can be
reused (e.g for suspend)

Change-Id: Iaaf8b7568e06fa50b03348ad3bb61a7da91be127

heat/engine/resources/autoscaling.py

index fe75db2ef59875adfe92b2d83764846689e858f6..f19204dc90091aec79d8cccaa33850644c1e608d 100644 (file)
@@ -132,14 +132,21 @@ class InstanceGroup(resource.Resource):
         instance_definition = self.stack.t['Resources'][conf]
         return GroupedInstance(name, instance_definition, self.stack)
 
-    def handle_delete(self):
+    def _instances(self):
+        '''
+        Convert the stored instance list into a list of GroupedInstance objects
+        '''
+        gi_list = []
         if self.resource_id is not None:
             inst_list = self.resource_id.split(',')
-            logger.debug('handle_delete %s' % str(inst_list))
-            for victim in inst_list:
-                logger.debug('handle_delete %s' % victim)
-                inst = self._make_instance(victim)
-                inst.destroy()
+            for i in inst_list:
+                gi_list.append(self._make_instance(i))
+        return gi_list
+
+    def handle_delete(self):
+        for inst in self._instances():
+            logger.debug('handle_delete %s' % inst.name)
+            inst.destroy()
 
     @scheduler.wrappertask
     def _scale(self, instance_task, indices):