我有许多raspberry pi可以换出(一次只运行一个),并运行ansible。大多数pi响应ping raspberrypi,但我有一个pi响应ping raspberrypi.local。
在执行playbook之前,不要记住手动ping正确的主机名,ansible中有没有一种方法可以在第一个失败的情况下针对不同的主机名运行playbook?
目前我的行动手册是
---
- hosts: raspberrypi和/etc/ansible/hosts
[raspberrypi]
raspberrypi
#raspberrypi.local如果我取消注释掉第二个主机名,第一个失败,那么剧本将会失败,并且不会在.local主机名上运行
发布于 2019-04-27 20:03:35
我不确定这在ansible中是否直接可行。
但我能想到的一个技巧是创建一个主机列表,将它们存储在一个变量中,使用localhost执行ping操作。如果ping成功,则创建自定义主机组并执行您要执行的任务。
另外,您是否正在使用serial: 1执行您的攻略?
希望这会对你有所帮助。
发布于 2019-04-28 00:18:32
你可以对这两个主播组进行对战。
- hosts: raspberrypi:raspberrypi.localhttps://stackoverflow.com/questions/55880069
复制相似问题