[neutron] [ovs] OVS agent constant bridge recreate flow
Hi, Team! Pretty long time we’re experiencing some troubles with auto-restoration of ovs after some storms. We’re using neutron-wallaby and openvswitch 2.15. The problem is the next: After some storms we’re receiving situation, when ovs agent constantly recreating bridges and doing full syncs, which affects our network stability. All versions (incl. 2024.2), containing some parts of code that I want to highlight: 1. Non-empty `idl_monitor.bridges_added` triggers 2. `_do_reconfigure_physical_bridges`, then it triggers 3. `setup_physical_bridges(bridge_mappings)` then it contains 4. br.create() I’m seeing note in code «The bridge already exists, so create won't recreate it», BUT at the same time we’re receiving in logs: ``` Matched CREATE: BridgeCreateEvent(events=('create',), table='Bridge', conditions=None, old_conditions=None) to row=Bridge(name=br-tun ``` and ``` BridgeCreateEvent, bridge name: br-tun ``` Constantly – by hours and for all our bridges (we have four: br-tun, br-ex, br-int, br-rmi) while we will not restart ovs agent. So this event fills idl_monitor.bridges_added then ovs reacting on it by _do_reconfigure_physical_bridges, then it triggers br.create() and we’re receiving event once again – we’re in the loop. Want to add that our datapath-id NOT changing between these runs – keeps same. Additional debugging shows that bridges `_uuid` are not changing in tables, which means that rows were not added => but for some reason, we’re receiving an event about it. Any ideas or ways how to fix this problem and never experience it again?
Checked monitor via cli: `ovsdb-client monitor Open_vSwitch Bridge` and there are no changes, but so for some reason, python monitor implementation sending events ...
participants (2)
-
Max Payne
-
yardalgedal@gmail.com