运行Ansible时如何减少显示的“更改”数量?

时间:2017-08-15 08:11:56

标签: ansible

当经常在多台机器上运行我的Ansible剧本时,即使没有任何改变,我总会看到很多“变化”。

这可能有不同的原因。例如,一个简单的原因是注册变量:

tasks:
- name: Fetch docker_compose_version
  shell: docker-compose --version
  register: docker_compose_version

此块导致

TASK [Fetch docker_compose_version] ********************************************************************************
changed: [mysrv]

如果机器上确实有任何改变的话,我想只看到一个改变。我怎样才能做到这一点?

1 个答案:

答案 0 :(得分:3)

这就是changed_when的用途。例如:

- name: Fetch docker_compose_version
  shell: docker-compose --version
  register: docker_compose_version
  changed_when: false

对于脚本和命令,您需要自己定义条件(没有魔法,常规模块也可以手动处理所有内容)。看看Overriding The Changed Result