我正在尝试使用Ansible安装Apache2。我有Apache的角色和处理程序。
我的剧本(site.yml
)包含:
---
- hosts: webservers
remote_user: ansrun
become: true
become_method: sudo
Ansible角色文件包含:
---
- name: Install Apache 2
apt: name={{ item }} update_cache=yes state=present
with_items:
- apache2
when: ansible_distribution == "Ubuntu"
- name: Enable mod_rewrite
apache2_module: name=rewrite state=present
notify:
- reload apache2
每当我运行剧本时,我都会收到此消息,但一切都没有改变。
changed: [10.0.1.200] => (item=[u'apache2'])
我认为这与条件有关。
答案 0 :(得分:2)
您正在遇到引入Ansible 2.2.0的problem(并在2.2.1中修复)。
使用update_cache=yes
apt
模块返回changed
- 每当APT缓存更新发生时返回状态,而不仅仅是当实际包升级时。
您需要将Ansible升级到2.2.1版(1月16日正式发布)
您需要执行以下操作之一:
Install Apache 2
任务拆分为两个:
击> changed_when
设置为false
),apache2
软件包安装(没有update_cache=yes
),调用处理程序。