diff --git a/lib/ansible/utils/__init__.py b/lib/ansible/utils/__init__.py index 572e101cb18..42a2e768ac5 100644 --- a/lib/ansible/utils/__init__.py +++ b/lib/ansible/utils/__init__.py @@ -165,6 +165,14 @@ def check_conditional(conditional, basedir, inject): conditional = template.template(basedir, conditional, inject) # a Jinja2 evaluation that results in something Python can eval! presented = "{% if " + conditional + " %} True {% else %} False {% endif %}" + conditional = template.template(basedir, presented, inject) + val = conditional.lstrip().rstrip() + if val == "True": + return True + elif val == "False": + return False + else: + raise errors.AnsibleError("unable to evaluate conditional: %s" % conditional) if not isinstance(conditional, basestring): return conditional