mirror of
				https://github.com/kevinveenbirkenbach/computer-playbook.git
				synced 2025-10-31 18:29:21 +00:00 
			
		
		
		
	Refactor systemd handling
- sys-ctl-rpr-btrfs-balancer: suppress service flush for btrfs balancer (too expensive to run each play) - sys-daemon: replace raw systemctl calls with ansible.builtin.systemd (daemon_reload, daemon_reexec) - sys-service: split handler into 'Enable systemctl service' and 'Set systemctl service state', add become, async/poll, suppress flush guard Conversation: https://chatgpt.com/share/68c2f7a6-6fe4-800f-9d79-3e3b0ab4a563
This commit is contained in:
		| @@ -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 | ||||
|   | ||||
| @@ -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 }}" | ||||
|   | ||||
| @@ -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 | ||||
		Reference in New Issue
	
	Block a user