我有这个 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 还是应该创建另一个(不同的)库存对象?
答案1
据我所知,您需要自己为每个主机定义这些事实。
看来您正在使用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
当然,您可以从其他地方获取您可能执行的其他某些操作的变量,例如从每个主机上设置的静态事实或从动态库存脚本中获取变量,但这应该可以帮助您入门。