From cb5fae02f50342b4d0621653c89151bfbf67ff75 Mon Sep 17 00:00:00 2001 From: Zane Bitter Date: Fri, 30 Aug 2013 15:16:24 +0200 Subject: [PATCH] Parallelise Instance updates Change-Id: I358f7fbdb3232f4bf528d170476935ef2b4239cc --- heat/engine/resources/instance.py | 8 +++++++- heat/engine/resources/rackspace/cloud_server.py | 2 -- 2 files changed, 7 insertions(+), 3 deletions(-) diff --git a/heat/engine/resources/instance.py b/heat/engine/resources/instance.py index f2796a6f..d8509c9b 100644 --- a/heat/engine/resources/instance.py +++ b/heat/engine/resources/instance.py @@ -345,7 +345,13 @@ class Instance(resource.Resource): flavor_id = nova_utils.get_flavor_id(self.nova(), flavor) server = self.nova().servers.get(self.resource_id) server.resize(flavor_id) - scheduler.TaskRunner(nova_utils.check_resize, server, flavor)() + checker = scheduler.TaskRunner(nova_utils.check_resize, + server, flavor) + checker.start() + return checker + + def check_update_complete(self, checker): + return checker.step() if checker is not None else True def metadata_update(self, new_metadata=None): ''' diff --git a/heat/engine/resources/rackspace/cloud_server.py b/heat/engine/resources/rackspace/cloud_server.py index 16584919..d46e4eb7 100644 --- a/heat/engine/resources/rackspace/cloud_server.py +++ b/heat/engine/resources/rackspace/cloud_server.py @@ -431,8 +431,6 @@ zypper --non-interactive in cloud-init python-boto python-pip gcc python-devel elif 'name' in prop_diff: logger.info("Cloud Server rename not supported.") - return True - def _resolve_attribute(self, key): """Return the method that provides a given template attribute.""" attribute_function = {'PublicIp': self.public_ip, -- 2.45.2