diff --git a/lib/ansible/template/vars.py b/lib/ansible/template/vars.py index d55169368ac..badf93b1e86 100644 --- a/lib/ansible/template/vars.py +++ b/lib/ansible/template/vars.py @@ -21,6 +21,7 @@ __metaclass__ = type from ansible.compat.six import iteritems from jinja2.utils import missing +from ansible.utils.unicode import to_unicode __all__ = ['AnsibleJ2Vars'] @@ -83,7 +84,12 @@ class AnsibleJ2Vars: if isinstance(variable, dict) and varname == "vars" or isinstance(variable, HostVars): return variable else: - return self._templar.template(variable) + value = None + try: + value = self._templar.template(variable) + except Exception as e: + raise type(e)(to_unicode(variable) + ': ' + e.message) + return value def add_locals(self, locals): '''