[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