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 <[email protected]>
---
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 --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
--
2.53.0
_______________________________________________
dev mailing list
[email protected]
https://mail.openvswitch.org/mailman/listinfo/ovs-dev