mirror of
https://github.com/kevinveenbirkenbach/computer-playbook.git
synced 2025-08-30 15:28:12 +02:00
Refactor systemctl services and timers
- Unified service templates into generic systemctl templates - Introduced reusable filter plugins for script path handling - Updated path variables and service/timer definitions - Migrated roles (backup, cleanup, repair, etc.) to use systemctl role - Added sys-daemon role for core systemd cleanup - Simplified timer handling via sys-timer role Note: This is a large refactor and some errors may still exist. Further testing and adjustments will be needed.
This commit is contained in:
@@ -1,5 +0,0 @@
|
||||
- name: restart sys-ctl-rpr-docker-soft service
|
||||
systemd:
|
||||
name: sys-ctl-rpr-docker-soft{{ SYS_SERVICE_SUFFIX }}
|
||||
state: restarted
|
||||
daemon_reload: yes
|
@@ -3,30 +3,8 @@
|
||||
name: sys-lock
|
||||
when: run_once_sys_lock is not defined
|
||||
|
||||
- name: "create {{heal_docker}}"
|
||||
file:
|
||||
path: "{{heal_docker}}"
|
||||
state: directory
|
||||
mode: "0755"
|
||||
|
||||
- name: create sys-ctl-rpr-docker-soft.py
|
||||
template:
|
||||
src: sys-ctl-rpr-docker-soft.py.j2
|
||||
dest: "{{heal_docker}}sys-ctl-rpr-docker-soft.py"
|
||||
notify: restart sys-ctl-rpr-docker-soft service
|
||||
|
||||
- name: create sys-ctl-rpr-docker-soft{{ SYS_SERVICE_SUFFIX }}
|
||||
template:
|
||||
src: sys-ctl-rpr-docker-soft.service.j2
|
||||
dest: /etc/systemd/system/sys-ctl-rpr-docker-soft{{ SYS_SERVICE_SUFFIX }}
|
||||
notify: restart sys-ctl-rpr-docker-soft service
|
||||
|
||||
- name: "set 'service_name' to '{{ role_name }}'"
|
||||
set_fact:
|
||||
service_name: "{{ role_name }}"
|
||||
|
||||
- name: "include role for sys-timer for {{ service_name }}"
|
||||
include_role:
|
||||
name: sys-timer
|
||||
- include_role:
|
||||
name: sys-systemctl
|
||||
vars:
|
||||
on_calendar: "{{SYS_SCHEDULE_REPAIR_DOCKER_SOFT}}"
|
||||
systemctl_on_calendar: "{{SYS_SCHEDULE_REPAIR_DOCKER_SOFT}}"
|
||||
systemctl_timer_enabled: true
|
||||
|
@@ -39,10 +39,11 @@ def main(base_directory):
|
||||
blocker_running = True
|
||||
|
||||
while blocker_running:
|
||||
try:
|
||||
bash("systemctl is-active --quiet sys-ctl-bkp-docker-2-loc{{ SYS_SERVICE_SUFFIX }}")
|
||||
bash("systemctl is-active --quiet update-docker{{ SYS_SERVICE_SUFFIX }}")
|
||||
print("Backup is running.")
|
||||
try:
|
||||
{% for manipulation_service in SYS_SERVICE_GROUP_MANIPULATION %}
|
||||
bash("systemctl is-active --quiet {{ manipulation_service }}")
|
||||
{% endfor %}
|
||||
print("Manipulation service is running.")
|
||||
print(f"Trying again in {waiting_time} seconds.")
|
||||
time.sleep(waiting_time)
|
||||
except:
|
@@ -1,8 +0,0 @@
|
||||
[Unit]
|
||||
Description=restart unhealthy docker containers
|
||||
OnFailure=sys-ctl-alm-compose.{{ SOFTWARE_NAME }}@%n.service
|
||||
|
||||
[Service]
|
||||
Type=oneshot
|
||||
ExecStartPre=/bin/sh -c '/usr/bin/python {{ PATH_SYSTEM_LOCK_SCRIPT }} {{ SYS_SERVICE_GROUP_MANIPULATION | join(' ') }} --ignore {{SYS_SERVICE_GROUP_CLEANUP| join(' ') }} sys-ctl-rpr-docker-soft --timeout "{{SYS_TIMEOUT_HEAL_DOCKER}}"'
|
||||
ExecStart=/bin/sh -c '/bin/python {{heal_docker}}sys-ctl-rpr-docker-soft.py {{ PATH_DOCKER_COMPOSE_INSTANCES }}'
|
@@ -0,0 +1,8 @@
|
||||
[Unit]
|
||||
Description=restart unhealthy docker containers
|
||||
OnFailure={{ SYS_SERVICE_ON_FAILURE_COMPOSE }}
|
||||
|
||||
[Service]
|
||||
Type=oneshot
|
||||
ExecStartPre=/bin/sh -c '/usr/bin/python {{ PATH_SYSTEM_LOCK_SCRIPT }} {{ SYS_SERVICE_GROUP_MANIPULATION | join(' ') }} --ignore {{ SYS_SERVICE_GROUP_CLEANUP| join(' ') }} sys-ctl-rpr-docker-soft --timeout "{{ SYS_TIMEOUT_HEAL_DOCKER }}"'
|
||||
ExecStart=/bin/sh -c '/bin/python {{ systemctl_id | get_service_script_path('py') }} {{ PATH_DOCKER_COMPOSE_INSTANCES }}'
|
@@ -1,2 +1 @@
|
||||
heal_docker: '{{ PATH_ADMINISTRATOR_SCRIPTS }}sys-ctl-rpr-docker-soft/'
|
||||
|
||||
systemctl_id: sys-ctl-rpr-docker-soft
|
Reference in New Issue
Block a user