1
0
Fork 0
mirror of https://github.com/ansible-collections/community.general.git synced 2024-09-14 20:13:21 +02:00
community.general/test/integration/targets/apache2_module/tasks/actualtest.yml
Michael Gugino 607c66f80a Validate apache2 mpm module switching for bug #5328
This patchset updates module integration testing to
validate the changes in PR #5454

This patchset instructs apache2_module to disable all
mpm modules, enable mpm_event, then disable mpm_event
and enable mpm_worker.

This patchset instructs apache2_module to disable all
mpm modules with `ignore_configcheck` set to False
and then disable all mpm modules with `ignore_configcheck`
set to True.

SuSe family of distributions do not ship apache2 with
mpm modules other than prefork. mpm_event and mpm_worker
checks are skipped for SuSe family of distributions.

Fixes: #5328
2018-01-11 16:59:54 -08:00

176 lines
4.1 KiB
YAML

# This file is part of Ansible
#
# Ansible is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation, either version 3 of the License, or
# (at your option) any later version.
#
# Ansible is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with Ansible. If not, see <http://www.gnu.org/licenses/>.
- name: install apache via apt
apt:
name: "{{item}}"
state: present
when: "ansible_os_family == 'Debian'"
with_items:
- apache2
- libapache2-mod-evasive
- name: install apache via zypper
zypper:
name: apache2
state: present
when: "ansible_os_family == 'Suse'"
- name: disable userdir module
apache2_module:
name: userdir
state: absent
- name: disable userdir module, second run
apache2_module:
name: userdir
state: absent
register: disable
- name: ensure apache2_module is idempotent
assert:
that:
- 'not disable.changed'
- name: enable userdir module
apache2_module:
name: userdir
state: present
register: enable
- name: ensure changed on successful enable
assert:
that:
- 'enable.changed'
- name: enable userdir module, second run
apache2_module:
name: userdir
state: present
register: enabletwo
- name: ensure apache2_module is idempotent
assert:
that:
- 'not enabletwo.changed'
- name: disable userdir module, final run
apache2_module:
name: userdir
state: absent
register: disablefinal
- name: ensure changed on successful disable
assert:
that:
- 'disablefinal.changed'
- name: ensure autoindex enabled
apache2_module:
name: autoindex
state: present
- name: force disable of autoindex # bug #2499
apache2_module:
name: autoindex
state: absent
force: True
when: "ansible_os_family == 'Debian'"
- name: enable evasive module, test https://github.com/ansible/ansible/issues/22635
apache2_module:
name: evasive
state: present
when: "ansible_os_family == 'Debian'"
- name: disable mpm modules
apache2_module:
name: "{{ item }}"
state: absent
ignore_configcheck: True
with_items:
- mpm_worker
- mpm_event
- mpm_prefork
when: "ansible_os_family == 'Debian'"
- name: enabled mpm_event
apache2_module:
name: mpm_event
state: present
ignore_configcheck: True
register: enabledmpmevent
when: "ansible_os_family == 'Debian'"
- name: ensure changed mpm_event
assert:
that:
- 'enabledmpmevent.changed'
when: "ansible_os_family == 'Debian'"
- name: switch between mpm_event and mpm_worker
apache2_module:
name: "{{ item.name }}"
state: "{{ item.state }}"
ignore_configcheck: True
with_items:
- name: mpm_event
state: absent
- name: mpm_worker
state: present
when: "ansible_os_family == 'Debian'"
- name: ensure mpm_worker is already enabled
apache2_module:
name: mpm_worker
state: present
register: enabledmpmworker
when: "ansible_os_family == 'Debian'"
- name: ensure mpm_worker unchanged
assert:
that:
- 'not enabledmpmworker.changed'
when: "ansible_os_family == 'Debian'"
- name: try to disable all mpm modules with configcheck
apache2_module:
name: "{{item}}"
state: absent
with_items:
- mpm_worker
- mpm_event
- mpm_prefork
ignore_errors: yes
register: remove_with_configcheck
when: "ansible_os_family == 'Debian'"
- name: ensure configcheck fails task with when run without mpm modules
assert:
that:
- "{{ item.failed }}"
with_items: "{{ remove_with_configcheck.results }}"
when: "ansible_os_family == 'Debian'"
- name: try to disable all mpm modules without configcheck
apache2_module:
name: "{{item}}"
state: absent
ignore_configcheck: True
with_items:
- mpm_worker
- mpm_event
- mpm_prefork
when: "ansible_os_family == 'Debian'"