]> review.fuel-infra Code Review - openstack-build/heat-build.git/commitdiff
Wait for server to enter the ACTIVE state or ERROR state and send events
authorSteven Dake <sdake@redhat.com>
Thu, 29 Mar 2012 23:25:11 +0000 (16:25 -0700)
committerSteven Dake <sdake@redhat.com>
Thu, 29 Mar 2012 23:25:11 +0000 (16:25 -0700)
Signed-off-by: Steven Dake <sdake@redhat.com>
heat/engine/resources.py

index 1a8102c4c19ff8fcd6c6099579e453662d588dc0..7abc491a83d66a405ee831c0c7ba8a68e63c9b73 100644 (file)
@@ -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):