diff --git a/changelogs/fragments/loop-cache-include-apply.yml b/changelogs/fragments/loop-cache-include-apply.yml new file mode 100644 index 00000000000..15a0ea3cf55 --- /dev/null +++ b/changelogs/fragments/loop-cache-include-apply.yml @@ -0,0 +1,2 @@ +bugfixes: +- delegate_to - Fix issue where delegate_to was upplied via ``apply`` on an include, where a loop was present on the include diff --git a/lib/ansible/vars/manager.py b/lib/ansible/vars/manager.py index 2516014f0cd..8a8efc13ef5 100644 --- a/lib/ansible/vars/manager.py +++ b/lib/ansible/vars/manager.py @@ -489,7 +489,7 @@ class VariableManager: def _get_delegated_vars(self, play, task, existing_variables): if not hasattr(task, 'loop'): # This "task" is not a Task, so we need to skip it - return {} + return {}, None # we unfortunately need to template the delegate_to field here, # as we're fetching vars before post_validate has been called on