(我目前正在运行Ansible 2.1)
我有一个收集元素列表的剧本,我有另一个剧本(调用不同的主机和诸如此类的东西),使用所述元素作为大多数操作的基础。因此,每当我在剧本上使用with_items
时,都会导致错误。
loop control section of the docs表示"在2.0中,您再次可以使用with_ loops
,任务包括(但不包括Playbook)"。有解决方法吗?我真的需要能够在包含在一组条目中运行的包含的playbook中调用多个主机。任何变通办法,对此类或任何事物的想法都非常感谢!
P.S。我可以在技术上command: ansible-playbook
但我不想在必要时去那个兔子洞
答案 0 :(得分:1)
我认为我遇到了同样的问题,顺便说一句,迁移到显示的内容比已经使用的“项目”更多。 参考http://docs.ansible.com/ansible/playbooks_best_practices.html,您应该有一个清单(包含所有主机)和一个主要的剧本(即使是理论上的)。 一个好方法,而不是包括剧本,是设计角色,即使是空的。尝试为可以应用于大多数主机的所有内容找到“通用”角色。然后,根据使用情况包括其他角色,这将允许您在正确的主机上触发。 您也可以拥有不执行任何操作的角色(意思是“任务”中没有任何内容),但这些角色包含两个角色可以共用的变量集(您可以避免重复输入)。