[release-announce] neutron 20.2.0 (yoga)

no-reply at openstack.org no-reply at openstack.org
Thu Jul 21 09:40:16 UTC 2022


We joyfully announce the release of:

neutron 20.2.0: OpenStack Networking

This release is part of the yoga stable release series.

The source is available from:

    https://opendev.org/openstack/neutron

Download the package from:

    https://tarballs.openstack.org/neutron/

Please report issues through:

    https://bugs.launchpad.net/neutron/+bugs

For more details, please see below.

20.2.0
^^^^^^


New Features
************

* OVN mechanism driver refuses to bind a port to a dead agent.


Other Notes
***********

* OVN driver reverted to using stateful NAT for floating IP
  implementation. The previous switch to stateless didn't materialize
  the expected performance benefits and instead introduced problems
  with potential hardware offloading.

Changes in neutron 20.1.0..20.2.0
---------------------------------

c31cc3d6e2 Report ExternalDNSOverQuota exception for zone quota error
ad7b1e2882 [FT] Run all .*MySQL and .*PostgreSQL tests in an isolated thread
ce06020add ovn: revert to stateful dnat_and_snat
fc8d088dd2 migration: Remove patch port between br-int and br-tun
cfc0678caf [ovn]support read chassis update time from nb_cfg_timestamp
6d07d23f8d Set nslookup_target in FIPS jobs
a57d47bcb2 Optimize queries for port operations
40df795549 Fix typos in log/error messages
c41bd56033 [OVS][QoS] Unset the min-bw QoS from the phys bridge interface
46c359ca4e [OVN]Any string type dhcp options should be quoted
aef8aa1b44 migration: Remove restarting OVS
34e4e69227 migration: Fail task if executed script failed
f0276fa314 [OVN] Make binding profile validation more robust
d9550c4b18 migration: Delete also SGRs for IPv6
fbacaf7bec [OVN] Protect the AgentCache iteration by copying the local cache
9a8de0cde7 Notify mech drivers with original and modified network.
c2f09820da [OVN][Migration] More robust checks on stop-agents
542f570788 Switch fips scenario jobs to Centos stream 9
3a11ab7440 Revert "Use Port_Binding up column to set Neutron port status"
90a440b081 Switch to cirros uec image in multinode jobs
316b55440a Set "type=virtual" for OVN LSP with parent ports
304aaadf49 "_handle_lb_fip_cmds" to handle the LB members correctly
987cb8ab3a Move ``PortBindingChassisEvent`` checks to ``match_fn``
b7fb963d91 Skip "PortBindingChassisEvent" if revision number changes
c5728045b8 Add "max-rate" value to minimum bandwidth rules
bf024e743f Make irrelevant files for functional/fullstack more accurate
0ca155596c Defer flow deletion in openvswitch firewall
267631e8fb [ovn]Refusing to bind port to dead agent
541d1fc9e6 Add retry for privsep get_link_devices
d9326c7732 [Trunk] Check if parent port belongs to OVN to activate
150b0d5709 Remove session active check in "_add_segment_host_mapping_for_segment"
fde4cf0a0f [OVN] During the DB migration, allow the DB context to finish
e2a2cc243f Refactor the OVN revision module to access the DB correctly


Diffstat (except docs and test files)
-------------------------------------

