From: Steve Baker Date: Thu, 15 Aug 2013 23:38:19 +0000 (+1200) Subject: Move _check_resize to nova_utils X-Git-Tag: 2014.1~193 X-Git-Url: https://review.fuel-infra.org/gitweb?a=commitdiff_plain;h=e3681276fe47f15245e9039fb79c7d6f0c76169b;p=openstack-build%2Fheat-build.git Move _check_resize to nova_utils Refactoring as part of blueprint native-nova-instance. Change-Id: Ice9a4541316ad04ac04b24ac877e0fc3fbeae9c8 --- diff --git a/heat/engine/resources/instance.py b/heat/engine/resources/instance.py index 6946a60d..9972a34c 100644 --- a/heat/engine/resources/instance.py +++ b/heat/engine/resources/instance.py @@ -353,24 +353,7 @@ 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(self._check_resize, server, flavor)() - - def _check_resize(self, server, flavor): - """ - Verify that the server is properly resized. If that's the case, confirm - the resize, if not raise an error. - """ - yield - server.get() - while server.status == 'RESIZE': - yield - server.get() - if server.status == 'VERIFY_RESIZE': - server.confirm_resize() - else: - raise exception.Error( - _("Resizing to '%(flavor)s' failed, status '%(status)s'") % - dict(flavor=flavor, status=server.status)) + scheduler.TaskRunner(nova_utils.check_resize, server, flavor)() def metadata_update(self, new_metadata=None): ''' diff --git a/heat/engine/resources/nova_utils.py b/heat/engine/resources/nova_utils.py index 05969ebb..daf4d770 100644 --- a/heat/engine/resources/nova_utils.py +++ b/heat/engine/resources/nova_utils.py @@ -201,3 +201,21 @@ def delete_server(server): server.get() except clients.novaclient.exceptions.NotFound: break + + +def check_resize(server, flavor): + """ + Verify that the server is properly resized. If that's the case, confirm + the resize, if not raise an error. + """ + yield + server.get() + while server.status == 'RESIZE': + yield + server.get() + if server.status == 'VERIFY_RESIZE': + server.confirm_resize() + else: + raise exception.Error( + _("Resizing to '%(flavor)s' failed, status '%(status)s'") % + dict(flavor=flavor, status=server.status)) diff --git a/heat/engine/resources/rackspace/cloud_server.py b/heat/engine/resources/rackspace/cloud_server.py index 0faf64d4..16584919 100644 --- a/heat/engine/resources/rackspace/cloud_server.py +++ b/heat/engine/resources/rackspace/cloud_server.py @@ -418,7 +418,7 @@ zypper --non-interactive in cloud-init python-boto python-pip gcc python-devel if 'flavor' in prop_diff: self.flavor = json_snippet['Properties']['flavor'] self.server.resize(self.flavor) - resize = scheduler.TaskRunner(self._check_resize, + resize = scheduler.TaskRunner(nova_utils.check_resize, self.server, self.flavor) resize(wait_time=1.0)