From cdb64ac0d1f8f35e52bef18dd15ea25872fcf645 Mon Sep 17 00:00:00 2001 From: Mark Asselstine Date: Tue, 4 Sep 2018 16:12:40 -0400 Subject: openvswitch: fixup the ovsdb-server.service The service currently fails to run since the runtime directories aren't being created. Create the runtime directories and fixup the path to echo to get things working again. Signed-off-by: Mark Asselstine Signed-off-by: Bruce Ashfield --- .../systemd-create-runtime-dirs.patch | 31 ++++++++++++++++++++++ .../systemd-update-tool-paths.patch | 14 +++++----- recipes-networking/openvswitch/openvswitch_git.bb | 1 + 3 files changed, 40 insertions(+), 6 deletions(-) create mode 100644 recipes-networking/openvswitch/openvswitch-git/systemd-create-runtime-dirs.patch diff --git a/recipes-networking/openvswitch/openvswitch-git/systemd-create-runtime-dirs.patch b/recipes-networking/openvswitch/openvswitch-git/systemd-create-runtime-dirs.patch new file mode 100644 index 00000000..65290cf6 --- /dev/null +++ b/recipes-networking/openvswitch/openvswitch-git/systemd-create-runtime-dirs.patch @@ -0,0 +1,31 @@ +From 219e7cf9f28fdf14747fdf674bec293f763fe8e3 Mon Sep 17 00:00:00 2001 +From: Mark Asselstine +Date: Tue, 4 Sep 2018 15:38:59 -0400 +Subject: [PATCH] systemd: create runtime dirs + +The recommendation would be to make use of "RuntimeDirectory=" and +"RuntimeDirectoryMode=" instead of 'mkdir' and 'chown' but since the +upstream service file uses 'chown' we will match this by using +'mkdir'. Without this the service will fail to start since these +directories won't exist. + +Signed-off-by: Mark Asselstine +--- + rhel/usr_lib_systemd_system_ovsdb-server.service | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/rhel/usr_lib_systemd_system_ovsdb-server.service b/rhel/usr_lib_systemd_system_ovsdb-server.service +index 694598f..0bb2274 100644 +--- a/rhel/usr_lib_systemd_system_ovsdb-server.service ++++ b/rhel/usr_lib_systemd_system_ovsdb-server.service +@@ -10,6 +10,7 @@ Type=forking + Restart=on-failure + EnvironmentFile=/etc/openvswitch/default.conf + EnvironmentFile=-/etc/sysconfig/openvswitch ++ExecStartPre=-/bin/mkdir /var/run/openvswitch /var/log/openvswitch + ExecStartPre=/bin/chown ${OVS_USER_ID} /var/run/openvswitch /var/log/openvswitch + ExecStartPre=/bin/sh -c 'rm -f /run/openvswitch/useropts; if [ "$${OVS_USER_ID/:*/}" != "root" ]; then /bin/echo "OVSUSER=--ovs-user=${OVS_USER_ID}" > /run/openvswitch/useropts; fi' + EnvironmentFile=-/run/openvswitch/useropts +-- +2.7.4 + diff --git a/recipes-networking/openvswitch/openvswitch-git/systemd-update-tool-paths.patch b/recipes-networking/openvswitch/openvswitch-git/systemd-update-tool-paths.patch index ec1c1110..d7d4c159 100644 --- a/recipes-networking/openvswitch/openvswitch-git/systemd-update-tool-paths.patch +++ b/recipes-networking/openvswitch/openvswitch-git/systemd-update-tool-paths.patch @@ -1,4 +1,4 @@ -From 3dbfcb0fa944b57215fab46fe484b02e69ff6e03 Mon Sep 17 00:00:00 2001 +From 163020a5bba1323dc337d72d4771bb81d824b0dc Mon Sep 17 00:00:00 2001 From: Mark Asselstine Date: Tue, 29 May 2018 18:57:46 +0000 Subject: [PATCH] systemd: update tool paths @@ -9,8 +9,8 @@ different path, update accordingly. Signed-off-by: Mark Asselstine --- rhel/usr_lib_systemd_system_ovs-vswitchd.service.in | 4 ++-- - rhel/usr_lib_systemd_system_ovsdb-server.service | 2 +- - 2 files changed, 3 insertions(+), 3 deletions(-) + rhel/usr_lib_systemd_system_ovsdb-server.service | 4 ++-- + 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/rhel/usr_lib_systemd_system_ovs-vswitchd.service.in b/rhel/usr_lib_systemd_system_ovs-vswitchd.service.in index 11b34c6..94c48f8 100644 @@ -28,18 +28,20 @@ index 11b34c6..94c48f8 100644 ExecStart=/usr/share/openvswitch/scripts/ovs-ctl \ --no-ovsdb-server --no-monitor --system-id=random \ diff --git a/rhel/usr_lib_systemd_system_ovsdb-server.service b/rhel/usr_lib_systemd_system_ovsdb-server.service -index 70da1ec..c2c862f 100644 +index 70da1ec..694598f 100644 --- a/rhel/usr_lib_systemd_system_ovsdb-server.service +++ b/rhel/usr_lib_systemd_system_ovsdb-server.service -@@ -10,7 +10,7 @@ Type=forking +@@ -10,8 +10,8 @@ Type=forking Restart=on-failure EnvironmentFile=/etc/openvswitch/default.conf EnvironmentFile=-/etc/sysconfig/openvswitch -ExecStartPre=/usr/bin/chown ${OVS_USER_ID} /var/run/openvswitch /var/log/openvswitch +-ExecStartPre=/bin/sh -c 'rm -f /run/openvswitch/useropts; if [ "$${OVS_USER_ID/:*/}" != "root" ]; then /usr/bin/echo "OVSUSER=--ovs-user=${OVS_USER_ID}" > /run/openvswitch/useropts; fi' +ExecStartPre=/bin/chown ${OVS_USER_ID} /var/run/openvswitch /var/log/openvswitch - ExecStartPre=/bin/sh -c 'rm -f /run/openvswitch/useropts; if [ "$${OVS_USER_ID/:*/}" != "root" ]; then /usr/bin/echo "OVSUSER=--ovs-user=${OVS_USER_ID}" > /run/openvswitch/useropts; fi' ++ExecStartPre=/bin/sh -c 'rm -f /run/openvswitch/useropts; if [ "$${OVS_USER_ID/:*/}" != "root" ]; then /bin/echo "OVSUSER=--ovs-user=${OVS_USER_ID}" > /run/openvswitch/useropts; fi' EnvironmentFile=-/run/openvswitch/useropts ExecStart=/usr/share/openvswitch/scripts/ovs-ctl \ + --no-ovs-vswitchd --no-monitor --system-id=random \ -- 2.7.4 diff --git a/recipes-networking/openvswitch/openvswitch_git.bb b/recipes-networking/openvswitch/openvswitch_git.bb index edffdcef..4a6002a9 100644 --- a/recipes-networking/openvswitch/openvswitch_git.bb +++ b/recipes-networking/openvswitch/openvswitch_git.bb @@ -30,6 +30,7 @@ SRC_URI = "file://openvswitch-switch \ file://0002-Define-WAIT_ANY-if-not-provided-by-system.patch \ file://python-switch-remaining-scripts-to-use-python3.patch \ file://systemd-update-tool-paths.patch \ + file://systemd-create-runtime-dirs.patch \ " LIC_FILES_CHKSUM = "file://LICENSE;md5=1ce5d23a6429dff345518758f13aaeab" -- cgit v1.2.3-54-g00ecf