From 40f8bed8571a1ae2bb69ad3cd359c262a6904594 Mon Sep 17 00:00:00 2001 From: Antonio Terceiro Date: Mon, 22 Dec 2025 14:46:33 -0300 Subject: [PATCH] libvirt-guests.service: use Type=exec MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Type=oneshot means that the service is only considered started after the main process exits. In setups where libvirt-guests is configured to be used and imposes a delay on the startup of guests, this will cause systemd to report a quite high boot time as it will wait until all guests have booted, plus all the delay between them. High boot times are often reported as issues in monitoring systems, and require operator attention, while in this case there is not really an issue with the system, it's just doing what it was configured to do. With Type=exec, the service is considered started right after the main process is *started*, but the boot process will not wait for it. Having other units depend on libvirt-guests.service finishing was already not reliable because one cannot know how long the OS inside each guest takes to boot, and libvirt-guests already does not wait for them to be in any particular state. Reviewed-by: Daniel P. Berrangé Signed-off-by: Antonio Terceiro --- tools/libvirt-guests.service.in | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tools/libvirt-guests.service.in b/tools/libvirt-guests.service.in index b044444298..c8e4d3d749 100644 --- a/tools/libvirt-guests.service.in +++ b/tools/libvirt-guests.service.in @@ -19,7 +19,7 @@ EnvironmentFile=-@initconfdir@/libvirt-guests # out the code ExecStart=@libexecdir@/libvirt-guests.sh start ExecStop=@libexecdir@/libvirt-guests.sh stop -Type=oneshot +Type=exec RemainAfterExit=yes StandardOutput=journal+console TimeoutStopSec=0