diff --git a/f035f53b-virt-guest-shutdown.patch b/f035f53b-virt-guest-shutdown.patch new file mode 100644 index 0000000..1028050 --- /dev/null +++ b/f035f53b-virt-guest-shutdown.patch @@ -0,0 +1,116 @@ +commit f035f53baa2e5dc00b8e866e594672a90b4cea78 +Author: Jim Fehlig +Date: Tue Nov 3 19:14:39 2020 -0700 + + remote: Add libvirtd dependency to virt-guest-shutdown.target + + When restarting libvirt services and sockets *and* libvirt-guests.service + is running, the latter will sometimes hang when trying to connect to + libvirtd. Even though libvirt-guests has 'Wants=libvirtd.service' and + 'After=libvirtd.service', we can see via journalctl that it is not + shutdown before libvirtd when executing something like + + systemctl try-restart libvirtd.service libvirtd.socket \ + libvirtd-ro.socket virtlockd.service virtlockd.socket \ + virtlogd.service virtlogd.socket virt-guest-shutdown.target + + Oct 28 15:53:31 systemd[1]: Stopping Virtualization daemon... + Oct 28 15:53:31 systemd[1]: libvirtd.service: Succeeded. + Oct 28 15:53:31 systemd[1]: Stopped Virtualization daemon. + Oct 28 15:53:31 systemd[1]: libvirtd-admin.socket: Succeeded. + Oct 28 15:53:31 systemd[1]: Closed Libvirt admin socket. + Oct 28 15:53:31 systemd[1]: Stopping Libvirt admin socket. + Oct 28 15:53:31 systemd[1]: libvirtd-ro.socket: Succeeded. + Oct 28 15:53:31 systemd[1]: Closed Libvirt local read-only socket. + Oct 28 15:53:31 systemd[1]: Stopping Libvirt local read-only socket. + Oct 28 15:53:31 systemd[1]: libvirtd.socket: Succeeded. + Oct 28 15:53:31 systemd[1]: Closed Libvirt local socket. + Oct 28 15:53:31 systemd[1]: Stopping Libvirt local socket. + Oct 28 15:53:31 systemd[1]: Listening on Libvirt local socket. + Oct 28 15:53:31 systemd[1]: Listening on Libvirt admin socket. + Oct 28 15:53:31 systemd[1]: Listening on Libvirt local read-only socket. + Oct 28 15:53:31 systemd[1]: virtlockd.socket: Succeeded. + Oct 28 15:53:31 systemd[1]: Closed Virtual machine lock manager socket. + Oct 28 15:53:31 systemd[1]: Stopping Virtual machine lock manager socket. + Oct 28 15:53:31 systemd[1]: Listening on Virtual machine lock manager socket. + Oct 28 15:53:31 systemd[1]: virtlogd.socket: Succeeded. + Oct 28 15:53:31 systemd[1]: Closed Virtual machine log manager socket. + Oct 28 15:53:31 systemd[1]: Stopping Virtual machine log manager socket. + Oct 28 15:53:31 systemd[1]: Listening on Virtual machine log manager socket. + Oct 28 15:53:31 systemd[1]: Stopping Suspend/Resume Running libvirt Guests... + + In this case, the try-restart command hung and libvirt-guests was stuck + trying to connect to libvirtd. In the following case, the try-restart + worked since libvirtd was started again before libvirt-guests was stopped! + + Oct 28 15:19:02 systemd[1]: Stopping Virtualization daemon... + Oct 28 15:19:02 systemd[1]: Stopped Virtualization daemon. + Oct 28 15:19:02 systemd[1]: Closed Libvirt admin socket. + Oct 28 15:19:02 systemd[1]: Stopping Libvirt admin socket. + Oct 28 15:19:02 systemd[1]: Closed Virtual machine lock manager socket. + Oct 28 15:19:02 systemd[1]: Stopping Virtual machine lock manager socket. + Oct 28 15:19:02 systemd[1]: Listening on Virtual machine lock manager socket. + Oct 28 15:19:02 systemd[1]: Closed Libvirt local read-only socket. + Oct 28 15:19:02 systemd[1]: Stopping Libvirt local read-only socket. + Oct 28 15:19:02 systemd[1]: Closed Libvirt local socket. + Oct 28 15:19:02 systemd[1]: Stopping Libvirt local socket. + Oct 28 15:19:02 systemd[1]: Listening on Libvirt local socket. + Oct 28 15:19:02 systemd[1]: Listening on Libvirt admin socket. + Oct 28 15:19:02 systemd[1]: Listening on Libvirt local read-only socket. + Oct 28 15:19:02 systemd[1]: Closed Virtual machine log manager socket. + Oct 28 15:19:02 systemd[1]: Stopping Virtual machine log manager socket. + Oct 28 15:19:02 systemd[1]: Listening on Virtual machine log manager socket. + Oct 28 15:19:02 systemd[1]: Starting Virtualization daemon... + Oct 28 15:19:02 systemd[1]: Stopping Suspend/Resume Running libvirt Guests... + Oct 28 15:19:02 systemd[1]: Started Virtualization daemon. + Oct 28 15:19:02 libvirt-guests.sh[4912]: Running guests on default URI: no running guests. + Oct 28 15:19:02 systemd[1]: Stopped Suspend/Resume Running libvirt Guests. + Oct 28 15:19:02 systemd[1]: Stopped target Libvirt guests shutdown. + Oct 28 15:19:02 systemd[1]: Stopping Libvirt guests shutdown. + Oct 28 15:19:02 systemd[1]: Reached target Libvirt guests shutdown. + Oct 28 15:19:02 systemd[1]: Starting Suspend/Resume Running libvirt Guests... + Oct 28 15:19:02 systemd[1]: Started Suspend/Resume Running libvirt Guests. + + Adding 'Requires=libvirtd.service' to virt-guest-shutdown.target results + in expected behavior + + Oct 28 15:40:00 systemd[1]: Stopping Suspend/Resume Running libvirt Guests... + Oct 28 15:40:00 libvirt-guests.sh[5245]: Running guests on default URI: no running guests. + Oct 28 15:40:00 systemd[1]: Stopped Suspend/Resume Running libvirt Guests. + Oct 28 15:40:00 systemd[1]: Stopped target Libvirt guests shutdown. + Oct 28 15:40:00 systemd[1]: Stopping Libvirt guests shutdown. + Oct 28 15:40:00 systemd[1]: Stopping Virtualization daemon... + Oct 28 15:40:00 systemd[1]: Stopped Virtualization daemon. + Oct 28 15:40:00 systemd[1]: Closed Virtual machine log manager socket. + Oct 28 15:40:00 systemd[1]: Stopping Virtual machine log manager socket. + Oct 28 15:40:00 systemd[1]: Listening on Virtual machine log manager socket. + Oct 28 15:40:00 systemd[1]: Closed Libvirt admin socket. + Oct 28 15:40:00 systemd[1]: Stopping Libvirt admin socket. + Oct 28 15:40:00 systemd[1]: Closed Libvirt local read-only socket. + Oct 28 15:40:00 systemd[1]: Stopping Libvirt local read-only socket. + Oct 28 15:40:00 systemd[1]: Closed Libvirt local socket. + Oct 28 15:40:00 systemd[1]: Stopping Libvirt local socket. + Oct 28 15:40:00 systemd[1]: Listening on Libvirt local socket. + Oct 28 15:40:00 systemd[1]: Listening on Libvirt admin socket. + Oct 28 15:40:00 systemd[1]: Listening on Libvirt local read-only socket. + Oct 28 15:40:00 systemd[1]: Closed Virtual machine lock manager socket. + Oct 28 15:40:00 systemd[1]: Stopping Virtual machine lock manager socket. + Oct 28 15:40:00 systemd[1]: Listening on Virtual machine lock manager socket. + Oct 28 15:40:00 systemd[1]: Starting Virtualization daemon... + Oct 28 15:40:00 systemd[1]: Started Virtualization daemon. + Oct 28 15:40:00 systemd[1]: Reached target Libvirt guests shutdown. + Oct 28 15:40:00 systemd[1]: Starting Suspend/Resume Running libvirt Guests... + Oct 28 15:40:00 systemd[1]: Started Suspend/Resume Running libvirt Guests. + + Signed-off-by: Jim Fehlig + Reviewed-by: Neal Gompa + +Index: libvirt-6.9.0/src/remote/virt-guest-shutdown.target +=================================================================== +--- libvirt-6.9.0.orig/src/remote/virt-guest-shutdown.target ++++ libvirt-6.9.0/src/remote/virt-guest-shutdown.target +@@ -1,3 +1,4 @@ + [Unit] + Description=Libvirt guests shutdown ++Requires=libvirtd.service + Documentation=https://libvirt.org diff --git a/libvirt.changes b/libvirt.changes index 70e93ae..37bd758 100644 --- a/libvirt.changes +++ b/libvirt.changes @@ -1,3 +1,17 @@ +------------------------------------------------------------------- +Wed Nov 11 18:15:24 UTC 2020 - James Fehlig + +- spec: Add 'Requires: bash-completion' to the + libvirt-bash-completion subpackage + bsc#1178498 + +------------------------------------------------------------------- +Mon Nov 9 18:03:41 UTC 2020 - James Fehlig + +- Add libvirtd dependency to virt-guest-shutdown.target + f035f53b-virt-guest-shutdown.patch + boo#1175914, bsc#1177902 + ------------------------------------------------------------------- Tue Nov 3 14:27:41 UTC 2020 - Franck Bui diff --git a/libvirt.spec b/libvirt.spec index acf169c..167cde8 100644 --- a/libvirt.spec +++ b/libvirt.spec @@ -291,6 +291,7 @@ Source6: libvirtd-relocation-server.xml Source99: baselibs.conf Source100: %{name}-rpmlintrc # Upstream patches +Patch0: f035f53b-virt-guest-shutdown.patch # Patches pending upstream review Patch100: libxl-dom-reset.patch Patch101: network-don-t-use-dhcp-authoritative-on-static-netwo.patch @@ -776,6 +777,7 @@ The client side utilities to control the libvirt daemon. Summary: Bash completion script Group: System/Shells BuildArch: noarch +Requires: bash-completion >= 2.0 %description bash-completion Bash completion script stub. @@ -821,6 +823,7 @@ libvirt plugin for NSS for translating domain names into IP addresses. %prep %setup -q +%patch0 -p1 %patch100 -p1 %patch101 -p1 %patch150 -p1