首页 文章

如何循环播放剧本包括?

提问于
浏览
1

(我目前正在运行Ansible 2.1)

我有一个收集元素列表的剧本,我有另一个剧本(调用不同的主持人和诸如此类),使用所述元素作为大多数操作的基础 . 因此,每当我在剧本上使用 with_items 时,都会导致错误 .

loop control section of the docs说“在2.0中你再次能够使用 with_ loops 并且任务包括 (but not playbook includes) ” . 有解决方法吗?我真的需要能够在包含在一组条目中运行的包含的playbook中调用多个主机 . 任何变通办法,对此类或任何事物的想法都非常感谢!

附:我可以在技术上 command: ansible-playbook 但我不想在必要的时候去那个兔子洞

1 回答

  • 1

    我认为我遇到了同样的问题,顺便说一句,迁移到显示的内容已超过'item'已经在使用中 . 参考http://docs.ansible.com/ansible/playbooks_best_practices.html,你应该有一个清单(包含你所有的主机)和一个主要的剧本(即使是理论上的) . 一个好方法,而不是包括剧本,是设计角色,即使是空的 . 尝试为可以应用于大多数主机的所有内容找到"common"角色 . 然后,根据使用情况包含其他角色,这将允许您在正确的主机上触发 . 您也可以拥有不执行任何操作的角色(意思是'tasks'中没有任何内容),但它包含两个角色可以共用的变量集(您可以避免重复的条目) .

相关问题