The monolithic libvirtd.service currently has a dependency on
virt-secret-init-encryption.service. This causes libvirtd to fail
to start on systems where the secret driver is not installed or
enabled, as systemd cannot satisfy the Requires= unit or the
LoadCredentialEncrypted= path. See below,

Requires=virt-secret-init-encryption.service
LoadCredentialEncrypted=secrets-encryption-key:@localstatedir@/lib/libvirt/secrets/secrets-encryption-key

This series accomplishes the following:
The first commit decouples the secrets encryption logic from the main
libvirtd service file. It is moved into a new systemd drop-in
(10-secret.conf) which is only installed when libvirt is built
with secret driver support. The override snippet is added to the
daemon-driver-secret package.

The second commit is a simple refactoring configuration_data of
virt-secret-init-encryption. No functional change is intended.

Arun Menon (2):
  remote: Move secrets encryption dependency to a systemd drop-in
  secret: Update virt_secret_init_encryption_conf initialization

 libvirt.spec.in                |  2 ++
 src/remote/libvirtd.service.in |  4 ----
 src/remote/meson.build         | 15 +++++++++++++++
 src/remote/secret.conf.in      |  7 +++++++
 src/secret/meson.build         |  6 +++---
 5 files changed, 27 insertions(+), 7 deletions(-)
 create mode 100644 src/remote/secret.conf.in

-- 
2.53.0

Reply via email to