From 625ee36e06bccfe2f1c3413411c9f23b32936e48 Mon Sep 17 00:00:00 2001 From: Abhijeet Kasurde Date: Wed, 24 May 2017 21:46:23 +0530 Subject: [PATCH] Make os_volume idempotent (#24881) Fix adds idempotency while deleting volume in os_volume module Fixes #19619 Signed-off-by: Abhijeet Kasurde --- .../modules/cloud/openstack/os_volume.py | 18 ++++++++++-------- 1 file changed, 10 insertions(+), 8 deletions(-) diff --git a/lib/ansible/modules/cloud/openstack/os_volume.py b/lib/ansible/modules/cloud/openstack/os_volume.py index 17d820aa20..96476b197d 100644 --- a/lib/ansible/modules/cloud/openstack/os_volume.py +++ b/lib/ansible/modules/cloud/openstack/os_volume.py @@ -131,14 +131,16 @@ def _present_volume(module, cloud): def _absent_volume(module, cloud): - try: - cloud.delete_volume( - name_or_id=module.params['display_name'], - wait=module.params['wait'], - timeout=module.params['timeout']) - except shade.OpenStackCloudTimeout: - module.exit_json(changed=False) - module.exit_json(changed=True) + changed = False + if cloud.volume_exists(module.params['display_name']): + try: + changed = cloud.delete_volume(name_or_id=module.params['display_name'], + wait=module.params['wait'], + timeout=module.params['timeout']) + except shade.OpenStackCloudTimeout: + module.exit_json(changed=changed) + + module.exit_json(changed=changed) def main():