From d4f8a0e0cdda4082625b409d3633555fa9d42ff4 Mon Sep 17 00:00:00 2001 From: Andrea Bolognani Date: Tue, 6 Sep 2016 15:16:24 +0200 Subject: [PATCH] virtlogd.socket: Tie lifecycle to libvirtd.service We already guarantee that virtlogd.socket is enabled/disabled along with libvirtd.service, but if libvirtd.service has just been installed and is started before rebooting, then virtlogd.socket will not be running and guest startup will fail. Add Requires=virtlogd.socket to libvirtd.service to make sure virtlogd.socket is always started along with libvirtd.service, and add Before=libvirtd.service to both virtlogd.socket and virtlogd.service so that virtlogd never disappears before libvirtd has exited. Also add PartOf=libvirtd.service to both virtlogd.socket and virtlogd.service, so that virtlogd can be shut down when not needed. Resolves: https://bugzilla.redhat.com/1372576 (cherry picked from commit 839a060890d8b2408c0ea20e3c5997c7b2a4a079) --- daemon/libvirtd.service.in | 1 + src/logging/virtlogd.service.in | 2 ++ src/logging/virtlogd.socket.in | 2 ++ 3 files changed, 5 insertions(+) diff --git a/daemon/libvirtd.service.in b/daemon/libvirtd.service.in index 1616e7a2d0..bbf27dae95 100644 --- a/daemon/libvirtd.service.in +++ b/daemon/libvirtd.service.in @@ -5,6 +5,7 @@ [Unit] Description=Virtualization daemon +Requires=virtlogd.socket Before=libvirt-guests.service After=network.target After=dbus.service diff --git a/src/logging/virtlogd.service.in b/src/logging/virtlogd.service.in index a264d3ac61..82879941ef 100644 --- a/src/logging/virtlogd.service.in +++ b/src/logging/virtlogd.service.in @@ -1,6 +1,8 @@ [Unit] Description=Virtual machine log manager Requires=virtlogd.socket +Before=libvirtd.service +PartOf=libvirtd.service Documentation=man:virtlogd(8) Documentation=http://libvirt.org diff --git a/src/logging/virtlogd.socket.in b/src/logging/virtlogd.socket.in index 724976dc35..efb6504f7a 100644 --- a/src/logging/virtlogd.socket.in +++ b/src/logging/virtlogd.socket.in @@ -1,5 +1,7 @@ [Unit] Description=Virtual machine log manager socket +Before=libvirtd.service +PartOf=libvirtd.service [Socket] ListenStream=@localstatedir@/run/libvirt/virtlogd-sock