0

有一个有用的 ansible 命令可以收集事实并存储它们,就像这样,

ansible -m setup --tree out/ all

但是 ansible-playbook -i inventory.ini 怎么能做到呢?只存储事实,但不实际运行剧本,仅用于诊断。

谢谢詹姆斯。

4

1 回答 1

0

很奇怪的要求,但是...

要仅执行剧本的事实收集部分,您可以使用不存在的标签执行它:

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
于 2017-09-29T08:52:44.997 回答