diff mbox series

[ovs-dev,v2,4/5] debian: Add ovsdb-server.socket unit for systemd socket activation.

Message ID c2711a546ceef6502654ef8c2f3d7157bb24bf1e.1774960196.git.tredaelli@redhat.com
State Accepted
Commit 520fbd4b9c074ea815b16aff5c15d75c4d45149a
Delegated to: aaron conole
Headers show
Series Add systemd socket activation for ovsdb-server | expand

Checks

Context Check Description
ovsrobot/apply-robot success apply and check: success
ovsrobot/github-robot-_Build_and_Test warning github build: warning

Commit Message

Timothy Redaelli March 31, 2026, 12:34 p.m. UTC
Add an ovsdb-server.socket unit that has systemd create and manage the
/run/openvswitch/db.sock listening socket.  This eliminates the window
during ovsdb-server restarts when clients cannot connect to the database.

Update service dependencies:
  - ovsdb-server.service: Requires=ovsdb-server.socket
  - ovs-vswitchd.service: After/Requires=ovsdb-server.socket instead of
    ovsdb-server.service, remove AssertPathIsReadWrite (socket exists
    before the service starts)

Signed-off-by: Timothy Redaelli <tredaelli@redhat.com>
---
 debian/automake.mk                             |  1 +
 debian/openvswitch-switch.install              |  1 +
 debian/openvswitch-switch.ovs-vswitchd.service |  5 ++---
 debian/openvswitch-switch.ovsdb-server.service |  1 +
 debian/openvswitch-switch.ovsdb-server.socket  | 11 +++++++++++
 5 files changed, 16 insertions(+), 3 deletions(-)
 create mode 100644 debian/openvswitch-switch.ovsdb-server.socket
diff mbox series

Patch

diff --git a/debian/automake.mk b/debian/automake.mk
index 7ae4e00e5..caa665a6b 100644
--- a/debian/automake.mk
+++ b/debian/automake.mk
@@ -40,6 +40,7 @@  EXTRA_DIST += \
 	debian/openvswitch-switch.ovs-record-hostname.service \
 	debian/openvswitch-switch.ovs-vswitchd.service \
 	debian/openvswitch-switch.ovsdb-server.service \
+	debian/openvswitch-switch.ovsdb-server.socket \
 	debian/openvswitch-switch.postinst \
 	debian/openvswitch-switch.postrm \
 	debian/openvswitch-switch.preinst \
diff --git a/debian/openvswitch-switch.install b/debian/openvswitch-switch.install
index 213c83bfe..9d74dfda5 100755
--- a/debian/openvswitch-switch.install
+++ b/debian/openvswitch-switch.install
@@ -1,4 +1,5 @@ 
 #!/usr/bin/dh-exec
+debian/openvswitch-switch.ovsdb-server.socket => /lib/systemd/system/ovsdb-server.socket
 debian/ifupdown.sh usr/share/openvswitch/scripts
 debian/openvswitch-switch.default => /usr/share/openvswitch/switch/default.template
 debian/ovs-systemd-reload /usr/share/openvswitch/scripts
diff --git a/debian/openvswitch-switch.ovs-vswitchd.service b/debian/openvswitch-switch.ovs-vswitchd.service
index a4d445b95..6a624b39a 100644
--- a/debian/openvswitch-switch.ovs-vswitchd.service
+++ b/debian/openvswitch-switch.ovs-vswitchd.service
@@ -1,10 +1,9 @@ 
 [Unit]
 Description=Open vSwitch Forwarding Unit
-After=ovsdb-server.service network-pre.target systemd-udev-settle.service
+After=ovsdb-server.socket network-pre.target systemd-udev-settle.service
 Before=network.target networking.service
-Requires=ovsdb-server.service
+Requires=ovsdb-server.socket
 ReloadPropagatedFrom=ovsdb-server.service
-AssertPathIsReadWrite=/var/run/openvswitch/db.sock
 PartOf=openvswitch-switch.service
 DefaultDependencies=no
 
diff --git a/debian/openvswitch-switch.ovsdb-server.service b/debian/openvswitch-switch.ovsdb-server.service
index 35654d705..207478b7e 100644
--- a/debian/openvswitch-switch.ovsdb-server.service
+++ b/debian/openvswitch-switch.ovsdb-server.service
@@ -2,6 +2,7 @@ 
 Description=Open vSwitch Database Unit
 After=systemd-journald.socket network-pre.target dpdk.service local-fs.target
 Before=network.target networking.service
+Requires=ovsdb-server.socket
 PartOf=openvswitch-switch.service
 DefaultDependencies=no
 
diff --git a/debian/openvswitch-switch.ovsdb-server.socket b/debian/openvswitch-switch.ovsdb-server.socket
new file mode 100644
index 000000000..ea46c55e6
--- /dev/null
+++ b/debian/openvswitch-switch.ovsdb-server.socket
@@ -0,0 +1,11 @@ 
+[Unit]
+Description=Open vSwitch Database Socket
+Before=ovsdb-server.service
+
+[Socket]
+ListenStream=/run/openvswitch/db.sock
+Service=ovsdb-server.service
+SocketMode=0770
+
+[Install]
+WantedBy=sockets.target