From: Steve Baker Date: Thu, 15 Aug 2013 23:23:49 +0000 (+1200) Subject: Move _delete_server to nova_utils X-Git-Tag: 2014.1~195 X-Git-Url: https://review.fuel-infra.org/gitweb?a=commitdiff_plain;h=54201351d039867f8b94e2e27d20150e3ec25f1b;p=openstack-build%2Fheat-build.git Move _delete_server to nova_utils Refactoring as part of blueprint native-nova-instance. Change-Id: Iaf3ab0333d891e6ac3bb07832a1acffd3e5ba43e --- diff --git a/heat/engine/resources/instance.py b/heat/engine/resources/instance.py index 995d7659..8e861e7e 100644 --- a/heat/engine/resources/instance.py +++ b/heat/engine/resources/instance.py @@ -326,7 +326,8 @@ class Instance(resource.Resource): fault = server.fault or {} message = fault.get('message', 'Unknown') code = fault.get('code', 500) - delete = scheduler.TaskRunner(self._delete_server, server) + delete = scheduler.TaskRunner( + nova_utils.delete_server, server) delete(wait_time=0.2) exc = exception.Error(_("Build of server %(server)s failed: " "%(message)s (%(code)s)") % @@ -414,21 +415,6 @@ class Instance(resource.Resource): # make sure the image exists. nova_utils.get_image_id(self.nova(), self.properties['ImageId']) - def _delete_server(self, server): - ''' - Return a co-routine that deletes the server and waits for it to - disappear from Nova. - ''' - server.delete() - - while True: - yield - - try: - server.get() - except clients.novaclient.exceptions.NotFound: - break - def _detach_volumes_task(self): ''' Detach volumes from the instance @@ -453,7 +439,8 @@ class Instance(resource.Resource): except clients.novaclient.exceptions.NotFound: pass else: - delete = scheduler.TaskRunner(self._delete_server, server) + delete = scheduler.TaskRunner( + nova_utils.delete_server, server) delete(wait_time=0.2) self.resource_id = None diff --git a/heat/engine/resources/nova_utils.py b/heat/engine/resources/nova_utils.py index 644c88b9..a2a69752 100644 --- a/heat/engine/resources/nova_utils.py +++ b/heat/engine/resources/nova_utils.py @@ -173,3 +173,19 @@ def build_userdata(resource, userdata=None): mime_blob = MIMEMultipart(_subparts=subparts) return mime_blob.as_string() + + +def delete_server(server): + ''' + Return a co-routine that deletes the server and waits for it to + disappear from Nova. + ''' + server.delete() + + while True: + yield + + try: + server.get() + except clients.novaclient.exceptions.NotFound: + break