From eea3163c8b309750e28a1034f6e9451d7918ea75 Mon Sep 17 00:00:00 2001 From: Matt Anson Date: Tue, 11 Feb 2025 20:22:18 +0000 Subject: [PATCH] Add tasks to disable libvirt modular systemd units by default As this role configures monolithic daemons, it makes sense to disable the systemd units related to modular libvirt daemons, which may prevent the monolithic services from starting after a system reboot. --- defaults/main.yml | 24 ++++++++++++++++++++++++ tasks/config.yml | 4 ++++ tasks/disable-modular-systemd-units.yml | 13 +++++++++++++ 3 files changed, 41 insertions(+) create mode 100644 tasks/disable-modular-systemd-units.yml diff --git a/defaults/main.yml b/defaults/main.yml index 899397d..4142463 100644 --- a/defaults/main.yml +++ b/defaults/main.yml @@ -162,3 +162,27 @@ libvirt_host_vnc_tls_enabled: false # Whether to configure AppArmor for directory storage pools. libvirt_host_configure_apparmor: "{{ libvirt_host_install_daemon | bool }}" + +# Whether to disable and mask libvirt modular systemd units +# See: https://libvirt.org/daemons.html +libvirt_disable_modular_systemd_units: true + +# A list of libvirt modular daemon drivers +libvirtd_modular_daemon_drivers: + - qemu + - interface + - network + - nodedev + - nwfilter + - proxy + - secret + - storage + +# A list of libvirt modular systemd services. +# The {driver} replacement string is populated +# from libvirtd_modular_daemon_drivers. +libvirtd_modular_services: + - virt{driver}d.service + - virt{driver}d.socket + - virt{driver}d-ro.socket + - virt{driver}d-admin.socket diff --git a/tasks/config.yml b/tasks/config.yml index 49c4e71..1ae4a30 100644 --- a/tasks/config.yml +++ b/tasks/config.yml @@ -221,3 +221,7 @@ enabled: "{{ libvirt_host_tls_listen | bool }}" - service: libvirtd enabled: true + +- name: Disable libvirt modular systemd units + include_tasks: disable-modular-systemd-units.yml + when: libvirt_disable_modular_systemd_units diff --git a/tasks/disable-modular-systemd-units.yml b/tasks/disable-modular-systemd-units.yml new file mode 100644 index 0000000..ec2e961 --- /dev/null +++ b/tasks/disable-modular-systemd-units.yml @@ -0,0 +1,13 @@ +--- + +- name: Disable and mask libvirtd modular systemd services and sockets + systemd: + name: "{{ service_name }}" + state: stopped + enabled: false + masked: true + loop: "{{ libvirtd_modular_daemon_drivers | product(libvirtd_modular_services) }}" + vars: + service_name: "{{ item[1].format(driver=item[0]) }}" + loop_control: + label: "{{ service_name }}"