summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorYuwei Zhou <yuwzho@microsoft.com>2018-05-28 15:45:01 +0800
committerMatt Clay <matt@mystile.com>2018-06-07 16:28:49 -0700
commitca992f5aba180a2f6bcc87b5a949679050a1757b (patch)
treefe75dac39c5939ecdd2be4aefaff99e562a3c552
parent3ed8300dff5dd27a0406e581b811bbf6f4852fbb (diff)
downloadansible-ca992f5aba180a2f6bcc87b5a949679050a1757b.tar.gz
Fixes #39648 azure_rm_virtualnetwork not handling DNS settings properly on existing virtual networks (#40646)
* check nullable * add test * fix * fix (cherry picked from commit 7b9864776aa468c7435d42685cbc9e5d12fa358e)
-rw-r--r--lib/ansible/modules/cloud/azure/azure_rm_virtualnetwork.py2
-rw-r--r--test/integration/targets/azure_rm_virtualnetwork/tasks/main.yml11
2 files changed, 12 insertions, 1 deletions
diff --git a/lib/ansible/modules/cloud/azure/azure_rm_virtualnetwork.py b/lib/ansible/modules/cloud/azure/azure_rm_virtualnetwork.py
index b461cdd83e..b3d1832a79 100644
--- a/lib/ansible/modules/cloud/azure/azure_rm_virtualnetwork.py
+++ b/lib/ansible/modules/cloud/azure/azure_rm_virtualnetwork.py
@@ -257,7 +257,7 @@ class AzureRMVirtualNetwork(AzureRMModuleBase):
changed = True
if self.dns_servers:
- existing_dns_set = set(vnet.dhcp_options.dns_servers)
+ existing_dns_set = set(vnet.dhcp_options.dns_servers) if vnet.dhcp_options else set([])
requested_dns_set = set(self.dns_servers)
if existing_dns_set != requested_dns_set:
self.log('CHANGED: replacing DNS servers')
diff --git a/test/integration/targets/azure_rm_virtualnetwork/tasks/main.yml b/test/integration/targets/azure_rm_virtualnetwork/tasks/main.yml
index a978aff4f7..7554be5149 100644
--- a/test/integration/targets/azure_rm_virtualnetwork/tasks/main.yml
+++ b/test/integration/targets/azure_rm_virtualnetwork/tasks/main.yml
@@ -10,6 +10,17 @@
address_prefixes_cidr:
- 10.1.0.0/16
- 172.100.0.0/16
+ tags:
+ testing: testing
+ delete: on-exit
+ resource_group: "{{ resource_group }}"
+
+- name: Create virtual network
+ azure_rm_virtualnetwork:
+ name: my_test_network
+ address_prefixes_cidr:
+ - 10.1.0.0/16
+ - 172.100.0.0/16
dns_servers:
- 127.0.0.1
- 127.0.0.3