[ovs-dev] [PATCH] rhel: Fix reload of OVS_USER_ID on startup
Ilya Maximets
i.maximets at ovn.org
Wed Sep 16 13:55:30 UTC 2020
On 5/13/20 7:57 PM, Aaron Conole wrote:
> Gregory Rose <gvrose8192 at gmail.com> writes:
>
>> On 5/12/2020 9:38 AM, Jaime Caamaño Ruiz wrote:
>>> 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 at suse.com>
>>> ---
>>> rhel/usr_lib_systemd_system_ovsdb-server.service | 10 ++++++++--
>>> 1 file 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} \
>>>
>>
>> Hi Jaime,
>>
>> This patch looks fine to me but I'm going to CC Aaron and Flavio at
>> Red Hat to see if they have any comments. If they have no further
>> comments then:
>>
>> Acked-by: Greg Rose <gvrose8192 at gmail.com>
>
> Hrrm... some behavior change in systemd, I guess?
>
> Acked-by: Aaron Conole <aconole at redhat.com>
Thanks!
Applied to master and backported down to 2.12.
Best regards, Ilya Maximets.
More information about the dev
mailing list