我喜欢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
。有没有办法从这个循环中获得正确的更改状态?
更新如果apt安装了任何内容,我希望将其更改为True。如果已经安装了所有内容,并且在循环遍历此列表时apt没有做任何工作,那么我希望将其更改为False。
我使用的是Ansible 2.0.1.0。
答案 0 :(得分:1)
更改的指示是由于每次运行任务时都会执行apt缓存(apt-get update)。如果您只想指示软件包是否已安装,请删除update_cache:yes指令或设置为update_cache:no。
答案 1 :(得分:0)
在@ Petro026应用accepted answer之后,应该是什么。
tasks:
- name: install packages
apt:
name: "{{ item }}"
state: latest
with_items:
- build-essential
- git
- libjpeg-dev