21b076e7df
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