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

时间:2016-03-17 02:15:17

标签: python ansible

我有一个包含任务文件的目录,我想循环遍历这些任务文件并将它们包含在我的剧本中。我怎么能这样做?

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

- include: "{{ item }}"
  with_items: export.stdout_lines    

这给了我一个错误,

ERROR: [DEPRECATED]: include + with_items is a removed deprecated feature.  Please update your playbooks.

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

我使用的是ansible 1.9.4。

1 个答案:

答案 0 :(得分:4)

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

如果需要,需要将Ansible更新到版本2.x,其中重新引入了此功能。此功能也在早期版本中工作,但只是偶然发生并且具有无法控制的副作用,因此被删除了。

使用Ansible 2,理想情况下你会使用with_fileglob

- include: "{{ item }}"
  with_fileglob:
    - path/to/your/tasks/*.yml