From 1bceec98ca5a3a1229b1faee7bc23c99fc5c37b9 Mon Sep 17 00:00:00 2001 From: Ross Bender Date: Sat, 20 Nov 2021 12:12:03 -0600 Subject: [PATCH] correct idempotency for premium app service plans --- plugins/modules/azure_rm_appserviceplan.py | 2 +- .../azure_rm_appserviceplan/tasks/main.yml | 38 +++++++++++++++++-- 2 files changed, 36 insertions(+), 4 deletions(-) diff --git a/plugins/modules/azure_rm_appserviceplan.py b/plugins/modules/azure_rm_appserviceplan.py index 81dc7055b..0e67380c7 100644 --- a/plugins/modules/azure_rm_appserviceplan.py +++ b/plugins/modules/azure_rm_appserviceplan.py @@ -265,7 +265,7 @@ def exec_module(self, **kwargs): self.tags = newtags # check if sku changed - if self.sku and _normalize_sku(self.sku) != old_response['sku']['size']: + if self.sku and _normalize_sku(self.sku) != _normalize_sku(old_response['sku']['size']): to_be_updated = True # check if number_of_workers changed diff --git a/tests/integration/targets/azure_rm_appserviceplan/tasks/main.yml b/tests/integration/targets/azure_rm_appserviceplan/tasks/main.yml index f5746232e..3e0906bfc 100644 --- a/tests/integration/targets/azure_rm_appserviceplan/tasks/main.yml +++ b/tests/integration/targets/azure_rm_appserviceplan/tasks/main.yml @@ -1,8 +1,14 @@ +- name: Prepare facts + set_fact: + resource_prefix: "{{ resource_group_secondary | hash('md5') | truncate(7, True, '') }}{{ 1000 | random }}" + run_once: yes + - name: Prepare facts set_fact: linux_plan_resource_group: "{{ resource_group_secondary }}" win_plan_name: "{{ (resource_prefix | replace('-','x'))[-8:] }}winplan" linux_plan_name: "{{ (resource_prefix | replace('-','x'))[-8:] }}linplan" + run_once: yes - name: create a windows plan azure_rm_appserviceplan: @@ -13,7 +19,7 @@ - name: assert app service was created assert: - that: + that: - output.changed - output.id @@ -28,7 +34,7 @@ - name: assert app service was created assert: - that: + that: - output.changed - output.id @@ -53,7 +59,7 @@ number_of_workers: 1 register: output -- name: assert app service was created +- name: assert app service is not updated assert: that: not output.changed @@ -82,3 +88,29 @@ assert: that: - output.changed + +- name: create premium linux plan + azure_rm_appserviceplan: + resource_group: "{{ linux_plan_resource_group }}" + name: "{{ linux_plan_name }}-premium" + sku: P1v2 + is_linux: true + register: output + +- name: assert app service was created + assert: + that: + - output.changed + - output.id + +- name: create premium linux plan idempotent + azure_rm_appserviceplan: + resource_group: "{{ linux_plan_resource_group }}" + name: "{{ linux_plan_name }}-premium" + sku: P1v2 + is_linux: true + register: output + +- name: assert app service is not updated + assert: + that: not output.changed