diff --git a/changelogs/fragments/no-dynamic-import-tasks.yaml b/changelogs/fragments/no-dynamic-import-tasks.yaml new file mode 100644 index 00000000000..b1bab23e9c0 --- /dev/null +++ b/changelogs/fragments/no-dynamic-import-tasks.yaml @@ -0,0 +1,2 @@ +minor_changes: +- import_tasks - Do not allow import_tasks to transition to dynamic if the file is missing (https://github.com/ansible/ansible/issues/44822) diff --git a/lib/ansible/playbook/helpers.py b/lib/ansible/playbook/helpers.py index f32a397d7f9..2196ff42ddf 100644 --- a/lib/ansible/playbook/helpers.py +++ b/lib/ansible/playbook/helpers.py @@ -250,7 +250,7 @@ def load_list_of_tasks(ds, play, block=None, role=None, task_include=None, use_h # nested includes, and we want the include order printed correctly display.vv("statically imported: %s" % include_file) except AnsibleFileNotFound: - if t.static or \ + if action != 'include' or t.static or \ C.DEFAULT_TASK_INCLUDES_STATIC or \ C.DEFAULT_HANDLER_INCLUDES_STATIC and use_handlers: raise