[ovs-git] [openvswitch/ovs] f91c80: rhel: make openvswitch service start return when r...

GitHub noreply at github.com
Mon Feb 13 14:34:08 UTC 2017

  Branch: refs/heads/branch-2.7
  Home:   https://github.com/openvswitch/ovs
  Commit: f91c801366f9d15c00f937fa99888c3fc7b5bde1
  Author: Alan Pevec <alan.pevec at redhat.com>
  Date:   2017-02-13 (Mon, 13 Feb 2017)

  Changed paths:
    M AUTHORS.rst
    M rhel/usr_lib_systemd_system_openvswitch.service

  Log Message:
  rhel: make openvswitch service start return when ready

In OVS 2.6 openvswitch systemd service was changed to use BindsTo
instead of Requires for sub-services but also removed them from After

This made main openvswitch service return before sub-services were ready
breaking scripts which assumed everything is ready after systemctl start
e.g. in OpenStack CI infra [1] is calling ovs-vsctl immediately after
service start exposing a race in virtualized CI environment:
2017-02-09T23:11:12.498Z|00007|bridge|INFO|ovs-vswitchd (Open vSwitch) 2.6.1
but ovs-ctl tried to access it few msec too early:
2017-02-09 23:11:12.352493 | ovs-vsctl: unix:/var/run/openvswitch/db.sock: database connection failed (No such file or directory)

Solution is to add ordering dependencies, BindsTo/Requires do not ensure it [2]

[1] https://github.com/openstack-infra/devstack-gate/blob/c435a724bd257b22a2e39e8e9125c11302a8c81d/functions.sh#L1057-L1078

[2] https://www.freedesktop.org/software/systemd/man/systemd.unit.html#Requires=

Fixes: 84ad120 ("rhel: Improved Systemd Integration")
Signed-off-by: Alan Pevec <alan.pevec at redhat.com>
Acked-by: Aaron Conole <aconole at redhat.com>
Signed-off-by: Russell Bryant <russell at ovn.org>

More information about the git mailing list