On Tue, Jan 06, 2026 at 03:25:03PM +0100, Christian Ehrhardt via Devel wrote:
On Mon, Jan 5, 2026 at 9:58 AM Antonio Terceiro <terceiro@debian.org> wrote:
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.
Signed-off-by: Antonio Terceiro <terceiro@debian.org> --- 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
Hi Antonio, sorry, I only saw this fly by and wondered. Not about the discussion so far, that was about start and there it is fine.
But doesn't this change make the stop action to not wait until all guests are shut down in a good way and instead pull the rug under their feet? There (on shutdown) - we want it to wait for sure, make it slow until it is done or times out.
I think the change would somehow need to split the behavior between start/stop to not cause regressions - WDYT?
I checked the systemd source before merging and AFAICT, the 'exec' vs 'oneshot' distinction doesn't affect the shutdown ordering or waiting behaviour, only the startup behaviour, so it should still be ok.
-Type=oneshot +Type=exec RemainAfterExit=yes StandardOutput=journal+console TimeoutStopSec=0 --
With regards, Daniel -- |: https://berrange.com -o- https://www.flickr.com/photos/dberrange :| |: https://libvirt.org -o- https://fstop138.berrange.com :| |: https://entangle-photo.org -o- https://www.instagram.com/dberrange :|