OpenStack Networking (Neutron)
Go to file
Miguel Lavalle 33de608f04 Avoid race condition when deleting trunk bridges
Prior to this change, trunk bridges are created by os-vif but deleted
by Neutron when the last vif is removed from it. This creates race
conditions in some use cases, like DPDK with vhostuserclient mode, when
VMs are rebooted. To avoid these races, Neutron will not delete trunk
bridges anymore. Their creation and deletion will be os-vif's
responsiblity. Since [1], Nova uses the os-vif version that contains
this functionality.

This patch also changes the trunk status change event. During a live
migration, when the trunk parent port has been bound to the destination
host (that means there is only one port binding associated) and the
status has changed to ACTIVE, the method triggers the subport binding
to the new host too. This is because there could be a race condition
between the subport binding, triggered by the OVS agent, and the parent
port binding, triggered by Nova. If when the OVS agent tries to bind the
subports, the parent port is still bound to the source host, the subport
binding remains in the source host too, instead of changing to the
destination.

This patch also reverts [2] and [3]. As commented in the previous
paragraph, this patch fixes the issue reported in LP#1997025. The trunk
port live migration with ML2/OVS must be fixed with this patch.

[1]https://review.opendev.org/c/openstack/nova/+/865031
[2]https://review.opendev.org/c/openstack/neutron/+/865295
[3]https://review.opendev.org/c/openstack/neutron/+/865424

Closes-Bug: #1869244
Closes-Bug: #1997025

Change-Id: I4e16357f3ff214fcf41e418982806c24088a2665
2022-11-17 10:39:30 +01:00
api-ref Fix some typos 2016-06-28 22:46:19 +02:00
devstack Make path for tcpdump release-specific 2022-09-16 11:07:30 +02:00
doc Merge "Add tempest job which will run on the oldest Ubuntu release" 2022-11-23 04:44:31 +00:00
etc Implement experimental features framework 2022-06-30 17:59:49 -05:00
neutron Avoid race condition when deleting trunk bridges 2022-11-17 10:39:30 +01:00
playbooks Add new role "prepare_functional_tests_logs" 2022-09-09 08:28:35 +00:00
rally-jobs [ci] Fix several rally task arguments 2020-05-06 14:56:27 +03:00
releasenotes Update tap ip in metadata agent when metadata port ip updated 2022-11-21 09:42:35 +00:00
roles [Functional] Prepare test logs archive only if logs are available 2022-09-14 14:32:34 +00:00
tools [ovn migration] Use ecsda ssh key instead of rsa 2022-10-03 09:38:06 +02:00
vagrant/ovn Fix local neutron folder path in ovn/sparse/Vagrantfile 2020-11-03 17:02:34 +01:00
zuul.d Avoid race condition when deleting trunk bridges 2022-11-17 10:39:30 +01:00
.coveragerc Cleanup coverage configuration 2016-10-17 17:06:19 +05:30
.gitignore Add etc/neutron/*.sample files to be ignored by git 2019-12-12 12:38:24 +01:00
.gitreview OpenDev Migration Patch 2019-04-19 19:38:27 +00:00
.mailmap Add mailmap entry 2014-05-16 13:40:04 -04:00
.pylintrc Merge "Fix misplaced comparison constant warnings" 2022-10-06 23:07:21 +00:00
.stestr.conf Fix post gate hook to accommodate for new os-testr 2017-09-12 14:20:12 -06:00
CONTRIBUTING.rst [Community goal] Add contributor and PTL guide 2020-03-03 04:43:26 +01:00
HACKING.rst Follow up for replacing assertItemsEqual 2021-06-03 16:04:07 +00:00
LICENSE Adding Apache Version 2.0 license file. This is the official license agreement under which Quantum code is available to 2011-08-08 12:31:04 -07:00
README.rst Doc: make the contributor guide more visible 2022-07-14 13:08:56 +02:00
TESTING.rst Remove reference to 'all-plugin' tox environment 2022-10-07 15:55:37 +02:00
bindep.txt Drop vzctl dep from bindep package list 2022-04-12 16:40:09 +05:30
plugin.spec Add OVN migration OSP 16.2 option 2021-01-24 17:18:55 +02:00
requirements.txt Avoid race condition when deleting trunk bridges 2022-11-17 10:39:30 +01:00
setup.cfg Remove xenapi from neutron ml2 config opts 2022-10-19 09:57:04 +02:00
setup.py Updated from global requirements 2017-03-04 11:19:58 +00:00
test-requirements.txt Follow-up: Move linters dependencies to tox.ini 2021-01-07 04:26:07 +09:00
tox.ini Execute functional test "test_get_all_devices" alone 2022-11-16 01:40:03 +01:00

README.rst

OpenStack Neutron

image

Neutron is an OpenStack project to provide "network connectivity as a service" between interface devices (e.g., vNICs) managed by other OpenStack services (e.g., Nova).

To learn more about neutron:

If you would like to contribute to Neutron, please read the file CONTRIBUTING.rst or see the Neutron contributor guide:

https://docs.openstack.org/neutron/latest/contributor/contributing.html

Get in touch via email. Use [Neutron] in your subject.