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
This commit is contained in:
Jimmy McCrory 2016-11-02 06:07:03 -07:00
parent c0abd22c49
commit b37fb02c83

View File

@ -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"