template.py: Handle purposely raised exceptions in lookup()

If a lookup plugin is run by the lookup() template method it should pass
along any AnsibleError (or child exception classes) rather than just eat
them.  These exceptions are purposely raised by the plugin.
This commit is contained in:
Jack Neely 2014-05-30 16:41:20 -04:00
parent 7da68bb27c
commit 2fda9bc743

View file

@ -91,6 +91,9 @@ def lookup(name, *args, **kwargs):
# safely catch run failures per #5059
try:
ran = instance.run(*args, inject=vars, **kwargs)
except errors.AnsibleError:
# Plugin raised this on purpose
raise
except Exception, e:
ran = None
if ran: