diff --git a/changelogs/fragments/85599-fix-templating-import_tasks-parent-include.yml b/changelogs/fragments/85599-fix-templating-import_tasks-parent-include.yml new file mode 100644 index 00000000000..c24c8531dc0 --- /dev/null +++ b/changelogs/fragments/85599-fix-templating-import_tasks-parent-include.yml @@ -0,0 +1,2 @@ +bugfixes: + - import_tasks - fix templating parent include arguments. diff --git a/lib/ansible/playbook/helpers.py b/lib/ansible/playbook/helpers.py index f4d7a82a8ec..aff2df41109 100644 --- a/lib/ansible/playbook/helpers.py +++ b/lib/ansible/playbook/helpers.py @@ -169,6 +169,7 @@ def load_list_of_tasks(ds, play, block=None, role=None, task_include=None, use_h if not isinstance(parent_include, TaskInclude): parent_include = parent_include._parent continue + parent_include.post_validate(templar=templar) parent_include_dir = os.path.dirname(parent_include.args.get('_raw_params')) if cumulative_path is None: cumulative_path = parent_include_dir diff --git a/test/integration/targets/include_import_tasks_nested/tasks/main.yml b/test/integration/targets/include_import_tasks_nested/tasks/main.yml index 5d6726772f4..671eb2f1c5d 100644 --- a/test/integration/targets/include_import_tasks_nested/tasks/main.yml +++ b/test/integration/targets/include_import_tasks_nested/tasks/main.yml @@ -9,3 +9,5 @@ - assert: that: - nested_adjacent_count|int == 2 + +- import_tasks: "{{ role_path }}/tests/main.yml" diff --git a/test/integration/targets/include_import_tasks_nested/tests/main.yml b/test/integration/targets/include_import_tasks_nested/tests/main.yml new file mode 100644 index 00000000000..d862b1fb2cf --- /dev/null +++ b/test/integration/targets/include_import_tasks_nested/tests/main.yml @@ -0,0 +1 @@ +- import_tasks: tests_relative.yml diff --git a/test/integration/targets/include_import_tasks_nested/tests/tests_relative.yml b/test/integration/targets/include_import_tasks_nested/tests/tests_relative.yml new file mode 100644 index 00000000000..e69de29bb2d