7c632352a0
The behaviour of the `include` module is badly defined (it try to choose between statically importing the tasks and dynamically including them) and can cause problems depending on any number of constraints (mostly if it choose the wrong behaviour). Replace it with the `import_tasks` (always statically import tasks) unless the `include` is in a loop in which case we replace it with `include_tasks` (always dynamically include tasks).
137 lines
3.8 KiB
YAML
137 lines
3.8 KiB
YAML
---
|
|
|
|
# Legacy or modern mode? ##############################################
|
|
|
|
- name: Check minifirewall
|
|
stat:
|
|
path: /etc/init.d/minifirewall
|
|
register: _minifirewall_check
|
|
|
|
# Legacy versions of minifirewall don't define the VERSION variable
|
|
- name: Look for minifirewall version
|
|
shell: "grep -E '^\\s*VERSION=' /etc/init.d/minifirewall"
|
|
failed_when: False
|
|
changed_when: False
|
|
check_mode: False
|
|
register: _minifirewall_version_check
|
|
|
|
- name: Set install mode to legacy if needed
|
|
set_fact:
|
|
minifirewall_install_mode: legacy
|
|
minifirewall_main_file: "{{ minifirewall_legacy_main_file }}"
|
|
minifirewall_tail_file: "{{ minifirewall_legacy_tail_file }}"
|
|
when:
|
|
- minifirewall_install_mode != 'modern'
|
|
- not (minifirewall_force_upgrade_script | bool)
|
|
- _minifirewall_version_check.rc == 1 # grep didn't find but the file exists
|
|
|
|
- name: Set install mode to modern if not legacy
|
|
set_fact:
|
|
minifirewall_install_mode: modern
|
|
when: minifirewall_install_mode != 'legacy'
|
|
|
|
- name: Debug install mode
|
|
debug:
|
|
var: minifirewall_install_mode
|
|
verbosity: 1
|
|
|
|
- name: 'Set minifirewall_restart_handler_name to "noop"'
|
|
set_fact:
|
|
minifirewall_restart_handler_name: "restart minifirewall (noop)"
|
|
when: not (minifirewall_restart_if_needed | bool)
|
|
|
|
- name: 'Set minifirewall_restart_handler_name to "legacy"'
|
|
set_fact:
|
|
minifirewall_restart_handler_name: "restart minifirewall (legacy)"
|
|
when:
|
|
- minifirewall_restart_if_needed | bool
|
|
- minifirewall_install_mode == 'legacy'
|
|
|
|
- name: 'Set minifirewall_restart_handler_name to "modern"'
|
|
set_fact:
|
|
minifirewall_restart_handler_name: "restart minifirewall (modern)"
|
|
when:
|
|
- minifirewall_restart_if_needed | bool
|
|
- minifirewall_install_mode != 'legacy'
|
|
|
|
#######################################################################
|
|
|
|
- name: Fail if minifirewall_main_file is defined (legacy mode)
|
|
fail:
|
|
msg: "Variable minifirewall_main_file is deprecated and not configurable anymore."
|
|
when:
|
|
- minifirewall_install_mode != 'legacy'
|
|
- minifirewall_main_file is defined
|
|
|
|
- name: Install tasks (modern mode)
|
|
import_tasks: install.yml
|
|
when: minifirewall_install_mode != 'legacy'
|
|
|
|
- name: Install tasks (legacy mode)
|
|
import_tasks: install.legacy.yml
|
|
when: minifirewall_install_mode == 'legacy'
|
|
|
|
- name: Debug minifirewall_update_config
|
|
debug:
|
|
var: minifirewall_update_config | bool
|
|
verbosity: 1
|
|
|
|
- name: Config tasks (modern mode)
|
|
import_tasks: config.yml
|
|
when:
|
|
- minifirewall_install_mode != 'legacy'
|
|
- minifirewall_update_config | bool
|
|
|
|
- name: Config tasks (legacy mode)
|
|
import_tasks: config.legacy.yml
|
|
when:
|
|
- minifirewall_install_mode == 'legacy'
|
|
- minifirewall_update_config | bool
|
|
|
|
- name: Utils tasks
|
|
import_tasks: utils.yml
|
|
|
|
- name: NRPE tasks
|
|
import_tasks: nrpe.yml
|
|
|
|
- name: Activation tasks
|
|
import_tasks: activate.yml
|
|
|
|
- name: Debug minifirewall_tail_included
|
|
debug:
|
|
var: minifirewall_tail_included | bool
|
|
verbosity: 1
|
|
|
|
- name: Tail tasks (modern mode)
|
|
import_tasks: tail.yml
|
|
when:
|
|
- minifirewall_install_mode != 'legacy'
|
|
- minifirewall_tail_included | bool
|
|
|
|
- name: Tail tasks (legacy mode)
|
|
import_tasks: tail.legacy.yml
|
|
when:
|
|
- minifirewall_install_mode == 'legacy'
|
|
- minifirewall_tail_included | bool
|
|
|
|
# Restart?
|
|
|
|
- name: Debug minifirewall_restart_force
|
|
debug:
|
|
var: minifirewall_restart_force | bool
|
|
verbosity: 1
|
|
|
|
- name: Force restart minifirewall (legacy)
|
|
command: /bin/true
|
|
notify: "restart minifirewall (legacy)"
|
|
when:
|
|
- minifirewall_install_mode == 'legacy'
|
|
- minifirewall_restart_force | bool
|
|
|
|
- name: Force restart minifirewall (modern)
|
|
command: /bin/true
|
|
notify: "restart minifirewall (modern)"
|
|
when:
|
|
- minifirewall_install_mode != 'legacy'
|
|
- minifirewall_restart_force | bool
|