update delegated var fetching for new 'loop' (#31588)

* update delegated var fetching for new 'loop'

* mixed loop/terms
This commit is contained in:
Brian Coca 2017-10-12 14:57:38 -04:00 committed by Sam Doran
parent 840a57a4ed
commit 341db894f5

View file

@ -519,18 +519,20 @@ class VariableManager:
templar = Templar(loader=self._loader, variables=vars_copy) templar = Templar(loader=self._loader, variables=vars_copy)
items = [] items = []
if task.loop is not None: if task.loop_with is not None:
if task.loop in lookup_loader: if task.loop_with in lookup_loader:
try: try:
loop_terms = listify_lookup_plugin_terms(terms=task.loop, templar=templar, loop_terms = listify_lookup_plugin_terms(terms=task.loop, templar=templar,
loader=self._loader, fail_on_undefined=True, convert_bare=False) loader=self._loader, fail_on_undefined=True, convert_bare=False)
items = lookup_loader.get(task.loop, loader=self._loader, templar=templar).run(terms=loop_terms, variables=vars_copy) items = lookup_loader.get(task.loop_with, loader=self._loader, templar=templar).run(terms=loop_terms, variables=vars_copy)
except AnsibleUndefinedVariable: except AnsibleUndefinedVariable:
# This task will be skipped later due to this, so we just setup # This task will be skipped later due to this, so we just setup
# a dummy array for the later code so it doesn't fail # a dummy array for the later code so it doesn't fail
items = [None] items = [None]
else: else:
raise AnsibleError("Unexpected failure in finding the lookup named '%s' in the available lookup plugins" % task.loop) raise AnsibleError("Failed to find the lookup named '%s' in the available lookup plugins" % task.loop_with)
elif task.loop is not None:
items = templar.template(task.loop)
else: else:
items = [None] items = [None]