Ansible-Playbook

讓 Ansible 模組使用 /etc/ansible/hosts 而不是 IP 地址

  • September 16, 2019

我有這個我正在嘗試使用的 Dell iDRAC 管理模組。

出於某種奇怪的原因,它似乎需要一個 IP 地址而不是尊重 hosts: 指令。這是我給出的範例:

- hosts: idracs
 connection: local
 name: Check LC Ready Status
 gather_facts: False

 tasks:
 - name: Check LC Ready Status
   dellemc_get_lcstatus:
      idrac_ip:   "{{ idrac_ip }}"
      idrac_user: "{{ idrac_user }}"
      idrac_pwd:  "{{ idrac_pwd }}"

我看不到如何將 idrac_ip 變成變數。我應該使用 /etc/ansible/hosts 還是應該創建另一個(不同的)庫存對象?

據我所知,您需要自己為每個主機定義這些事實。

您似乎正在使用Dell EMC OpenManage Ansible 模組。這些範例的設計方式似乎期望變數來自宿主事實。所以你可以host_vars為每個主機定義。例如,您可以創建host_vars/myserver.example.com/idrac.yml

idrac_ip: 10.208.35.6
idrac_user: root
idrac_pw: calvin

當然,您可以從其他地方獲取您可能執行的其他一些操作的變數,例如從每個主機上設置的靜態事實或從動態清單腳本,但這應該可以幫助您入門。

引用自:https://serverfault.com/questions/953992