【发布时间】:2018-09-15 14:02:02
【问题描述】:
是否有某种方法可以在控制台上打印收集到的事实?
我的意思是使用setup 模块控制事实。我想打印收集到的事实。可能吗 ?如果可能的话,有人可以举个例子吗?
【问题讨论】:
-
此命令显示有关主机的所有信息:ansible -i path_to_inventory -m setup hostname
标签: ansible
是否有某种方法可以在控制台上打印收集到的事实?
我的意思是使用setup 模块控制事实。我想打印收集到的事实。可能吗 ?如果可能的话,有人可以举个例子吗?
【问题讨论】:
标签: ansible
使用setup 模块作为ad-hoc 命令:
ansible myhost -m setup
【讨论】:
setup 模块。我可以在执行此操作后检查收集了哪些事实吗?
-vv 开关运行剧本?
ansible -v myhost -m setup | grep ansible_hostname 之类的东西,因为只有在详细程度 >=1 和 grepping 时才会打印事实,因为太多了。理想情况下,ansible 应该支持链接模块并执行以下操作:ansible -m setup -m debug -a var=ansible_hostname
ansible -i somehost, all -m setup 如果您正在运行这个真正 ad-hoc 并且甚至没有任何库存。 (后面的,是正确的)
你可以简单地转储hostvars:
dump.yml
---
- name: Dump
hosts: "{{ target|default('localhost') }}"
tasks:
- name: Facts
setup:
- name: Dump
delegate_to: localhost
run_once: true
copy:
content: "{{ hostvars[inventory_hostname] | to_nice_json }}"
dest: /tmp/setup-dump.json
使用ansible-playbook dump.yml -e target=hostname 或直接不使用主机名调用此剧本。
【讨论】:
TASK [Dump] ******************************************************************************************************************************************************************************** changed: [localhost -> localhost] 我从 target=localhost 开始