我正在使用Ansible / Ansible Tower,并想确定我的Windows主机上有哪些可用的事实。 documentation表示我可以执行以下操作:
ansible hostname -m setup
我如何将其合并到我从Tower运行的剧本中,以便我可以从主持人那里收集信息?
以下是每个援助的当前Playbook:
# This play outputs the facts of the Windows targets in scope
- name: Gather Windows Facts
hosts: "{{ target }}"
gather_facts: yes
tasks:
- setup:
register: ansible_facts
- debug: item
with_dict: ansible_facts
但是,运行它会产生以下错误:
ERROR!这个任务'debug'有额外的参数,只允许使用 以下模块:command,shell,script,include,include_vars, add_host,group_by,set_fact,raw,meta
答案 0 :(得分:4)
使用gather_facts
默认为true。它等同于运行setup
模块。
- hosts: ....
gather_facts: yes
事实保存在ansible变量中以用于剧本。见System Facts
有很多方法可以显示安息事实。要了解它的工作原理,请尝试以下方法:
- hosts: 127.0.0.1
gather_facts: true
tasks:
- setup:
register: ansible_facts
- debug: item
with_dict: ansible_facts
答案 1 :(得分:0)
测试并通过它,这对我有用:
- name: Gather Windows Facts
hosts: "{{ target }}"
tasks:
- debug: var=vars
- debug: var=hostvars[inventory_hostname]