Ansible-Playbook
讓 Ansible 模組使用 /etc/ansible/hosts 而不是 IP 地址
我有這個我正在嘗試使用的 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
當然,您可以從其他地方獲取您可能執行的其他一些操作的變數,例如從每個主機上設置的靜態事實或從動態清單腳本,但這應該可以幫助您入門。