protect against plugins using verify incorrectly

assume false on any errors

(cherry picked from commit ef40e5e3b2)

backport of #36591
This commit is contained in:
Brian Coca 2018-02-22 11:53:40 -05:00 committed by Brian Coca
parent 27b1044bc1
commit 80486090d5
2 changed files with 9 additions and 2 deletions

View file

@ -0,0 +1,2 @@
bugfixes:
- protect against bad plugin verify method https://github.com/ansible/ansible/pull/36591

View file

@ -257,8 +257,13 @@ class InventoryManager(object):
plugin_name = to_native(getattr(plugin, '_load_name', getattr(plugin, '_original_path', '')))
display.debug(u'Attempting to use plugin %s (%s)' % (plugin_name, plugin._original_path))
# initialize
if plugin.verify_file(source):
# initialize and figure out if plugin wants to attempt parsing this file
try:
plugin_wants = bool(plugin.verify_file(source))
except Exception:
plugin_wants = False
if plugin_wants:
try:
# in case plugin fails 1/2 way we dont want partial inventory
plugin.parse(self._inventory, self._loader, source, cache=cache)