[neutron] OVS Agent constant bridges recreation
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 filling 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 loop. Want to add that our datapath-id NOT changing between these runs – keeps same. Any ideas or ways how to fix this problem and never experience it next? [https://my.gcdn.co/images/signature/gcore_logo.png]<https://gcore.com/> Artsiom Antropau Software Engineer artsiom.antropau@gcore.com<mailto:artsiom.antropau@gcore.com> +48796909739<tel:+48796909739> gcore.com<https://gcore.com/> [https://my.gcdn.co/images/signature/linkedin.png]<https://www.linkedin.com/company/g-core> [https://my.gcdn.co/images/signature/x.png] <https://x.com/gcore_official> [https://my.gcdn.co/images/signature/youtube.png] <https://www.youtube.com/channel/UCFhtQE7HB097a1_Nfv-Ma_Q> [https://my.gcdn.co/images/signature/facebook.png] <https://www.facebook.com/gcorelabscom/> [https://my.gcdn.co/images/signature/instagram.png] <https://www.instagram.com/gcore.official/> This message is intended solely for the addressee and may contain confidential information. If you have received this message in error, please send it back to us, and immediately and permanently delete it. Do not use, copy or disclose the information contained in this message or in any attachment.
Hello Artsiom: Please report a bug in https://bugs.launchpad.net/neutron/. I would suggest adding the OVS agent logs in DEBUG mode. If there is an issue during the physical bridges reconfiguration, you can also try to debug this part of the code, adding extra logs. The method ``_reconfigure_physical_bridges`` has a try/except context; in case the ``_do_reconfigure_physical_bridges`` method fails, it will add all physical bridges to a variable and in the next loop, all of them will be processed. Please check if that could be happening in your environment and why. Regards. On Mon, Oct 7, 2024 at 4:59 PM Artsiom Antropau <artsiom.antropau@gcore.com> wrote:
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 filling 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 loop.
Want to add that our datapath-id NOT changing between these runs – keeps same.
Any ideas or ways how to fix this problem and never experience it next? [image: GCORE] <https://gcore.com/> *Artsiom Antropau*
Software Engineer
artsiom.antropau@gcore.com +48796909739 gcore.com <https://www.linkedin.com/company/g-core> <https://x.com/gcore_official> <https://www.youtube.com/channel/UCFhtQE7HB097a1_Nfv-Ma_Q> <https://www.facebook.com/gcorelabscom/> <https://www.instagram.com/gcore.official/>
This message is intended solely for the addressee and may contain confidential information. If you have received this message in error, please send it back to us, and immediately and permanently delete it. Do not use, copy or disclose the information contained in this message or in any attachment.
participants (2)
-
Artsiom Antropau
-
Rodolfo Alonso Hernandez