The libvirtd daemon uses systemd-machined D-Bus API when manipulating domains. The systemd-machined is D-Bus activated on demand. However, during system shutdown systemd-machined is stopped concurrently with libvirtd and virsh users also doing their final cleanup may transitively fail due to unavailability of systemd-machined. Example error message > libvirtd[1390]: 2017-12-20 18:55:56.182+0000: 32700: error : virSystemdTerminateMachine:503 : Refusing activation, D-Bus is shutting down. To circumvent this we need to explicitly specify both ordering and requirement dependency (to avoid late D-Bus activation) on systemd-machined. See [1] for the dependency debate. [1] https://lists.freedesktop.org/archives/systemd-devel/2018-January/040095.html --- The Wants= dependency is for the case when systemd-machined wasn't started neither D-Bus activated anytime before the shutdown transaction. AFAICS this is very unlikely so for the sake of lazy activation, the Wants= hunk can be dropped. daemon/libvirtd.service.in | 2 ++ 1 file changed, 2 insertions(+) diff --git a/daemon/libvirtd.service.in b/daemon/libvirtd.service.in index c189f5e65..769702ea7 100644 --- a/daemon/libvirtd.service.in +++ b/daemon/libvirtd.service.in @@ -7,6 +7,7 @@ Description=Virtualization daemon Requires=virtlogd.socket Requires=virtlockd.socket +Wants=systemd-machined.service Before=libvirt-guests.service After=network.target After=dbus.service @@ -14,6 +15,7 @@ After=iscsid.service After=apparmor.service After=local-fs.target After=remote-fs.target +After=systemd-machined.service Documentation=man:libvirtd(8) Documentation=https://libvirt.org -- 2.13.6 -- libvir-list mailing list libvir-list@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/libvir-list