refactor(services): unify service/timer runtime control and cleanup handling

- Introduce SYS_SERVICE_ALL_ENABLED and SYS_TIMER_ALL_ENABLED runtime flags
- Add SYS_SERVICE_DEFAULT_STATE for consistent default handling
- Ensure all on-failure service names use lowercase software_name
- Load sys-svc-cln-anon-volumes role during Docker cleanup
- Allow forced service refresh when SYS_SERVICE_ALL_ENABLED is true
- Replace ACTIVATE_ALL_TIMERS with SYS_TIMER_ALL_ENABLED
- Use SYS_SERVICE_DEFAULT_STATE in sys-systemctl vars
- Remove redundant MIG build job fail check

Related to service/timer process control refactoring.
This commit is contained in:
2025-08-19 01:27:37 +02:00
parent 3114a7b586
commit 630fd43382
7 changed files with 21 additions and 15 deletions

View File

@@ -1,3 +1,7 @@
- name: Load role to delete anonymous volumes
include_role:
name: sys-svc-cln-anon-volumes
- name: Prune Docker resources
become: true
ansible.builtin.command: docker system prune -f

View File

@@ -36,3 +36,10 @@
src: "{{ systemctl_template_src }}"
dest: "{{ [ PATH_SYSTEM_SERVICE_DIR, systemctl_id | get_service_name(SOFTWARE_NAME) ] | path_join }}"
notify: "{{ 'reload system daemon' if systemctl_uses_at else 'refresh systemctl service' }}"
- name: refresh systemctl service when SYS_SERVICE_ALL_ENABLED
command: /bin/true
notify: "refresh systemctl service"
when:
- SYS_SERVICE_ALL_ENABLED | bool
- not systemctl_uses_at

View File

@@ -8,4 +8,4 @@ systemctl_script_dir: "{{ [ PATH_SYSTEMCTL_SCRIPTS, systemctl_id ] | path_jo
## Settings
systemctl_copy_files: true # When set to false file copying will be skipped
systemctl_timer_enabled: false # When set to true timmer will be loaded
systemctl_state: "{{ omit }}"
systemctl_state: "{{ SYS_SERVICE_DEFAULT_STATE }}"

View File

@@ -12,6 +12,6 @@
name: "{{ sys_timer_file }}"
state: restarted
enabled: yes
when: dummy_timer.changed or ACTIVATE_ALL_TIMERS | bool
when: dummy_timer.changed or SYS_TIMER_ALL_ENABLED | bool
async: "{{ ASYNC_TIME if ASYNC_ENABLED | bool else omit }}"
poll: "{{ ASYNC_POLL if ASYNC_ENABLED | bool else omit }}"

View File

@@ -6,9 +6,3 @@
async: "{{ (3600 if ASYNC_ENABLED | bool else omit) | default(omit) }}"
poll: "{{ ASYNC_POLL if ASYNC_ENABLED | bool else omit }}"
register: mig_build_job
- name: Fail if MIG build job did not start
fail:
msg: >
MIG build job failed to start. No job ID returned.
when: mig_build_job.ansible_job_id is not defined