From b37fb02c837315aa8fd0047b45088ceb5206a02e Mon Sep 17 00:00:00 2001 From: Jimmy McCrory Date: Wed, 2 Nov 2016 06:07:03 -0700 Subject: [PATCH] Workaround upstream issue with apache2_module 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] https://github.com/ansible/ansible-modules-core/issues/5328 Change-Id: I65ffc016b594ebe0d61d1355364d222d0082ee63 --- tasks/horizon_apache.yml | 28 +++++++++++++++------------- 1 file changed, 15 insertions(+), 13 deletions(-) diff --git a/tasks/horizon_apache.yml b/tasks/horizon_apache.yml index 81e05eb6..09559cc3 100644 --- a/tasks/horizon_apache.yml +++ b/tasks/horizon_apache.yml @@ -13,6 +13,21 @@ # See the License for the specific language governing permissions and # limitations under the License. +# 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 }}" @@ -34,19 +49,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"