mirror of
https://github.com/ansible-collections/community.general.git
synced 2026-05-08 06:12:51 +00:00
Imports and includes (#25399)
Initial commit to split includes into static imports/dynamic includes
This implements the new include/import syntax for Ansible 2.4:
* include_{tasks,role,variables} = dynamic
* import_{playbook,tasks,role} = static
The old bare `include` will be considered deprecated, as will any use of the `static: {yes|no}` option.
This also adds docs for import/include and reorganizing the "Playbook Reuse" section of the documentation.
This commit is contained in:
@@ -432,7 +432,7 @@ class TaskExecutor:
|
||||
if self._loop_eval_error is not None:
|
||||
raise self._loop_eval_error
|
||||
# skip conditional exception in the case of includes as the vars needed might not be available except in the included tasks or due to tags
|
||||
if self._task.action not in ['include', 'include_role']:
|
||||
if self._task.action not in ['include', 'include_tasks', 'include_role']:
|
||||
raise
|
||||
|
||||
# Not skipping, if we had loop error raised earlier we need to raise it now to halt the execution of this task
|
||||
@@ -445,7 +445,7 @@ class TaskExecutor:
|
||||
|
||||
# if this task is a TaskInclude, we just return now with a success code so the
|
||||
# main thread can expand the task list for the given host
|
||||
if self._task.action == 'include':
|
||||
if self._task.action in ('include', 'include_tasks'):
|
||||
include_variables = self._task.args.copy()
|
||||
include_file = include_variables.pop('_raw_params', None)
|
||||
if not include_file:
|
||||
|
||||
@@ -83,11 +83,11 @@ class TaskQueueManager:
|
||||
self._callback_plugins = []
|
||||
self._start_at_done = False
|
||||
|
||||
# make sure the module path (if specified) is parsed and
|
||||
# added to the module_loader object
|
||||
if options.module_path is not None:
|
||||
for path in options.module_path.split(os.pathsep):
|
||||
module_loader.add_directory(path)
|
||||
# make sure any module paths (if specified) are added to the module_loader
|
||||
if isinstance(options.module_path, list):
|
||||
for path in options.module_path:
|
||||
if path is not None:
|
||||
module_loader.add_directory(path)
|
||||
|
||||
# a special flag to help us exit cleanly
|
||||
self._terminated = False
|
||||
|
||||
Reference in New Issue
Block a user