mirror of
https://gitlab.com/libvirt/libvirt.git
synced 2024-08-28 11:31:16 +00:00
After some debugging and discussion with systemd team it turns out we are misusing the ordering in libvirt-guests.service. That happened because we want to support both monolithic and modular daemon setups and on top of that we also want to support socket activation and services without socket activation. Unfortunately this is impossible to express in the unit file because of how transactions are handled in systemd when dependencies are resolved and multiple actions (jobs) are queued. For explanation from Michal Sekletar see comment #7 in the BZ this patch is fixing: https://bugzilla.redhat.com/show_bug.cgi?id=1964855#c7 In order to support all the scenarios this patch also amends the manpages so that users that are changing the default can also read how to correct the dependency ordering in libvirt-guests unit file. Ideally we would also keep the existing configuration during upgrade, but due to our huge support matrix this seems hardly feasible as it could introduce even more problems. Signed-off-by: Martin Kletzander <mkletzan@redhat.com> Reviewed-by: Michal Privoznik <mprivozn@redhat.com>
29 lines
718 B
SYSTEMD
29 lines
718 B
SYSTEMD
[Unit]
|
|
Description=Suspend/Resume Running libvirt Guests
|
|
Requires=virt-guest-shutdown.target
|
|
After=network.target
|
|
After=time-sync.target
|
|
After=libvirtd.socket
|
|
After=virtqemud.socket
|
|
After=virtlxcd.socket
|
|
After=virtvboxd.socket
|
|
After=virtvzd.socket
|
|
After=virtxend.socket
|
|
After=virt-guest-shutdown.target
|
|
Documentation=man:libvirt-guests(8)
|
|
Documentation=https://libvirt.org
|
|
|
|
[Service]
|
|
EnvironmentFile=-@sysconfdir@/sysconfig/libvirt-guests
|
|
# Hack just call traditional service until we factor
|
|
# out the code
|
|
ExecStart=@libexecdir@/libvirt-guests.sh start
|
|
ExecStop=@libexecdir@/libvirt-guests.sh stop
|
|
Type=oneshot
|
|
RemainAfterExit=yes
|
|
StandardOutput=journal+console
|
|
TimeoutStopSec=0
|
|
|
|
[Install]
|
|
WantedBy=multi-user.target
|