render / rpms / libvirt

Forked from rpms/libvirt 9 months ago
Clone
Blob Blame History Raw
From 19c4be54e82a58129448cbc56fbf2cc579b5ab29 Mon Sep 17 00:00:00 2001
Message-Id: <19c4be54e82a58129448cbc56fbf2cc579b5ab29@dist-git>
From: Andrea Bolognani <abologna@redhat.com>
Date: Tue, 6 Sep 2016 16:42:23 +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)
Signed-off-by: Andrea Bolognani <abologna@redhat.com>
---
 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 1616e7a..bbf27da 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 a264d3a..8287994 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 724976d..efb6504 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
-- 
2.10.0