← Back to team overview

yahoo-eng-team team mailing list archive

[Bug 1852221] Re: ovs-vswitchd needs to be forced to reconfigure after adding protocols to bridges

 

Eoan is EOL in July 2020

** Changed in: neutron (Ubuntu Eoan)
       Status: Fix Committed => Won't Fix

-- 
You received this bug notification because you are a member of Yahoo!
Engineering Team, which is subscribed to neutron.
https://bugs.launchpad.net/bugs/1852221

Title:
  ovs-vswitchd needs to be forced to reconfigure after adding protocols
  to bridges

Status in OpenStack neutron-openvswitch charm:
  Invalid
Status in Ubuntu Cloud Archive:
  Fix Released
Status in Ubuntu Cloud Archive train series:
  Fix Released
Status in Ubuntu Cloud Archive ussuri series:
  Fix Released
Status in kolla-ansible:
  New
Status in neutron:
  New
Status in openvswitch:
  New
Status in neutron package in Ubuntu:
  Confirmed
Status in openvswitch package in Ubuntu:
  Confirmed
Status in neutron source package in Eoan:
  Won't Fix
Status in neutron source package in Focal:
  Fix Released

Bug description:
  [Impact]
  When the neutron native ovs driver creates bridges it will sometimes apply/modify the supported openflow protocols on that bridge. The OpenVswitch versions shipped with Train and Ussuri don't support this which results in OF protocol mismatches when neutron performs operations on that bridge. The patch we are backporting here ensures that all protocol versions are set on the bridge at the point on create/init.

  [Test Case]
   * deploy Openstack Train
   * go to a compute host and do: sudo ovs-ofctl -O OpenFlow14 dump-flows br-int
   * ensure you do not see "negotiation failed" errors

  [Regression Potential]
   * this patch is ensuring that newly created Neutron ovs bridges have OpenFlow 1.0, 1.3 and 1.4 set on them. Neutron already supports these so is not expected to have any change in behaviour. The patch will not impact bridges that already exist (so will not fix them either if they are affected).

  --------------------------------------------------------------------------

  As part of programming OpenvSwitch, Neutron will add to which
  protocols bridges support [0].

  However, the Open vSwitch `ovs-vswitchd` process does not appear to
  always update its perspective of which protocol versions it should
  support for bridges:

  # ovs-ofctl -O OpenFlow14 dump-flows br-int
  2019-11-12T12:52:56Z|00001|vconn|WARN|unix:/var/run/openvswitch/br-int.mgmt: version negotiation failed (we support version 0x05, peer supports version 0x01)
  ovs-ofctl: br-int: failed to connect to socket (Broken pipe)

  # systemctl restart ovsdb-server
  # ovs-ofctl -O OpenFlow14 dump-flows br-int
   cookie=0x84ead4b79da3289a, duration=1.576s, table=0, n_packets=0, n_bytes=0, priority=65535,vlan_tci=0x0fff/0x1fff actions=drop
   cookie=0x84ead4b79da3289a, duration=1.352s, table=0, n_packets=0, n_bytes=0, priority=5,in_port="int-br-ex",dl_dst=fa:16:3f:69:2e:c6 actions=goto_table:4
  ...
  (Success)

  The restart of the `ovsdb-server` process above will make `ovs-
  vswitchd` reassess its configuration.

  0:
  https://github.com/openstack/neutron/blob/0fa7e74ebb386b178d36ae684ff04f03bdd6cb0d/neutron/agent/common/ovs_lib.py#L281

To manage notifications about this bug go to:
https://bugs.launchpad.net/charm-neutron-openvswitch/+bug/1852221/+subscriptions