Skip to content

Commit 026210b

Browse files
committed
vmware_guest: Use PyVmomi find_obj() method instead of function
1 parent 95b94f6 commit 026210b

File tree

1 file changed

+18
-19
lines changed

1 file changed

+18
-19
lines changed

plugins/modules/vmware_guest.py

+18-19
Original file line numberDiff line numberDiff line change
@@ -1115,7 +1115,6 @@
11151115
from ansible.module_utils.common.network import is_mac
11161116
from ansible.module_utils._text import to_text, to_native
11171117
from ansible_collections.community.vmware.plugins.module_utils.vmware import (
1118-
find_obj,
11191118
gather_vm_facts,
11201119
get_all_objs,
11211120
compile_folder_path_for_object,
@@ -1143,9 +1142,9 @@ def __init__(self, content, dc_name=None):
11431142
self.esx_hosts = {}
11441143
self.parent_datacenters = {}
11451144

1146-
def find_obj(self, content, types, name, confine_to_datacenter=True):
1145+
def find_obj_wrapper(self, types, name, confine_to_datacenter=True):
11471146
""" Wrapper around find_obj to set datacenter context """
1148-
result = find_obj(content, types, name)
1147+
result = self.find_obj(types, name)
11491148
if result and confine_to_datacenter:
11501149
if to_text(self.get_parent_datacenter(result).name) != to_text(self.dc_name):
11511150
result = None
@@ -1180,19 +1179,19 @@ def get_network(self, network_name):
11801179
if len(networks) == 1:
11811180
self.networks[network_name] = networks[0]
11821181
else:
1183-
self.networks[network_name] = self.find_obj(self.content, [vim.Network], network_name)
1182+
self.networks[network_name] = self.find_obj_wrapper([vim.Network], network_name)
11841183

11851184
return self.networks[network_name]
11861185

11871186
def get_cluster(self, cluster):
11881187
if cluster not in self.clusters:
1189-
self.clusters[cluster] = self.find_obj(self.content, [vim.ClusterComputeResource], cluster)
1188+
self.clusters[cluster] = self.find_obj_wrapper([vim.ClusterComputeResource], cluster)
11901189

11911190
return self.clusters[cluster]
11921191

11931192
def get_esx_host(self, host):
11941193
if host not in self.esx_hosts:
1195-
self.esx_hosts[host] = self.find_obj(self.content, [vim.HostSystem], host)
1194+
self.esx_hosts[host] = self.find_obj_wrapper([vim.HostSystem], host)
11961195

11971196
return self.esx_hosts[host]
11981197

@@ -1954,7 +1953,7 @@ def configure_network(self, vm_obj):
19541953
if len(pgs) == 1:
19551954
pg = pgs[0]
19561955
else:
1957-
pg = find_obj(self.content, [vim.DistributedVirtualPortgroup], network_name)
1956+
pg = self.find_obj([vim.DistributedVirtualPortgroup], network_name)
19581957
if pg is None or nic.device.backing.port.portgroupKey != pg.key:
19591958
nic.device.deviceInfo.summary = network_name
19601959
nic_change_detected = True
@@ -1996,7 +1995,7 @@ def configure_network(self, vm_obj):
19961995
if len(networks) == 1:
19971996
pg_obj = networks[0]
19981997
else:
1999-
pg_obj = self.cache.find_obj(self.content, [vim.dvs.DistributedVirtualPortgroup], network_name)
1998+
pg_obj = self.cache.find_obj_wrapper([vim.dvs.DistributedVirtualPortgroup], network_name)
20001999

20012000
# TODO: (akasurde) There is no way to find association between resource pool and distributed virtual portgroup
20022001
# For now, check if we are able to find distributed virtual switch
@@ -2781,13 +2780,13 @@ def select_datastore(self, vm_obj=None):
27812780
for host in cluster.host:
27822781
for mi in host.configManager.storageSystem.fileSystemVolumeInfo.mountInfo:
27832782
if mi.volume.type == "VMFS" or mi.volume.type == "NFS":
2784-
datastores.append(self.cache.find_obj(self.content, [vim.Datastore], mi.volume.name))
2783+
datastores.append(self.cache.find_obj_wrapper([vim.Datastore], mi.volume.name))
27852784
elif self.params['esxi_hostname']:
27862785
host = self.find_hostsystem_by_name(self.params['esxi_hostname'])
27872786

27882787
for mi in host.configManager.storageSystem.fileSystemVolumeInfo.mountInfo:
27892788
if mi.volume.type == "VMFS" or mi.volume.type == "NFS":
2790-
datastores.append(self.cache.find_obj(self.content, [vim.Datastore], mi.volume.name))
2789+
datastores.append(self.cache.find_obj_wrapper([vim.Datastore], mi.volume.name))
27912790
else:
27922791
datastores = self.cache.get_all_objs(self.content, [vim.Datastore])
27932792
datastores = [x for x in datastores if self.cache.get_parent_datacenter(x).name == self.params['datacenter']]
@@ -2809,12 +2808,12 @@ def select_datastore(self, vm_obj=None):
28092808
elif self.params['disk'][0]['datastore']:
28102809
datastore_name = self.params['disk'][0]['datastore']
28112810
# Check if user has provided datastore cluster first
2812-
datastore_cluster = self.cache.find_obj(self.content, [vim.StoragePod], datastore_name)
2811+
datastore_cluster = self.cache.find_obj_wrapper([vim.StoragePod], datastore_name)
28132812
if datastore_cluster:
28142813
# If user specified datastore cluster so get recommended datastore
28152814
datastore_name = self.get_recommended_datastore(datastore_cluster_obj=datastore_cluster)
28162815
# Check if get_recommended_datastore or user specified datastore exists or not
2817-
datastore = self.cache.find_obj(self.content, [vim.Datastore], datastore_name)
2816+
datastore = self.cache.find_obj_wrapper([vim.Datastore], datastore_name)
28182817
else:
28192818
self.module.fail_json(msg="Either datastore or autoselect_datastore should be provided to select datastore")
28202819

@@ -2906,26 +2905,26 @@ def get_resource_pool(self, cluster=None, host=None, resource_pool=None):
29062905
resource_pool_name = resource_pool or self.params.get('resource_pool', None)
29072906

29082907
# get the datacenter object
2909-
datacenter = find_obj(self.content, [vim.Datacenter], self.params['datacenter'])
2908+
datacenter = self.find_obj([vim.Datacenter], self.params['datacenter'])
29102909
if not datacenter:
29112910
self.module.fail_json(msg='Unable to find datacenter "%s"' % self.params['datacenter'])
29122911

29132912
# if cluster is given, get the cluster object
29142913
if cluster_name:
2915-
cluster = find_obj(self.content, [vim.ComputeResource], cluster_name, folder=datacenter)
2914+
cluster = self.find_obj([vim.ComputeResource], cluster_name, folder=datacenter)
29162915
if not cluster:
29172916
self.module.fail_json(msg='Unable to find cluster "%s"' % cluster_name)
29182917
# if host is given, get the cluster object using the host
29192918
elif host_name:
2920-
host = find_obj(self.content, [vim.HostSystem], host_name, folder=datacenter)
2919+
host = self.find_obj([vim.HostSystem], host_name, folder=datacenter)
29212920
if not host:
29222921
self.module.fail_json(msg='Unable to find host "%s"' % host_name)
29232922
cluster = host.parent
29242923
else:
29252924
cluster = None
29262925

29272926
# get resource pools limiting search to cluster or datacenter
2928-
resource_pool = find_obj(self.content, [vim.ResourcePool], resource_pool_name, folder=cluster or datacenter)
2927+
resource_pool = self.find_obj([vim.ResourcePool], resource_pool_name, folder=cluster or datacenter)
29292928
if not resource_pool:
29302929
if resource_pool_name:
29312930
self.module.fail_json(msg='Unable to find resource_pool "%s"' % resource_pool_name)
@@ -2951,7 +2950,7 @@ def deploy_vm(self):
29512950
self.folder = '/%(folder)s' % self.params
29522951
self.folder = self.folder.rstrip('/')
29532952

2954-
datacenter = self.cache.find_obj(self.content, [vim.Datacenter], self.params['datacenter'])
2953+
datacenter = self.cache.find_obj_wrapper([vim.Datacenter], self.params['datacenter'])
29552954
if datacenter is None:
29562955
self.module.fail_json(msg='No datacenter named %(datacenter)s was found' % self.params)
29572956

@@ -3013,12 +3012,12 @@ def deploy_vm(self):
30133012
# User may want to deploy VM to specific datastore.
30143013
datastore_name = self.params['datastore']
30153014
# Check if user has provided datastore cluster first
3016-
datastore_cluster = self.cache.find_obj(self.content, [vim.StoragePod], datastore_name)
3015+
datastore_cluster = self.cache.find_obj_wrapper([vim.StoragePod], datastore_name)
30173016
if datastore_cluster:
30183017
# If user specified datastore cluster so get recommended datastore
30193018
datastore_name = self.get_recommended_datastore(datastore_cluster_obj=datastore_cluster)
30203019
# Check if get_recommended_datastore or user specified datastore exists or not
3021-
datastore = self.cache.find_obj(self.content, [vim.Datastore], datastore_name)
3020+
datastore = self.cache.find_obj_wrapper([vim.Datastore], datastore_name)
30223021
else:
30233022
(datastore, datastore_name) = self.select_datastore(vm_obj)
30243023

0 commit comments

Comments
 (0)