From: Zane Bitter Date: Tue, 15 May 2012 13:03:38 +0000 (+0200) Subject: Report errors when resource creation fails X-Git-Tag: 2014.1~1824 X-Git-Url: https://review.fuel-infra.org/gitweb?a=commitdiff_plain;h=0f1bd5d29102318e62b5a10281d809807bd3b163;p=openstack-build%2Fheat-build.git Report errors when resource creation fails In order for the Stack creation to fail, resources must raise an exception when their creation fails. The Stack's create code will set the resource state appropriately; resources should not silently do it themselves. Signed-off-by: Zane Bitter --- diff --git a/heat/engine/instance.py b/heat/engine/instance.py index 96eb54ea..84a4de59 100644 --- a/heat/engine/instance.py +++ b/heat/engine/instance.py @@ -193,7 +193,7 @@ class Instance(Resource): self.ipaddress = server.networks[n][0] break else: - self.state_set(self.CREATE_FAILED) + raise exception.Error(server.status) def validate(self): ''' diff --git a/heat/engine/volume.py b/heat/engine/volume.py index d3cd6db0..af3610ea 100644 --- a/heat/engine/volume.py +++ b/heat/engine/volume.py @@ -45,7 +45,7 @@ class Volume(Resource): self.instance_id_set(vol.id) self.state_set(self.CREATE_COMPLETE) else: - self.state_set(self.CREATE_FAILED) + raise exception.Error(vol.status) def validate(self): ''' @@ -100,7 +100,7 @@ class VolumeAttachment(Resource): self.instance_id_set(va.id) self.state_set(self.CREATE_COMPLETE) else: - self.state_set(self.CREATE_FAILED) + raise exception.Error(vol.status) def validate(self): ''' diff --git a/heat/engine/wait_condition.py b/heat/engine/wait_condition.py index db0025e1..7b30c97a 100644 --- a/heat/engine/wait_condition.py +++ b/heat/engine/wait_condition.py @@ -154,8 +154,7 @@ class WaitCondition(Resource): self.state_set(self.CREATE_COMPLETE, '%s: %s' % (self.name, reason)) else: - self.state_set(self.CREATE_FAILED, - '%s: %s' % (self.name, reason)) + raise exception.Error(reason) def delete(self): if self.state == self.DELETE_IN_PROGRESS or \