![](/img/trans.png)
[英]Ansible Playbook for check if ansible is installed in my localhost
[英]Hostname check in Ansible playbook
我有一些用于 linux 客户端的 ansible 剧本。 与环境的连接是通过 VPN 进行的,每个连接的客户端都从池中获取 IP。 分配的 IP 是第一个可用的。 客户端使用 SSSD 更新 DNS。 这导致相同的 IP 被分配给 DNS 中的多个主机,并且剧本可能在错误的系统上运行。
如果客户端上的主机名与清单中的主机名不匹配,有没有办法检查并失败? 启用严格的主机密钥检查将部分解决此问题,但我希望进行适当的检查以确保剧本在正确的客户端上运行。
在 KamilCuk 发表评论后,我查看了ansible_facts
并添加了 fqdn 和inventory_hostname
之间的比较。 我在剧本中的最终结果是:
- name: Check inventory_hostname to fqdn
assert:
that:
- inventory_hostname == ansible_facts["fqdn"]
fail_msg: Hostname does not match inventory
quiet: yes
即使某些客户端在收集事实部分中没有显示为“绿色”,但如果它们不是正确的客户端,它将在断言部分中失败。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.