簡體   English   中英

Ansible playbook 中的主機名檢查

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM