cloudstack: cs_volume: simplify detach on state=absent

This commit is contained in:
Rene Moser 2015-12-20 00:29:20 +01:00 committed by Matt Clay
parent 3796e26a9d
commit c7f6b5e41f

View file

@ -394,18 +394,15 @@ class AnsibleCloudStackVolume(AnsibleCloudStack):
volume = self.get_volume() volume = self.get_volume()
if volume: if volume:
if 'attached' in volume: if 'attached' in volume and not self.module.param.get('force'):
if self.module.param.get('force'): self.module.fail_json(msg="Volume '%s' is attached, use force=true for detaching and removing the volume." % volume.get('name'))
self.detached_volume()
else:
self.module.fail_json(msg="Volume '%s' is attached, use force=true for detaching and removing the volume." % volume.get('name'))
self.result['changed'] = True self.result['changed'] = True
if not self.module.check_mode: if not self.module.check_mode:
volume = self.detached_volume() volume = self.detached_volume()
res = self.cs.deleteVolume(id=volume['id']) res = self.cs.deleteVolume(id=volume['id'])
if 'errortext' in volume: if 'errortext' in res:
self.module.fail_json(msg="Failed: '%s'" % res['errortext']) self.module.fail_json(msg="Failed: '%s'" % res['errortext'])
poll_async = self.module.params.get('poll_async') poll_async = self.module.params.get('poll_async')
if poll_async: if poll_async: