diff options
Diffstat (limited to 'heat/engine/resources/volume_base.py')
-rw-r--r-- | heat/engine/resources/volume_base.py | 13 |
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) |