os-vif/vif_plug_ovs/ovsdb
Miguel Lavalle 21b076e7df Fix race with DPDK and vhostuserclient mode
When a VM is rebooted and it has a port in a Neutron trunk with DPDK and
vhostuserclient mode, Nova will delete the OVS port and then recreate it
when the VM reboots. This quick transition can create a race condition
whereby Neutron deletes the trunk's bridge between the interface removal
and addition by os-vif, so the latter operation fails because the bridge
doesn't exist anymore. To fix this, ensuring the bridge existance and
the vif addition becomes an atomic operation from the point of view of
the OVSDB transaction.

This change is associated to [1] on the Neutron side.

[1] https://review.opendev.org/c/openstack/neutron/+/829139

Partial-Bug: #1869244
Change-Id: Id7ece4ebc9239d9776c43b8d7f9e82b0319a08c6
2022-02-20 18:36:57 -06:00
..
__init__.py Add abstract OVSDB API 2018-10-08 12:09:36 +01:00
api.py Remove six 2020-05-02 18:28:47 +09:00
impl_idl.py only register tables used by os-vif 2021-08-23 13:25:41 +01:00
impl_vsctl.py Drop use of deprecated collections classes 2021-02-01 11:02:08 +00:00
ovsdb_lib.py Fix race with DPDK and vhostuserclient mode 2022-02-20 18:36:57 -06:00