summaryrefslogtreecommitdiff
path: root/rhel
diff options
context:
space:
mode:
authorJaime Caamaño Ruiz <jcaamano@suse.com>2020-05-12 18:38:20 +0200
committerIlya Maximets <i.maximets@ovn.org>2020-09-15 22:47:08 +0200
commit9d15c02a8bf9cc732cce33012bd1577758260521 (patch)
treea122955f22e8df9a1407d0e46a2ddde98a6aaaa3 /rhel
parent0287f840e8b7ab0947ba6f7397c310a652a831d8 (diff)
downloadopenvswitch-9d15c02a8bf9cc732cce33012bd1577758260521.tar.gz
rhel: Fix reload of OVS_USER_ID on startup.
OVS_USER_ID was being picked up from a previously existing openvswitch.useropts rendering innefective any configuration change through sysconfig. There is no ordering between Exec* and Environment* stanzas of systemd, full Enviroment* is always loaded before each Exec*. We make sure that openvswitch.useropts is removed in a first Exec so that a fresh OVS_USER_ID can be picked up from config in successive Exec*. Fixes: 94e1e8b ("rhel: run ovn with the same user as ovs") Signed-off-by: Jaime Caamaño Ruiz <jcaamano@suse.com> Acked-by: Greg Rose <gvrose8192@gmail.com> Acked-by: Aaron Conole <aconole@redhat.com> Signed-off-by: Ilya Maximets <i.maximets@ovn.org>
Diffstat (limited to 'rhel')
-rw-r--r--rhel/usr_lib_systemd_system_ovsdb-server.service10
1 files changed, 8 insertions, 2 deletions
diff --git a/rhel/usr_lib_systemd_system_ovsdb-server.service b/rhel/usr_lib_systemd_system_ovsdb-server.service
index 4c170c09b..98338b9df 100644
--- a/rhel/usr_lib_systemd_system_ovsdb-server.service
+++ b/rhel/usr_lib_systemd_system_ovsdb-server.service
@@ -11,10 +11,16 @@ PIDFile=/var/run/openvswitch/ovsdb-server.pid
Restart=on-failure
EnvironmentFile=/etc/openvswitch/default.conf
EnvironmentFile=-/etc/sysconfig/openvswitch
+EnvironmentFile=-/run/openvswitch.useropts
+
+# Environment is reloaded for each Exec*, make sure to
+# remove openvswitch.useropts first to reload a fresh
+# OVS_USER_ID from default.conf or sysconfig.
+ExecStartPre=/usr/bin/rm -f /run/openvswitch.useropts
+
ExecStartPre=-/usr/bin/chown ${OVS_USER_ID} /var/run/openvswitch /var/log/openvswitch
-ExecStartPre=/bin/sh -c 'rm -f /run/openvswitch.useropts; /usr/bin/echo "OVS_USER_ID=${OVS_USER_ID}" > /run/openvswitch.useropts'
+ExecStartPre=/bin/sh -c '/usr/bin/echo "OVS_USER_ID=${OVS_USER_ID}" > /run/openvswitch.useropts'
ExecStartPre=/bin/sh -c 'if [ "$${OVS_USER_ID/:*/}" != "root" ]; then /usr/bin/echo "OVS_USER_OPT=--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 \
${OVS_USER_OPT} \