VMware: Refactor vmware_guest_find module (#33412)

This fix refactors vmware_guest_find module.

Signed-off-by: Abhijeet Kasurde <akasurde@redhat.com>
This commit is contained in:
Abhijeet Kasurde 2017-12-08 13:27:23 +05:30 committed by GitHub
parent ad4975d3e7
commit 882065b9b4
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
2 changed files with 43 additions and 135 deletions

View file

@ -316,19 +316,7 @@ def gather_vm_facts(content, vm):
except:
pass
folder = vm.parent
if folder:
foldername = folder.name
fp = folder.parent
# climb back up the tree to find our path, stop before the root folder
while fp is not None and fp.name is not None and fp != content.rootFolder:
foldername = fp.name + '/' + foldername
try:
fp = fp.parent
except:
break
foldername = '/' + foldername
facts['hw_folder'] = foldername
facts['hw_folder'] = PyVmomi.get_vm_path(content, vm)
cfm = content.customFieldsManager
# Resolve custom values
@ -824,6 +812,23 @@ class PyVmomi(object):
def gather_facts(self, vm):
return gather_vm_facts(self.content, vm)
@staticmethod
def get_vm_path(content, vm):
foldername = None
folder = vm.parent
if folder:
foldername = folder.name
fp = folder.parent
# climb back up the tree to find our path, stop before the root folder
while fp is not None and fp.name is not None and fp != content.rootFolder:
foldername = fp.name + '/' + foldername
try:
fp = fp.parent
except:
break
foldername = '/' + foldername
return foldername
# Cluster related functions
def find_cluster_by_name(self, cluster_name, datacenter_name=None):
"""