--- # Copyright (c) Ansible Project # GNU General Public License v3.0+ (see LICENSES/GPL-3.0-or-later.txt or https://www.gnu.org/licenses/gpl-3.0.txt) # SPDX-License-Identifier: GPL-3.0-or-later - name: disable userdir module community.general.apache2_module: name: userdir state: absent register: userdir_first_disable - name: disable userdir module, second run community.general.apache2_module: name: userdir state: absent register: disable - name: ensure community.general.apache2_module is idempotent assert: that: - disable is not changed - name: enable userdir module community.general.apache2_module: name: userdir state: present register: enable - name: ensure changed on successful enable assert: that: - enable is changed - name: enable userdir module, second run community.general.apache2_module: name: userdir state: present register: enabletwo - name: ensure community.general.apache2_module is idempotent assert: that: - 'not enabletwo.changed' - name: disable userdir module, final run community.general.apache2_module: name: userdir state: absent register: disablefinal - name: ensure changed on successful disable assert: that: - 'disablefinal.changed' - name: set userdir to original state community.general.apache2_module: name: userdir state: present when: userdir_first_disable is changed - name: ensure autoindex enabled community.general.apache2_module: name: autoindex state: present - name: Debian/Ubuntu specific tests when: "ansible_os_family == 'Debian'" block: - name: force disable of autoindex # bug #2499 community.general.apache2_module: name: autoindex state: absent force: true - name: re-enable autoindex community.general.apache2_module: name: autoindex state: present # mod_evasive is enabled by default upon the installation, so disable first and enable second, to preserve the config - name: disable evasive module community.general.apache2_module: name: evasive state: absent - name: enable evasive module, test https://github.com/ansible/ansible/issues/22635 community.general.apache2_module: name: evasive state: present - name: use identifier to enable module, fix for https://github.com/ansible/ansible/issues/33669 community.general.apache2_module: name: dump_io state: present ignore_errors: true register: enable_dumpio_wrong - name: disable dump_io community.general.apache2_module: name: dump_io identifier: dumpio_module state: absent - name: use identifier to enable module, fix for https://github.com/ansible/ansible/issues/33669 community.general.apache2_module: name: dump_io identifier: dumpio_module state: present register: enable_dumpio_correct_1 - name: ensure idempotency with identifier community.general.apache2_module: name: dump_io identifier: dumpio_module state: present register: enable_dumpio_correct_2 - name: disable dump_io community.general.apache2_module: name: dump_io identifier: dumpio_module state: absent - assert: that: - enable_dumpio_wrong is failed - enable_dumpio_correct_1 is changed - enable_dumpio_correct_2 is not changed - name: disable mpm modules community.general.apache2_module: name: "{{ item }}" state: absent ignore_configcheck: true with_items: - mpm_worker - mpm_event - mpm_prefork - name: enabled mpm_event community.general.apache2_module: name: mpm_event state: present ignore_configcheck: true register: enabledmpmevent - name: ensure changed mpm_event assert: that: - 'enabledmpmevent.changed' - name: switch between mpm_event and mpm_worker community.general.apache2_module: name: "{{ item.name }}" state: "{{ item.state }}" ignore_configcheck: true with_items: - name: mpm_event state: absent - name: mpm_worker state: present - name: ensure mpm_worker is already enabled community.general.apache2_module: name: mpm_worker state: present register: enabledmpmworker - name: ensure mpm_worker unchanged assert: that: - 'not enabledmpmworker.changed' - name: try to disable all mpm modules with configcheck community.general.apache2_module: name: "{{item}}" state: absent with_items: - mpm_worker - mpm_event - mpm_prefork ignore_errors: true register: remove_with_configcheck - name: ensure configcheck fails task with when run without mpm modules assert: that: - "{{ item.failed }}" with_items: "{{ remove_with_configcheck.results }}" - name: try to disable all mpm modules without configcheck community.general.apache2_module: name: "{{item}}" state: absent ignore_configcheck: true with_items: - mpm_worker - mpm_event - mpm_prefork - name: enabled mpm_event to restore previous state community.general.apache2_module: name: mpm_event state: present ignore_configcheck: true register: enabledmpmevent