dont think all files are valid cause libs present (#50103)

verify_file was improperly always returning true if pyvimomi and requests libs were correct
  moved library checking to parse, avoid unneded errors unless the file is actually meant for
  this plugin

(cherry picked from commit 49993a55e5)
pull/50616/head
Brian Coca 6 years ago committed by Toshio Kuratomi
parent 56481b5f1b
commit 0ba93e7375

@ -0,0 +1,2 @@
bugfixes:
- correct behaviour of verify_file for vmware inventory plugin, it was always returning True

@ -229,13 +229,19 @@ class InventoryModule(BaseInventoryPlugin, Cacheable):
if path.endswith(('vmware.yaml', 'vmware.yml')):
valid = True
return valid
def parse(self, inventory, loader, path, cache=True):
"""
Parses the inventory file
"""
if not HAS_REQUESTS:
raise AnsibleParserError('Please install "requests" Python module as this is required'
' for VMware Guest dynamic inventory plugin.')
elif not HAS_PYVMOMI:
raise AnsibleParserError('Please install "PyVmomi" Python module as this is required'
' for VMware Guest dynamic inventory plugin.')
if HAS_REQUESTS:
# Pyvmomi 5.5 and onwards requires requests 2.3
# https://github.com/vmware/pyvmomi/blob/master/requirements.txt
@ -250,14 +256,7 @@ class InventoryModule(BaseInventoryPlugin, Cacheable):
raise AnsibleParserError("'requests' library version should"
" be >= %s, found: %s." % (".".join([str(w) for w in required_version]),
requests.__version__))
valid = True
return valid
def parse(self, inventory, loader, path, cache=True):
"""
Parses the inventory file
"""
super(InventoryModule, self).parse(inventory, loader, path, cache=cache)
cache_key = self.get_cache_key(path)

Loading…
Cancel
Save