在Ansible中,我们如何将所有任务文件包含在目录中

Moi*_*aja 2 python ansible

我有一个包含任务文件的目录,我想遍历这些任务文件并将其包含在我的剧本中。我怎样才能做到这一点?

我尝试了以下方法,但似乎不起作用,

- include: "{{ item }}"
  with_items: export.stdout_lines    
Run Code Online (Sandbox Code Playgroud)

这给我一个错误,

ERROR: [DEPRECATED]: include + with_items is a removed deprecated feature.  Please update your playbooks.
Run Code Online (Sandbox Code Playgroud)

我在stackoverflow上的其他帖子中查看了该特定错误和解决方法,但它似乎与我的问题无关。

我正在使用ansible 1.9.4。

udo*_*dan 5

您使用的Ansible版本没有解决方法。在您的版本中,包含文件在执行任何任务之前就已解决。因此,您不能依靠变量或其他任务的结果来包含文件。

如果需要此功能,则需要将Ansible更新到重新引入此功能的2.x版本。此功能也可以在较早的版本中使用,但仅是偶然的,并且具有不可控制的副作用,因此已被删除。

使用Ansible 2时,理想情况下,您将使用with_fileglob

- include: "{{ item }}"
  with_fileglob:
    - path/to/your/tasks/*.yml
Run Code Online (Sandbox Code Playgroud)