有一个有用的 ansible 命令可以收集事实并存储它们,就像这样,
ansible -m setup --tree out/ all
但是 ansible-playbook -i inventory.ini 怎么能做到呢?只存储事实,但不实际运行剧本,仅用于诊断。
谢谢詹姆斯。
有一个有用的 ansible 命令可以收集事实并存储它们,就像这样,
ansible -m setup --tree out/ all
但是 ansible-playbook -i inventory.ini 怎么能做到呢?只存储事实,但不实际运行剧本,仅用于诊断。
谢谢詹姆斯。
很奇怪的要求,但是...
要仅执行剧本的事实收集部分,您可以使用不存在的标签执行它:
ansible-playbook -i inventory.ini -vv -t zzzz myplaybook.yml
这会将收集到的事实转储到标准输出。
如果要将其存储到文件中,则应执行以下操作:
ANSIBLE_STDOUT_CALLBACK=json \
ansible-playbook -i inventory.ini -t zzzz myplaybook.yml 2>/dev/null \
| jq '.plays[].tasks[].hosts[]' > tmp_hosts_facts