]> git.ipfire.org Git - thirdparty/libvirt.git/commitdiff
libvirt-guests.service: use Type=exec
authorAntonio Terceiro <terceiro@debian.org>
Mon, 22 Dec 2025 17:46:33 +0000 (14:46 -0300)
committerDaniel P. Berrangé <berrange@redhat.com>
Tue, 6 Jan 2026 12:58:12 +0000 (12:58 +0000)
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é <berrange@redhat.com>
Signed-off-by: Antonio Terceiro <terceiro@debian.org>
tools/libvirt-guests.service.in

index b0444442983376532748713240547cf8302770af..c8e4d3d749c8c63f3c3bbf9346cd6d5c0b29b184 100644 (file)
@@ -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