From 0c4a741224a8ceaeae604fea03c40c299992fdfe Mon Sep 17 00:00:00 2001 From: Steven Hardy Date: Wed, 26 Jun 2013 14:59:29 +0100 Subject: [PATCH] engine : autoscaling refactor Instance list->object logic 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 | 19 +++++++++++++------ 1 file changed, 13 insertions(+), 6 deletions(-) diff --git a/heat/engine/resources/autoscaling.py b/heat/engine/resources/autoscaling.py index fe75db2e..f19204dc 100644 --- a/heat/engine/resources/autoscaling.py +++ b/heat/engine/resources/autoscaling.py @@ -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): -- 2.45.2