有一个有用的ansible命令可以收集事实并存储它们,就像这样,
ansible -m setup --tree out/ all
但是如何通过ansible-playbook -i inventory.ini来做到这一点?只是存储事实,但实际上并没有运行剧本,仅用于诊断。
由于 詹姆斯。
答案 0 :(得分:0)
非常奇怪的请求,但是......
要仅执行游戏手册中的事实收集部分,您可以使用不存在的标记执行它:
ansible-playbook -i inventory.ini -vv -t zzzz myplaybook.yml
这会将收集的事实转储到stdout。
如果要将其存储到文件中,您应该执行以下操作:
ANSIBLE_STDOUT_CALLBACK=json \
ansible-playbook -i inventory.ini -t zzzz myplaybook.yml 2>/dev/null \
| jq '.plays[].tasks[].hosts[]' > tmp_hosts_facts