From 0ee146fef2ae1e4130c83fd87d8cdaafd84d8bdd Mon Sep 17 00:00:00 2001 From: James Tanner Date: Mon, 16 Oct 2017 21:21:03 -0400 Subject: [PATCH] Fallback to the newer object type for dvswitch (cherry picked from commit 940bf1f62705e90c09389556f4f9d0c0c65a3060) --- lib/ansible/module_utils/vmware.py | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/lib/ansible/module_utils/vmware.py b/lib/ansible/module_utils/vmware.py index 5a7082da201..f05ea35f66c 100644 --- a/lib/ansible/module_utils/vmware.py +++ b/lib/ansible/module_utils/vmware.py @@ -156,7 +156,13 @@ def find_datastore_by_name(content, datastore_name): def find_dvs_by_name(content, switch_name): - vmware_distributed_switches = get_all_objs(content, [vim.dvs.VmwareDistributedVirtualSwitch]) + # https://github.com/vmware/govmomi/issues/879 + # https://github.com/ansible/ansible/pull/31798#issuecomment-336936222 + try: + vmware_distributed_switches = get_all_objs(content, [vim.dvs.VmwareDistributedVirtualSwitch]) + except IndexError: + vmware_distributed_switches = get_all_objs(content, [vim.DistributedVirtualSwitch]) + for dvs in vmware_distributed_switches: if dvs.name == switch_name: return dvs