From 7e7e38c069af34894d4f770291a40c4987f0e61c Mon Sep 17 00:00:00 2001 From: smile37773 <714389288@qq.com> Date: Thu, 20 Jun 2019 10:14:08 +0800 Subject: [PATCH 1/7] modify the vm --- lib/ansible/modules/cloud/azure/azure_rm_virtualmachine.py | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/lib/ansible/modules/cloud/azure/azure_rm_virtualmachine.py b/lib/ansible/modules/cloud/azure/azure_rm_virtualmachine.py index 61bd2e7dfaa630..144bb5d0113fd9 100644 --- a/lib/ansible/modules/cloud/azure/azure_rm_virtualmachine.py +++ b/lib/ansible/modules/cloud/azure/azure_rm_virtualmachine.py @@ -993,6 +993,12 @@ def exec_module(self, **kwargs): elif self.image and isinstance(self.image, str): custom_image = True image_reference = self.get_custom_image_reference(self.image) + elif 'id' in self.image: + if self.image['id'] is not None: + try: + image_reference = self.compute_models.ImageReference(id=self.image['id']) + except Exception as exc: + self.fail("WrongId Error: Cannot get image reference from the id - {0}".format(self.image['id'])) elif self.image: self.fail("parameter error: expecting image to be a string or dict not {0}".format(type(self.image).__name__)) From f81b34ff4e58a162e0d418d3339a3595317e5646 Mon Sep 17 00:00:00 2001 From: smile37773 <714389288@qq.com> Date: Thu, 20 Jun 2019 10:59:06 +0800 Subject: [PATCH 2/7] modify the vm --- .../cloud/azure/azure_rm_virtualmachine.py | 23 +++++++++++++------ 1 file changed, 16 insertions(+), 7 deletions(-) diff --git a/lib/ansible/modules/cloud/azure/azure_rm_virtualmachine.py b/lib/ansible/modules/cloud/azure/azure_rm_virtualmachine.py index 144bb5d0113fd9..6827b4e88a7b37 100644 --- a/lib/ansible/modules/cloud/azure/azure_rm_virtualmachine.py +++ b/lib/ansible/modules/cloud/azure/azure_rm_virtualmachine.py @@ -510,6 +510,16 @@ name: customimage001 resource_group: myResourceGroup +- name: Create a VM with a image id + azure_rm_virtualmachine: + resource_group: myResourceGroup + name: testvm001 + vm_size: Standard_DS1_v2 + admin_username: adminUser + admin_password: password01 + image: + id: '/subscriptions//resourceGroups//providers/Microsoft.Compute/galleries//images/rhel-7-cis/versions/1.0.1' + - name: Create VM with spcified OS disk size azure_rm_virtualmachine: resource_group: myResourceGroup @@ -988,17 +998,16 @@ def exec_module(self, **kwargs): image_reference = self.get_custom_image_reference( self.image.get('name'), self.image.get('resource_group')) + elif self.image.get('id'): + try: + image_reference = self.compute_models.ImageReference(id=self.image['id']) + except Exception as exc: + self.fail("id Error: Cannot get image from the reference id - {0}".format(self.image['id'])) else: - self.fail("parameter error: expecting image to contain [publisher, offer, sku, version] or [name, resource_group]") + self.fail("parameter error: expecting image to contain [publisher, offer, sku, version], [name, resource_group] or [id]") elif self.image and isinstance(self.image, str): custom_image = True image_reference = self.get_custom_image_reference(self.image) - elif 'id' in self.image: - if self.image['id'] is not None: - try: - image_reference = self.compute_models.ImageReference(id=self.image['id']) - except Exception as exc: - self.fail("WrongId Error: Cannot get image reference from the id - {0}".format(self.image['id'])) elif self.image: self.fail("parameter error: expecting image to be a string or dict not {0}".format(type(self.image).__name__)) From 8562f83cfb2a131874ecf06f37aed1348c912032 Mon Sep 17 00:00:00 2001 From: smile37773 <714389288@qq.com> Date: Thu, 20 Jun 2019 11:54:29 +0800 Subject: [PATCH 3/7] fix the error of 'line too long' --- lib/ansible/modules/cloud/azure/azure_rm_virtualmachine.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/ansible/modules/cloud/azure/azure_rm_virtualmachine.py b/lib/ansible/modules/cloud/azure/azure_rm_virtualmachine.py index 6827b4e88a7b37..98508cde5e0ae7 100644 --- a/lib/ansible/modules/cloud/azure/azure_rm_virtualmachine.py +++ b/lib/ansible/modules/cloud/azure/azure_rm_virtualmachine.py @@ -518,7 +518,7 @@ admin_username: adminUser admin_password: password01 image: - id: '/subscriptions//resourceGroups//providers/Microsoft.Compute/galleries//images/rhel-7-cis/versions/1.0.1' + id: '{{image_id}}' - name: Create VM with spcified OS disk size azure_rm_virtualmachine: From 832843643e83c697b0218ae7238e778133eba600 Mon Sep 17 00:00:00 2001 From: smile37773 <714389288@qq.com> Date: Thu, 20 Jun 2019 12:07:20 +0800 Subject: [PATCH 4/7] Modify syntax error --- lib/ansible/modules/cloud/azure/azure_rm_virtualmachine.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/ansible/modules/cloud/azure/azure_rm_virtualmachine.py b/lib/ansible/modules/cloud/azure/azure_rm_virtualmachine.py index 98508cde5e0ae7..6400b1515b853d 100644 --- a/lib/ansible/modules/cloud/azure/azure_rm_virtualmachine.py +++ b/lib/ansible/modules/cloud/azure/azure_rm_virtualmachine.py @@ -510,7 +510,7 @@ name: customimage001 resource_group: myResourceGroup -- name: Create a VM with a image id +- name: Create a VM with an image id azure_rm_virtualmachine: resource_group: myResourceGroup name: testvm001 From e68b98144471f7fcea694c3baaf6e620cdf972b6 Mon Sep 17 00:00:00 2001 From: smile37773 <714389288@qq.com> Date: Thu, 20 Jun 2019 12:15:01 +0800 Subject: [PATCH 5/7] modify the id sample --- lib/ansible/modules/cloud/azure/azure_rm_virtualmachine.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/ansible/modules/cloud/azure/azure_rm_virtualmachine.py b/lib/ansible/modules/cloud/azure/azure_rm_virtualmachine.py index 6400b1515b853d..3d542d290ac908 100644 --- a/lib/ansible/modules/cloud/azure/azure_rm_virtualmachine.py +++ b/lib/ansible/modules/cloud/azure/azure_rm_virtualmachine.py @@ -518,7 +518,7 @@ admin_username: adminUser admin_password: password01 image: - id: '{{image_id}}' + id: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx - name: Create VM with spcified OS disk size azure_rm_virtualmachine: From 882a045b98e4d250541bfdf6c46baf99d44d90de Mon Sep 17 00:00:00 2001 From: smile37773 <714389288@qq.com> Date: Thu, 20 Jun 2019 13:07:32 +0800 Subject: [PATCH 6/7] modify the test file --- .../azure_rm_virtualmachine/tasks/azure_test_invalid.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/test/integration/targets/azure_rm_virtualmachine/tasks/azure_test_invalid.yml b/test/integration/targets/azure_rm_virtualmachine/tasks/azure_test_invalid.yml index 3b362e7de643c3..86ec72de1fb6b6 100644 --- a/test/integration/targets/azure_rm_virtualmachine/tasks/azure_test_invalid.yml +++ b/test/integration/targets/azure_rm_virtualmachine/tasks/azure_test_invalid.yml @@ -6,7 +6,7 @@ image: offer: UbuntuServer register: fail_invalid_image_dict - failed_when: 'fail_invalid_image_dict.msg != "parameter error: expecting image to contain [publisher, offer, sku, version] or [name, resource_group]"' + failed_when: 'fail_invalid_image_dict.msg != "parameter error: expecting image to contain [publisher, offer, sku, version], [name, resource_group] or [id]"' - name: Assert error thrown with invalid image type azure_rm_virtualmachine: From d59a7f510b3f8b9687e0e172edb6748832291a45 Mon Sep 17 00:00:00 2001 From: smile37773 <714389288@qq.com> Date: Thu, 20 Jun 2019 13:41:37 +0800 Subject: [PATCH 7/7] fix the image_id --- lib/ansible/modules/cloud/azure/azure_rm_virtualmachine.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/ansible/modules/cloud/azure/azure_rm_virtualmachine.py b/lib/ansible/modules/cloud/azure/azure_rm_virtualmachine.py index 3d542d290ac908..6400b1515b853d 100644 --- a/lib/ansible/modules/cloud/azure/azure_rm_virtualmachine.py +++ b/lib/ansible/modules/cloud/azure/azure_rm_virtualmachine.py @@ -518,7 +518,7 @@ admin_username: adminUser admin_password: password01 image: - id: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx + id: '{{image_id}}' - name: Create VM with spcified OS disk size azure_rm_virtualmachine: