diff --git a/lib/ansible/modules/cloud/azure/azure_rm_virtualmachine_scaleset.py b/lib/ansible/modules/cloud/azure/azure_rm_virtualmachine_scaleset.py index 83416869cf2..77a153b1e32 100644 --- a/lib/ansible/modules/cloud/azure/azure_rm_virtualmachine_scaleset.py +++ b/lib/ansible/modules/cloud/azure/azure_rm_virtualmachine_scaleset.py @@ -531,6 +531,13 @@ class AzureRMVirtualMachineScaleSet(AzureRMModuleBase): differences.append('Data Disks') changed = True + if self.upgrade_policy and \ + self.upgrade_policy != vmss_dict['properties']['upgradePolicy']['mode']: + self.log('CHANGED: virtual machine scale set {0} - Upgrade Policy'.format(self.name)) + differences.append('Upgrade Policy') + changed = True + vmss_dict['properties']['upgradePolicy']['mode'] = self.upgrade_policy + update_tags, vmss_dict['tags'] = self.update_tags(vmss_dict.get('tags', dict())) if update_tags: differences.append('Tags') diff --git a/test/integration/targets/azure_rm_virtualmachine_scaleset/tasks/main.yml b/test/integration/targets/azure_rm_virtualmachine_scaleset/tasks/main.yml index 0dff0d0a97d..914533cb2c1 100644 --- a/test/integration/targets/azure_rm_virtualmachine_scaleset/tasks/main.yml +++ b/test/integration/targets/azure_rm_virtualmachine_scaleset/tasks/main.yml @@ -59,6 +59,38 @@ assert: that: results.changed +- name: Create VMSS -- test upgrade_policy idempotence + azure_rm_virtualmachine_scaleset: + resource_group: "{{ resource_group }}" + name: testVMSS{{ rpfx }} + vm_size: Standard_DS1_v2 + admin_username: testuser + ssh_password_enabled: true + admin_password: "Password1234!" + capacity: 2 + virtual_network_name: testVnet + subnet_name: testSubnet + upgrade_policy: Automatic + tier: Standard + managed_disk_type: Standard_LRS + os_disk_caching: ReadWrite + image: + offer: CoreOS + publisher: CoreOS + sku: Stable + version: latest + data_disks: + - lun: 0 + disk_size_gb: 64 + caching: ReadWrite + managed_disk_type: Standard_LRS + check_mode: yes + register: results + +- name: Assert that VMSS was created + assert: + that: results.changed + - name: Retrieve scaleset facts azure_rm_virtualmachine_scaleset_facts: resource_group: "{{ resource_group }}"