neutron/agent/common/ovs_lib.py                    |  23 +-
.../agent/linux/openvswitch_firewall/firewall.py   |   2 +-
neutron/cmd/ovn/ml2ovn_trace.py                    |   2 +-
neutron/cmd/upgrade_checks/checks.py               |  12 +-
neutron/common/ovn/constants.py                    |   9 +-
neutron/common/ovn/exceptions.py                   |   2 +-
neutron/common/ovn/utils.py                        |  32 +-
neutron/common/utils.py                            |   4 +-
neutron/conf/plugins/ml2/drivers/linuxbridge.py    |   2 +-
neutron/conf/policies/port.py                      |   2 +-
neutron/db/ipam_pluggable_backend.py               |   4 +-
neutron/db/ovn_revision_numbers_db.py              |  23 +-
neutron/debug/README                               |   2 +-
neutron/objects/subnet.py                          |  11 +-
.../plugins/ml2/drivers/ovn/agent/neutron_agent.py |  34 ++-
neutron/plugins/ml2/drivers/ovn/db_migration.py    |  44 +--
.../ml2/drivers/ovn/mech_driver/mech_driver.py     |  37 +--
.../ml2/drivers/ovn/mech_driver/ovsdb/api.py       |  13 -
.../drivers/ovn/mech_driver/ovsdb/impl_idl_ovn.py  |  15 +-
.../drivers/ovn/mech_driver/ovsdb/maintenance.py   |  41 ++-
.../drivers/ovn/mech_driver/ovsdb/ovn_client.py    | 191 ++++++------
.../drivers/ovn/mech_driver/ovsdb/ovn_db_sync.py   |  17 +-
.../drivers/ovn/mech_driver/ovsdb/ovsdb_monitor.py | 308 ++++++++-----------
neutron/plugins/ml2/managers.py                    |  20 +-
neutron/plugins/ml2/plugin.py                      |  54 +++-
neutron/privileged/agent/linux/ip_lib.py           |  49 +++
.../externaldns/drivers/designate/driver.py        |   2 +
neutron/services/logapi/agent/l3/base.py           |   4 +-
neutron/services/logapi/drivers/ovn/driver.py      |   2 +-
neutron/services/ndp_proxy/exceptions.py           |   2 +-
neutron/services/placement_report/plugin.py        |   4 +-
neutron/services/segments/db.py                    |   7 -
neutron/services/trunk/drivers/ovn/trunk_driver.py |  12 +
.../drivers/ovn/mech_driver/ovsdb/test_impl_idl.py |   7 -
.../ovn/mech_driver/ovsdb/test_ovn_db_resources.py |   6 +-
.../ovn/mech_driver/ovsdb/test_ovn_db_sync.py      |  66 +++-
.../ovn/mech_driver/ovsdb/test_ovsdb_monitor.py    |  91 +++++-
.../unit/agent/l2/extensions/dhcp/test_ipv6.py     |  15 +-
.../unit/plugins/ml2/drivers/ovn/agent/__init__.py |   0
.../ml2/drivers/ovn/agent/test_neutron_agent.py    |  69 +++++
.../ovn/mech_driver/ovsdb/test_maintenance.py      |  37 ++-
.../ovn/mech_driver/ovsdb/test_ovn_db_sync.py      |   4 +-
.../ovn/mech_driver/ovsdb/test_ovsdb_monitor.py    | 333 ++++++++++-----------
.../drivers/ovn/mech_driver/test_mech_driver.py    | 221 ++++++++++----
.../unit/privileged/agent/linux/test_ip_lib.py     |   9 +-
...vn-refuse-bind-dead-agent-2310f9f64c2a99de.yaml |   4 +
.../revert-ovn-stateless-nat-88076892fd6f7354.yaml |   8 +
requirements.txt                                   |   2 +-
.../roles/delete-neutron-resources/tasks/main.yml  |   1 -
.../roles/migration/tasks/cleanup-dataplane.yml    |   9 +-
.../roles/migration/templates/activate-ovn.sh.j2   |   8 +-
.../playbooks/roles/stop-agents/tasks/cleanup.yml  |   4 +
.../playbooks/roles/tripleo-update/tasks/main.yml  |   4 +-
tox.ini                                            |   4 +-
zuul.d/base.yaml                                   |  22 +-
zuul.d/tempest-multinode.yaml                      |  12 +
zuul.d/tempest-singlenode.yaml                     |  10 +-
69 files changed, 1413 insertions(+), 791 deletions(-)


Requirements updates
--------------------

diff --git a/requirements.txt b/requirements.txt
index a5b18328b2..6ff8d359fc 100644
--- a/requirements.txt
+++ b/requirements.txt
@@ -52 +52 @@ psutil>=5.3.0 # BSD
-pyroute2>=0.6.4;sys_platform!='win32' # Apache-2.0 (+ dual licensed GPL2)
+pyroute2>=0.6.6;sys_platform!='win32' # Apache-2.0 (+ dual licensed GPL2)






More information about the Release-announce mailing list