mirror of
https://github.com/kevinveenbirkenbach/computer-playbook.git
synced 2025-09-12 05:17:38 +02:00
- 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
55 lines
1.5 KiB
YAML
55 lines
1.5 KiB
YAML
- name: collect systemd unit files
|
|
shell: |
|
|
shopt -s nullglob
|
|
files=({{ PATH_SYSTEM_SERVICE_DIR }}*.service {{ PATH_SYSTEM_SERVICE_DIR }}*.timer)
|
|
printf "%s\n" "${files[@]}"
|
|
args:
|
|
executable: /bin/bash
|
|
register: _unit_files
|
|
changed_when: false
|
|
failed_when: false
|
|
become: true
|
|
listen:
|
|
- reload system daemon
|
|
- reexec systemd manager
|
|
|
|
- name: validate systemd units
|
|
shell: |
|
|
systemd-analyze verify {{ _unit_files.stdout_lines | join(' ') }}
|
|
register: _verify_units
|
|
changed_when: false
|
|
failed_when: _unit_files.stdout | length > 0 and _verify_units.rc != 0
|
|
become: true
|
|
when: _unit_files.stdout | length > 0
|
|
listen:
|
|
- reload system daemon
|
|
- reexec systemd manager
|
|
|
|
- name: show merged manager config
|
|
command: systemd-analyze cat-config systemd/system.conf
|
|
register: _catcfg
|
|
changed_when: false
|
|
become: true
|
|
listen:
|
|
- reload system daemon
|
|
- reexec systemd manager
|
|
|
|
- name: reload system daemon
|
|
ansible.builtin.systemd:
|
|
daemon_reload: true
|
|
become: true
|
|
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
|
|
# 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 }}"
|
|
poll: "{{ ASYNC_POLL if ASYNC_ENABLED | bool else omit }}"
|