From f575468f2af806a9b224bfa7524eda2f8d33ca8d Mon Sep 17 00:00:00 2001 From: Maxence Date: Thu, 2 Sep 2021 01:51:00 +0000 Subject: [PATCH 1/4] availabilityset: update "changed" even in checkmode if creating/updating --- plugins/modules/azure_rm_availabilityset.py | 1 + 1 file changed, 1 insertion(+) diff --git a/plugins/modules/azure_rm_availabilityset.py b/plugins/modules/azure_rm_availabilityset.py index 1af19d15c..c3cf81f4a 100644 --- a/plugins/modules/azure_rm_availabilityset.py +++ b/plugins/modules/azure_rm_availabilityset.py @@ -286,6 +286,7 @@ def exec_module(self, **kwargs): self.faildeploy('sku') if self.check_mode: + self.results['changed'] = to_be_updated return self.results if to_be_updated: From d9d07601add7e24ff29a629eb3641b69ab0a165f Mon Sep 17 00:00:00 2001 From: Maxence Date: Thu, 2 Sep 2021 01:59:20 +0000 Subject: [PATCH 2/4] Improve availabilityset check mode tests --- .../azure_rm_availabilityset/tasks/main.yml | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) diff --git a/tests/integration/targets/azure_rm_availabilityset/tasks/main.yml b/tests/integration/targets/azure_rm_availabilityset/tasks/main.yml index 76c157dc6..50d89d294 100644 --- a/tests/integration/targets/azure_rm_availabilityset/tasks/main.yml +++ b/tests/integration/targets/azure_rm_availabilityset/tasks/main.yml @@ -1,3 +1,15 @@ +- name: Create an availability set with default options - Check Mode + azure_rm_availabilityset: + name: myavailabilityset1 + resource_group: "{{ resource_group }}" + tags: + tag1: testtag + register: results + check_mode: yes + +- assert: + that: results.changed + - name: Create an availability set with default options azure_rm_availabilityset: name: myavailabilityset1 @@ -113,7 +125,7 @@ - assert: that: - - not results.changed + - results.changed - results.state.tags.checktest1 == 'modified1' # From 8664b999b164239ba72aa2d26e40f8d79ede09d0 Mon Sep 17 00:00:00 2001 From: Maxence Date: Thu, 2 Sep 2021 02:11:18 +0000 Subject: [PATCH 3/4] AvailabilitySet: Fix check_mode support for state: absent --- plugins/modules/azure_rm_availabilityset.py | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/plugins/modules/azure_rm_availabilityset.py b/plugins/modules/azure_rm_availabilityset.py index c3cf81f4a..de5793c29 100644 --- a/plugins/modules/azure_rm_availabilityset.py +++ b/plugins/modules/azure_rm_availabilityset.py @@ -294,8 +294,11 @@ def exec_module(self, **kwargs): self.results['changed'] = True elif self.state == 'absent': - self.delete_availabilityset() - self.results['changed'] = True + response = self.get_availabilityset() + if response: + if not self.check_mode: + self.delete_availabilityset() + self.results['changed'] = True return self.results From e05c944791f7d44e2d7b36cf0b1fd2d91041650c Mon Sep 17 00:00:00 2001 From: Maxence Date: Thu, 2 Sep 2021 02:14:02 +0000 Subject: [PATCH 4/4] availabilityset: add test cases for check_mode --- .../azure_rm_availabilityset/tasks/main.yml | 21 +++++++++++++++++++ 1 file changed, 21 insertions(+) diff --git a/tests/integration/targets/azure_rm_availabilityset/tasks/main.yml b/tests/integration/targets/azure_rm_availabilityset/tasks/main.yml index 50d89d294..7dc00bf26 100644 --- a/tests/integration/targets/azure_rm_availabilityset/tasks/main.yml +++ b/tests/integration/targets/azure_rm_availabilityset/tasks/main.yml @@ -146,6 +146,16 @@ - results.ansible_info.azure_availabilitysets[0].sku == 'Aligned' - results.ansible_info.azure_availabilitysets[0].properties.proximityPlacementGroup.id.split('/')[-1] == ppgroup_name +- name: Delete an availability set - Check Mode + azure_rm_availabilityset: + name: myavailabilityset1 + resource_group: "{{ resource_group }}" + state: absent + check_mode: yes + register: results +- assert: + that: + - results.changed - name: Delete an availability set azure_rm_availabilityset: @@ -153,6 +163,17 @@ resource_group: "{{ resource_group }}" state: absent +- name: Delete an availability set already deleted - Check Mode + azure_rm_availabilityset: + name: myavailabilityset1 + resource_group: "{{ resource_group }}" + state: absent + check_mode: yes + register: results +- assert: + that: + - not results.changed + - name: Delete an availability set azure_rm_availabilityset: name: myavailabilityset2