我喜欢Ansible中的这种模式:
tasks:
- name: install packages
apt:
name: "{{ item }}"
update_cache: yes
cache_valid_time: 3600
state: latest
with_items:
- build-essential
- git
- libjpeg-dev
但是,即使没有安装任何内容,我每次都会收到更改通知 . 我不想设置 changed_when: False
. 有没有办法从这个循环中获得正确的更改状态?
Update 如果apt安装了任何内容,我希望将其更改为True . 如果所有内容都已安装,并且在循环遍历此列表时apt没有做任何工作,那么我希望将其更改为False .
我正在使用Ansible 2.0.1.0 .
2 回答
更改的指示是由于每次运行任务时都会执行apt缓存(apt-get update) . 如果您只想指示是否已安装软件包,请删除update_cache:yes指令或设置为update_cache:no .
应用@ Petro026的accepted answer后,应该是什么 .