Skip to content

Commit

Permalink
Workaround upstream issue with apache2_module
Browse files Browse the repository at this point in the history
The apache2_module module in Ansible 2.2 is much more strict around
configuration syntax checks and contains a bug [0] preventing MPM
modules from being changed.

Move the enabling of apache2 modules ahead of writing configurations and
temporarily use the command module to enable/disable apache2 modules
until this issue is resolved.

[0] ansible/ansible-modules-core#5328

Change-Id: I65ffc016b594ebe0d61d1355364d222d0082ee63
  • Loading branch information
jimmymccrory authored and hudayou committed Apr 9, 2017
1 parent 1e5c7ae commit ca64484
Showing 1 changed file with 15 additions and 13 deletions.
28 changes: 15 additions & 13 deletions tasks/horizon_apache.yml
Original file line number Diff line number Diff line change
Expand Up @@ -20,6 +20,21 @@
owner: "{{ horizon_apache_default_log_owner }}"
group: "{{ horizon_apache_default_log_grp }}"

# Workaround for https://github.com/ansible/ansible-modules-core/issues/5328
# TODO: Replace using apache2_module when fixed in Ansible release
- name: Enable apache2 modules
command: "{{ (item.state == 'present') | ternary('a2enmod','a2dismod') }} {{ item.name }}"
register: horizon_apache2_module
changed_when: horizon_apache2_module.stdout.find('{{ item.name }} already') == -1
with_items:
- { state: present, name: wsgi }
- { state: present, name: ssl }
- { state: absent, name: mpm_event }
- { state: present, name: mpm_worker }
- { state: present, name: rewrite }
- { state: present, name: headers }
notify: Restart apache2

- name: Drop apache2 configs
template:
src: "{{ item.src }}"
Expand All @@ -41,19 +56,6 @@
- { state: absent, name: 000-default.conf }
notify: Restart apache2

- name: Enable apache2 modules
apache2_module:
state: "{{ item.state }}"
name: "{{ item.name }}"
with_items:
- { state: present, name: wsgi }
- { state: present, name: ssl }
- { state: absent, name: mpm_event }
- { state: present, name: mpm_worker }
- { state: present, name: rewrite }
- { state: present, name: headers }
notify: Restart apache2

- name: Ensure Apache ServerName
lineinfile:
dest: "/etc/apache2/apache2.conf"
Expand Down

0 comments on commit ca64484

Please sign in to comment.