diff --git a/roles/sys-ctl-rpr-btrfs-balancer/tasks/01_core.yml b/roles/sys-ctl-rpr-btrfs-balancer/tasks/01_core.yml index e88f954e..813228b2 100644 --- a/roles/sys-ctl-rpr-btrfs-balancer/tasks/01_core.yml +++ b/roles/sys-ctl-rpr-btrfs-balancer/tasks/01_core.yml @@ -12,6 +12,7 @@ - include_role: name: sys-service vars: + system_service_suppress_flush: true # It takes a super long time - Better wait for failure of timed service instead of executing it on every play system_service_copy_files: false system_service_on_calendar: "{{ SYS_SCHEDULE_REPAIR_BTRFS_AUTO_BALANCER }}" system_service_timer_enabled: true diff --git a/roles/sys-daemon/handlers/main.yml b/roles/sys-daemon/handlers/main.yml index bd9eac52..4d184ad3 100644 --- a/roles/sys-daemon/handlers/main.yml +++ b/roles/sys-daemon/handlers/main.yml @@ -35,14 +35,19 @@ - reexec systemd manager - name: reload system daemon - command: systemctl daemon-reload + ansible.builtin.systemd: + daemon_reload: true become: true - listen: reload system daemon + listen: + - reload system daemon + - refresh systemctl service async: "{{ ASYNC_TIME if ASYNC_ENABLED | bool else omit }}" poll: "{{ ASYNC_POLL if ASYNC_ENABLED | bool else omit }}" - name: reexec systemd manager - command: systemctl daemon-reexec + # Just execute this during reset, it has potential dangerous side effects + ansible.builtin.systemd: + daemon_reexec: true become: true listen: reexec systemd manager async: "{{ ASYNC_TIME if ASYNC_ENABLED | bool else omit }}" diff --git a/roles/sys-service/handlers/main.yml b/roles/sys-service/handlers/main.yml index f5602a23..29c4d271 100644 --- a/roles/sys-service/handlers/main.yml +++ b/roles/sys-service/handlers/main.yml @@ -1,9 +1,19 @@ -- name: "refresh systemctl service" +- name: "Enable systemctl service" systemd: name: "{{ system_service_id | get_service_name(SOFTWARE_NAME) }}" - daemon_reload: yes enabled: yes + daemon_reload: true + become: true + async: "{{ ASYNC_TIME if ASYNC_ENABLED | bool else omit }}" + poll: "{{ ASYNC_POLL if ASYNC_ENABLED | bool else omit }}" + listen: refresh systemctl service + +- name: "Set systemctl service state" + systemd: + name: "{{ system_service_id | get_service_name(SOFTWARE_NAME) }}" state: "{{ system_service_state }}" + become: true async: "{{ ASYNC_TIME if ASYNC_ENABLED | bool else omit }}" poll: "{{ ASYNC_POLL if ASYNC_ENABLED | bool else omit }}" when: not (system_service_suppress_flush | bool) + listen: refresh systemctl service \ No newline at end of file