shrink_lv/tasks/check_services.yml

57 lines
2.1 KiB
YAML

---
- name: Ensure service facts are available
ansible.builtin.service_facts:
# - name: Capture a list of running services
# ansible.builtin.set_fact:
# bigboot_systemd_running_services:
# "{{ bigboot_systemd_running_services | default([]) + [item['key']] }}"
# loop: "{{ ansible_facts['services'] | dict2items }}"
# loop_control:
# label: "{{ item['key'] }}"
# when:
# - "'running' in item['value']['state']"
# - name: Get the stop timeout value for running services
# ansible.builtin.shell:
# cmd: |
# set -o pipefail
# systemctl show {{ item }} | grep TimeoutStopUSec
# changed_when: false
# register: bigboot_systemd_service_timeout
# loop: "{{ bigboot_systemd_running_services }}"
# - name: Adding services exceeding the timeout threshold to the list of services to disable
# ansible.builtin.set_fact:
# bigboot_services_disabled: "{{ bigboot_services_disabled | default([]) + [item['item']] }}"
# loop: "{{ bigboot_systemd_service_timeout['results'] }}"
# loop_control:
# label: "{{ item['item'] }}"
# when:
# - item['item'] not in bigboot_protected_services
# - item['stdout'] | regex_replace('^.*=(.*$)', '\\1') | community.general.to_minutes >= bigboot_service_max_timeout | int
- name: Adding incompatible services to the list of services to disable
ansible.builtin.set_fact:
bigboot_services_disabled: "{{ bigboot_services_disabled | default([]) + [item] }}"
loop: "{{ bigboot_incompatible_services }}"
when:
- ansible_facts['services'][item] is defined
- ansible_facts['services'][item]['state'] == "running"
- name: Log and disable services
when:
- bigboot_services_disabled is defined
- bigboot_services_disabled | length > 0
block:
- name: Disable services and log their state
ansible.builtin.include_tasks: tasks/disable_systemd_services.yml
loop: "{{ bigboot_services_disabled }}"
- name: Services disabled notice
ansible.builtin.debug:
msg: >-
The following services were disabled, and will be re-enabled post
Bigboot execution: {{ bigboot_services_disabled | join(', ') }}