diff --git a/changelogs/fragments/fix_change_order_of_module_tasks.yml b/changelogs/fragments/fix_change_order_of_module_tasks.yml new file mode 100644 index 00000000..7f9ffbff --- /dev/null +++ b/changelogs/fragments/fix_change_order_of_module_tasks.yml @@ -0,0 +1,3 @@ +--- +bugfixes: + - "Icingaweb2: Change order of module state and configuration tasks #225" diff --git a/roles/icingaweb2/tasks/main.yml b/roles/icingaweb2/tasks/main.yml index a020d4cd..ea8dbe43 100644 --- a/roles/icingaweb2/tasks/main.yml +++ b/roles/icingaweb2/tasks/main.yml @@ -28,12 +28,7 @@ ansible.builtin.include_tasks: "manage_icingaweb_{{ icingaweb2_db.type }}_db.yml" when: icingaweb2_db is defined -- name: Configure modules - ansible.builtin.include_tasks: "modules/{{ item.key }}.yml" - when: icingaweb2_modules is defined - loop: "{{ icingaweb2_modules | dict2items }}" - -- name: Manage enabled/disabled modules +- name: Manage module states ansible.builtin.file: src: "{{ icingaweb2_config.global.module_path + '/' + item.key if item.value.enabled|bool == true else omit }}" dest: "{{ icingaweb2_config_dir }}/enabledModules/{{ item.key }}" @@ -43,6 +38,13 @@ force: yes when: icingaweb2_modules is defined loop: "{{ icingaweb2_modules | dict2items }}" + loop_control: + label: "Ensure {{ item.key }} is {{ 'enabled' if item.value.enabled|bool == true else 'disabled' }}" + +- name: Configure modules + ansible.builtin.include_tasks: "modules/{{ item.key }}.yml" + when: icingaweb2_modules is defined + loop: "{{ icingaweb2_modules | dict2items }}" # Many daemons fail before e.g. the resource is set up or the schema hasn't been migrated. This is a workaround. - name: Manage enabled module daemons