Public bug reported:

In fullstack test, unlike in a real deployment, more than one OVS agent is 
spawned in the same host, reading from the same OVS database. That could lead 
to isolation errors when receiving notifications. For example, OVS has a thread 
monitoring the new ports added to the host, using the shell CLI:
  "ovsdb-client monitor Interface name,ofport,external_ids"

In a fullstack test, two OVS agents running in the same host will have
independent integration bridges (randomly generated names). But when a
port is added to one of those integration bridges, both agents will
receive the event of a new port (interface) added. The OVS agent where
the port is not added, won't find it in its own integration bridge and
will treat it as dead port [1], sending a "update_device_down" message
to the server.

This behavior could clash with the correct update sent from the other
OVS agent, setting the port up. E.g.: in log [2] we can see how the
first OVS agent sets the port UP and one second later, the second OVS
agent sets the port down [3]. That will make this test fail.


[1]https://opendev.org/openstack/neutron/src/branch/master/neutron/plugins/ml2/drivers/openvswitch/agent/ovs_neutron_agent.py#L1833-L1834
[2]https://4317fd6ef51d22a4668e-8daa7927094e2ef08ab8f0f95a49fc40.ssl.cf5.rackcdn.com/733250/18/check/neutron-fullstack-with-uwsgi/79ec86c/controller/logs/dsvm-fullstack-logs/TestLegacyL3Agent.test_external_subnet_changed/neutron-server--2020-06-26--12-24-50-479143_log.txt
[3]http://paste.openstack.org/show/795317/

** Affects: neutron
     Importance: Undecided
     Assignee: Rodolfo Alonso (rodolfo-alonso-hernandez)
         Status: New

** Changed in: neutron
     Assignee: (unassigned) => Rodolfo Alonso (rodolfo-alonso-hernandez)

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

Title:
  [fullstack] OVS interface events isolation error with more than one
  OVS agent

Status in neutron:
  New

Bug description:
  In fullstack test, unlike in a real deployment, more than one OVS agent is 
spawned in the same host, reading from the same OVS database. That could lead 
to isolation errors when receiving notifications. For example, OVS has a thread 
monitoring the new ports added to the host, using the shell CLI:
    "ovsdb-client monitor Interface name,ofport,external_ids"

  In a fullstack test, two OVS agents running in the same host will have
  independent integration bridges (randomly generated names). But when a
  port is added to one of those integration bridges, both agents will
  receive the event of a new port (interface) added. The OVS agent where
  the port is not added, won't find it in its own integration bridge and
  will treat it as dead port [1], sending a "update_device_down" message
  to the server.

  This behavior could clash with the correct update sent from the other
  OVS agent, setting the port up. E.g.: in log [2] we can see how the
  first OVS agent sets the port UP and one second later, the second OVS
  agent sets the port down [3]. That will make this test fail.

  
  
[1]https://opendev.org/openstack/neutron/src/branch/master/neutron/plugins/ml2/drivers/openvswitch/agent/ovs_neutron_agent.py#L1833-L1834
  
[2]https://4317fd6ef51d22a4668e-8daa7927094e2ef08ab8f0f95a49fc40.ssl.cf5.rackcdn.com/733250/18/check/neutron-fullstack-with-uwsgi/79ec86c/controller/logs/dsvm-fullstack-logs/TestLegacyL3Agent.test_external_subnet_changed/neutron-server--2020-06-26--12-24-50-479143_log.txt
  [3]http://paste.openstack.org/show/795317/

To manage notifications about this bug go to:
https://bugs.launchpad.net/neutron/+bug/1885547/+subscriptions

-- 
Mailing list: https://launchpad.net/~yahoo-eng-team
Post to     : [email protected]
Unsubscribe : https://launchpad.net/~yahoo-eng-team
More help   : https://help.launchpad.net/ListHelp

Reply via email to