[libvirt PATCH v2 25/33] systemd: Replace Requires with BindTo+After for main socket

Andrea Bolognani posted 33 patches 2 years, 4 months ago
[libvirt PATCH v2 25/33] systemd: Replace Requires with BindTo+After for main socket
Posted by Andrea Bolognani 2 years, 4 months ago
This is the strongest relationship that can be declared between
two units, and causes the service to be terminated immediately
if its main socket disappears. This is the behavior we want.

Note that we don't do the same for the read-only/admin sockets,
because those are not as critical for the core functionality of
services as the main socket it.

Signed-off-by: Andrea Bolognani <abologna@redhat.com>
---
 src/locking/virtlockd.service.in | 3 ++-
 src/logging/virtlogd.service.in  | 3 ++-
 src/virtd.service.in             | 3 ++-
 3 files changed, 6 insertions(+), 3 deletions(-)

diff --git a/src/locking/virtlockd.service.in b/src/locking/virtlockd.service.in
index 9e91fa3261..35924a2ad7 100644
--- a/src/locking/virtlockd.service.in
+++ b/src/locking/virtlockd.service.in
@@ -1,7 +1,8 @@
 [Unit]
 Description=Virtual machine lock manager
-Requires=virtlockd.socket
+BindsTo=virtlockd.socket
 Requires=virtlockd-admin.socket
+After=virtlockd.socket
 Before=libvirtd.service
 Documentation=man:virtlockd(8)
 Documentation=https://libvirt.org
diff --git a/src/logging/virtlogd.service.in b/src/logging/virtlogd.service.in
index 97c942ffb0..79d34bc73e 100644
--- a/src/logging/virtlogd.service.in
+++ b/src/logging/virtlogd.service.in
@@ -1,7 +1,8 @@
 [Unit]
 Description=Virtual machine log manager
-Requires=virtlogd.socket
+BindsTo=virtlogd.socket
 Requires=virtlogd-admin.socket
+After=virtlogd.socket
 Before=libvirtd.service
 Documentation=man:virtlogd(8)
 Documentation=https://libvirt.org
diff --git a/src/virtd.service.in b/src/virtd.service.in
index 60ab122cbc..e7f08b4da9 100644
--- a/src/virtd.service.in
+++ b/src/virtd.service.in
@@ -1,8 +1,9 @@
 [Unit]
 Description=@name@ daemon
-Requires=@service@.socket
+BindsTo=@service@.socket
 Requires=@service@-ro.socket
 Requires=@service@-admin.socket
+After=@service@.socket
 Conflicts=libvirtd.service
 After=libvirtd.service
 After=network.target
-- 
2.41.0
Re: [libvirt PATCH v2 25/33] systemd: Replace Requires with BindTo+After for main socket
Posted by Daniel P. Berrangé 2 years, 4 months ago
On Wed, Sep 27, 2023 at 06:19:26PM +0200, Andrea Bolognani wrote:
> This is the strongest relationship that can be declared between
> two units, and causes the service to be terminated immediately
> if its main socket disappears. This is the behavior we want.
> 
> Note that we don't do the same for the read-only/admin sockets,
> because those are not as critical for the core functionality of
> services as the main socket it.
> 
> Signed-off-by: Andrea Bolognani <abologna@redhat.com>
> ---
>  src/locking/virtlockd.service.in | 3 ++-
>  src/logging/virtlogd.service.in  | 3 ++-
>  src/virtd.service.in             | 3 ++-
>  3 files changed, 6 insertions(+), 3 deletions(-)

Reviewed-by: Daniel P. Berrangé <berrange@redhat.com>


With regards,
Daniel
-- 
|: https://berrange.com      -o-    https://www.flickr.com/photos/dberrange :|
|: https://libvirt.org         -o-            https://fstop138.berrange.com :|
|: https://entangle-photo.org    -o-    https://www.instagram.com/dberrange :|