set_stats
支持用户设置任意数值,用以在 ansible 运行完后显示。
使用例子如下
---
- hosts: all
gather_facts: true
pre_tasks:
- name: set ceph iscsi gateway install 'In Progress'
run_once: true
set_stats:
data:
installer_phase_ceph_iscsi_gw:
status: "In Progress"
start: "{{ lookup('pipe', 'date +%Y%m%d%H%M%SZ') }}"
tasks:
- debug:
msg: 'hello world'
post_tasks:
- name: set ceph iscsi gw install 'Complete'
run_once: true
set_stats:
data:
installer_phase_ceph_iscsi_gw:
status: "Complete"
end: "{{ lookup('pipe', 'date +%Y%m%d%H%M%SZ') }}"
- data 参数可以配置任意的值
- 还有一个 aggregate 的参数,默认值是 yes, 他表示是否要和已经存在的值聚合。
在运行 ansible 时,需在ansible.cfg
里配置 show_custom_stats=true
或通过环境变量配置ANSIBLE_SHOW_CUSTOM_STATS=true
来开启 stats 的输出。
$ ANSIBLE_SHOW_CUSTOM_STATS=true ansible-playbook -i inventory test.yml
PLAY [all]
TASK [set ceph iscsi gateway install 'In Progress']
ok: [10.10.0.2]
TASK [debug]
ok: [10.10.0.2] => {
"msg": "hello world"
}
TASK [set ceph iscsi gw install 'Complete']
ok: [10.10.0.2]
PLAY RECAP
10.10.0.2 : ok=3 changed=0 unreachable=0 failed=0
CUSTOM STATS:
RUN: { "installer_phase_ceph_iscsi_gw": { "end": "20181009151731Z", "start": "20181009151731Z", "status": "Complete" }}
可以看到,结果上已经把 custom stats 的值打印出来了。这样就可以把运行过程中的一些状态或统计信息输出出来,方便 playbooks 运行完成后,查看其运行状态。
以外,这个模块也适用于 windows
相关链接¶
原始链接:http://xcodest.me/ansible-set-stats.html
许可协议:"署名-非商用-相同方式共享 3.0" 转载请保留原文链接及作者。
Comments