Ansible 如果第一次失败,请使用不同的主机名

Ansible 如果第一次失败,请使用不同的主机名,ansible,hosts,Ansible,Hosts,我有很多覆盆子馅饼,我把它们换掉(一次只跑一个),然后和ansible一起跑。大多数PI响应ping raspberrypi,但我有一个响应ping raspberrypi.local 在执行playbook之前,不要记住手动ping正确的主机名,如果第一个主机名失败,ansible中是否有方法针对不同的主机名运行playbook 目前我的剧本是 --- - hosts: raspberrypi 和/etc/ansible/hosts [raspberrypi] raspberrypi #ra

我有很多覆盆子馅饼,我把它们换掉(一次只跑一个),然后和ansible一起跑。大多数PI响应
ping raspberrypi
,但我有一个响应
ping raspberrypi.local

在执行playbook之前,不要记住手动ping正确的主机名,如果第一个主机名失败,ansible中是否有方法针对不同的主机名运行playbook

目前我的剧本是

---
- hosts: raspberrypi
/etc/ansible/hosts

[raspberrypi]
raspberrypi
#raspberrypi.local

如果我取消注释第二个主机名,而第一个主机名失败,则playbook将失败,并且不会在
.local
主机名上运行。我不确定ansible中是否可以直接执行此操作

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

您是否正在执行序列号为1的剧本


希望这能有所帮助。

你可以对两个主持人组进行比赛

- hosts: raspberrypi:raspberrypi.local

FWIW:修复树莓的设置,而不是尝试在Ansible;-)中破解一个解决方法。。。作为提醒:尽量避免组和主机之间的名称冲突-这可能会导致剧本无法在您可能体验的系统上运行