mirror of
				https://github.com/kevinveenbirkenbach/computer-playbook.git
				synced 2025-10-31 02:10:05 +00: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