问题描述
想要了解如何使ansible-playbook以机器可读的格式输出。
解决方案
请注意以下操作注意版本差异及修改前做好备份。
方案1
在Ansible中,可以通过配置选项来实现以机器可读的格式输出。有几个选项可以输出JSON格式的结果:
1. JSON输出到标准输出
2. JSON输出到syslog
你可以在配置文件(ansible.cfg
)或环境变量(ANSIBLE_XXX
)中设置这些配置选项,具体取决于你的喜好。以下是配置文件的示例(ansible.cfg
):
[defaults]
callback_whitelist=json
stdout_callback=json
使用环境变量的示例:
ANSIBLE_CALLBACK_WHITELIST=json ANSIBLE_STDOUT_CALLBACK=json ansible-playbook ...
请注意,Ansible会按照以下顺序搜索配置文件,并使用找到的第一个文件,忽略其他文件:
1. ANSIBLE_CONFIG
(如果设置了环境变量)
2. ansible.cfg
(在当前目录)
3. ~/.ansible.cfg
(在用户主目录)
4. /etc/ansible/ansible.cfg
以上是使用Ansible的配置选项来实现以机器可读格式输出的方法。你可以根据自己的需求选择适合的方法。
正文完