From db145a368d94e3665fd4abec18e2db72cf6fc594 Mon Sep 17 00:00:00 2001 From: Brian Coca Date: Tue, 25 Nov 2014 16:12:15 -0500 Subject: [PATCH] now only flattened ignores failonundefined cause of it's special need --- lib/ansible/runner/lookup_plugins/flattened.py | 2 +- lib/ansible/utils/__init__.py | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/lib/ansible/runner/lookup_plugins/flattened.py b/lib/ansible/runner/lookup_plugins/flattened.py index 831b2e9130..b93573fe40 100644 --- a/lib/ansible/runner/lookup_plugins/flattened.py +++ b/lib/ansible/runner/lookup_plugins/flattened.py @@ -50,7 +50,7 @@ class LookupModule(object): if isinstance(term, basestring): # convert a variable to a list - term2 = utils.listify_lookup_plugin_terms(term, self.basedir, inject) + term2 = utils.listify_lookup_plugin_terms(term, self.basedir, inject, fail_on_undefined=False) # but avoid converting a plain string to a list of one string if term2 != [ term ]: term = term2 diff --git a/lib/ansible/utils/__init__.py b/lib/ansible/utils/__init__.py index db0653f80b..1bfe16c5b9 100644 --- a/lib/ansible/utils/__init__.py +++ b/lib/ansible/utils/__init__.py @@ -1451,7 +1451,7 @@ def safe_eval(expr, locals={}, include_exceptions=False): return expr -def listify_lookup_plugin_terms(terms, basedir, inject): +def listify_lookup_plugin_terms(terms, basedir, inject, fail_on_undefined=C.DEFAULT_UNDEFINED_VAR_BEHAVIOR): from ansible.utils import template @@ -1469,7 +1469,7 @@ def listify_lookup_plugin_terms(terms, basedir, inject): # if not already a list, get ready to evaluate with Jinja2 # not sure why the "/" is in above code :) try: - new_terms = template.template(basedir, "{{%s}}" % terms, inject, convert_bare=True) + new_terms = template.template(basedir, "{{%s}}" % terms, inject, convert_bare=True, fail_on_undefined=fail_on_undefined) if isinstance(new_terms, basestring) and "{{" in new_terms: pass else: