如果第一次失败,则可以使用其他主机名

时间:2019-04-27 11:24:57

标签: ansible hosts

我有很多树莓pi可以交换出去(一次只能运行一个),并且无法运行。大多数pi响应ping raspberrypi,但我有一个响应ping raspberrypi.local

不是记住在执行剧本之前手动ping正确的主机名,而是如果第一个失败,是否有办法针对其他主机名运行剧本?

目前我的剧本是

---
- hosts: raspberrypi

/etc/ansible/hosts

[raspberrypi]
raspberrypi
#raspberrypi.local

如果我取消注释第二个主机名,但第一个失败,则剧本将失败并且无法在.local主机名上运行

2 个答案:

答案 0 :(得分:1)

我不确定这是否可以直接在ansible中使用。

但是我能想到的一个技巧是创建一个主机列表,将它们存储在一个变量中,并使用localhost执行ping操作。如果ping成功,则创建一个自定义主机组并执行您要执行的任务。

您还在执行序列号为1的剧本吗?

希望如此有帮助。

答案 1 :(得分:0)

您可以对两个主持人组进行播放。

- hosts: raspberrypi:raspberrypi.local