From 12897989c0ac7bb8850f19f5e0b29c84e33296fd Mon Sep 17 00:00:00 2001 From: Steven Dake Date: Thu, 29 Mar 2012 16:25:11 -0700 Subject: [PATCH] Wait for server to enter the ACTIVE state or ERROR state and send events Signed-off-by: Steven Dake --- heat/engine/resources.py | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) 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): -- 2.45.2