summaryrefslogtreecommitdiff
path: root/heat/engine/resources/volume_base.py
diff options
context:
space:
mode:
Diffstat (limited to 'heat/engine/resources/volume_base.py')
-rw-r--r--heat/engine/resources/volume_base.py13
1 files changed, 8 insertions, 5 deletions
diff --git a/heat/engine/resources/volume_base.py b/heat/engine/resources/volume_base.py
index f959ce6b7..e870afecc 100644
--- a/heat/engine/resources/volume_base.py
+++ b/heat/engine/resources/volume_base.py
@@ -197,11 +197,10 @@ class BaseVolumeAttachment(resource.Resource):
if self.resource_id:
server_id = self.properties[self.INSTANCE_ID]
vol_id = self.properties[self.VOLUME_ID]
- self.client_plugin('nova').detach_volume(server_id,
- self.resource_id)
- prg = progress.VolumeDetachProgress(
- server_id, vol_id, self.resource_id)
- prg.called = True
+ prg = progress.VolumeDetachProgress(server_id, vol_id,
+ self.resource_id)
+ prg.called = self.client_plugin('nova').detach_volume(
+ server_id, self.resource_id)
return prg
@@ -209,6 +208,10 @@ class BaseVolumeAttachment(resource.Resource):
if prg is None:
return True
+ if not prg.called:
+ prg.called = self.client_plugin('nova').detach_volume(
+ prg.srv_id, self.resource_id)
+ return False
if not prg.cinder_complete:
prg.cinder_complete = self.client_plugin(
).check_detach_volume_complete(prg.vol_id, prg.srv_id)