Sea*_*ean 5 ansible ansible-playbook ansible-2.x
我正在尝试使用Ansible安装Apache2。我有一个Apache的角色和处理程序。
我的剧本(site.yml)包含:
---
- hosts: webservers
remote_user: ansrun
become: true
become_method: sudo
Run Code Online (Sandbox Code Playgroud)
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
Run Code Online (Sandbox Code Playgroud)
每当我运行剧本时,都会收到此消息,但没有任何变化。
changed: [10.0.1.200] => (item=[u'apache2'])
Run Code Online (Sandbox Code Playgroud)
我认为这与条件有关。
您遇到了Ansible 2.2.0 引入的问题(并在 2.2.1 中修复)。
update_cache=yes每当 APT 缓存更新发生时,该模块apt都会返回changed-status,而不仅仅是在升级实际包时。
需要将Ansible升级到2.2.1版本(1月16日正式发布)
您需要执行以下操作之一:
Install Apache 2任务分成两部分:
changed_when设置为false),apache2包安装(不带update_cache=yes),调用处理程序。| 归档时间: |
|
| 查看次数: |
407 次 |
| 最近记录: |