From: Steven Dake Date: Thu, 29 Mar 2012 23:25:11 +0000 (-0700) Subject: Wait for server to enter the ACTIVE state or ERROR state and send events X-Git-Tag: 2014.1~2126 X-Git-Url: https://review.fuel-infra.org/gitweb?a=commitdiff_plain;h=12897989c0ac7bb8850f19f5e0b29c84e33296fd;p=openstack-build%2Fheat-build.git Wait for server to enter the ACTIVE state or ERROR state and send events Signed-off-by: Steven Dake --- diff --git a/heat/engine/resources.py b/heat/engine/resources.py index 1a8102c4..7abc491a 100644 --- a/heat/engine/resources.py +++ b/heat/engine/resources.py @@ -307,10 +307,14 @@ class Instance(Resource): flavor_id = o.id server = nova_client.servers.create(name=self.name, image=image_id, flavor=flavor_id, key_name=key_name) - # TODO(sdake) - # wait for server to start then send event - self.instance_id = server.id - self.state_set(self.CREATE_COMPLETE) + while server.status == 'BUILD': + server.get() + time.sleep(0.1) + if server.status == 'ACTIVE': + self.state_set(self.CREATE_COMPLETE) + self.instance_id = server.id + else: + self.state_set(self.CREATE_FAILED) def insert_package_and_services(self, r, new_script):