[release-announce] neutron 20.4.0 (yoga)

no-reply at openstack.org no-reply at openstack.org
Fri Jul 28 09:21:17 UTC 2023


We are stoked to announce the release of:

neutron 20.4.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.4.0
^^^^^^


Known Issues
************

* When using ML2/OVN, during an upgrade procedure, the OVS system-id
  stored value can be changed. The ovn-controller service will create
  the "Chassis" and "Chassis_Private" registers based on this OVS
  system-id. If the ovn-controller process is not gracefully stopped,
  that could lead to the existence of duplicated "Chassis" and
  "Chassis_Private" registers in the OVN Southbound database.


Bug Fixes
*********

* A new OVN maintenance method "remove_duplicated_chassis_registers"
  is added. This method will periodically check the OVN Southbound
  "Chassis" and "Chassis_Private" tables looking for duplicated
  registers. The older ones (based on the
  "Chassis_Private.nb_cfg_timestamp" value) will be removed when more
  than one register has the same hostname, that should be unique.


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

* The external_mac entry in the NAT table is used to
  distribute/centralize the traffic to the FIPs. When there is an
  external_mac set the traffic is distributed (DVR). When it is empty
  it is centralized through the gateway port (no DVR). Upon port
  status transition to down, the external_mac was removed regardless
  of DVR being enabled or not, leading to centralize the FIP traffic
  for DVR -- though it was for down ports that won't accept traffic
  anyway.

Changes in neutron 20.3.1..20.4.0
---------------------------------

d55b30844f Fix ACL sync when default sg group is created
052c3899cb [OVN][L3] Optimize FIP update operation
6af9f70e0b Set result when lswitch port exist
61d9e5972d Ensure traffic is not centralized if DVR is enabled
4f043fb7ad Don't allow deletion of the router ports without IP addresses
78b7cf82dd Delete sg rule which remote is the deleted sg
3e6b2b77b2 [OVN] Expose chassis hosting information in LSP
226e29af1a Load FIP information during initialize not init
3785eac7a5 [OVN] Hash Ring: Set nodes as offline upon exit
73ba302faf [OVN] Improve Hash Ring logs
4764ed550a [qos] _validate_create_network_callback return in no network
cd4f345f60 [OVN][Trunk] Add port binding info on subport when parent is bound
5ae479c7e3 Delete the "Chassis_Private" register when deleting an agent
3328be0994 Return 409 Conflict to tenant user deleting port attached to FIP
ba16962d34 [OVN] Remove SB "Chassis"/"Chassis_Private" duplicated registers
d541ee9731 Make DB migration creating indexes in RBACs conditional
70a7188209 [OVN][Migration] Enable settings backup subnet for NFS clients
b6145ee13e Handle no more IP addresses available during a network sync


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

neutron/agent/l3/dvr_local_router.py               |  3 +
neutron/api/rpc/handlers/securitygroups_rpc.py     |  7 +++
neutron/cmd/ovn/neutron_ovn_db_sync_util.py        | 10 ++--
neutron/common/ovn/constants.py                    |  1 +
neutron/common/ovn/exceptions.py                   |  7 ++-
neutron/common/ovn/hash_ring_manager.py            |  9 ++-
neutron/db/l3_db.py                                | 33 +++++++----
.../expand/ba859d649675_add_indexes_to_rbacs.py    | 26 ++++++++-
neutron/db/ovn_hash_ring_db.py                     | 53 ++++++++++++++----
.../ml2/drivers/ovn/mech_driver/mech_driver.py     | 40 +++++++++----
.../ml2/drivers/ovn/mech_driver/ovsdb/commands.py  |  1 +
.../drivers/ovn/mech_driver/ovsdb/maintenance.py   | 57 +++++++++++++++++++
.../drivers/ovn/mech_driver/ovsdb/ovn_client.py    | 65 ++++++++++++++++++----
.../drivers/ovn/mech_driver/ovsdb/ovn_db_sync.py   | 37 ++++++++++--
neutron/services/ovn_l3/plugin.py                  |  2 +-
neutron/services/qos/qos_plugin.py                 |  4 +-
neutron/services/trunk/drivers/ovn/trunk_driver.py | 30 ++++++++--
.../test_ba859d649675_add_indexes_to_rbacs.py      | 55 ++++++++++++++++++
.../ovn/mech_driver/ovsdb/test_maintenance.py      | 58 +++++++++++++++++++
.../ovn/mech_driver/ovsdb/test_ovn_client.py       | 18 ++++++
.../drivers/ovn/mech_driver/test_mech_driver.py    | 22 +++++++-
.../trunk/drivers/ovn/test_trunk_driver.py         | 50 ++++++++++++-----
.../api/rpc/handlers/test_securitygroups_rpc.py    | 50 ++++++++++++++++-
.../drivers/ovn/mech_driver/ovsdb/test_commands.py |  2 +-
.../ovn/mech_driver/ovsdb/test_ovn_client.py       | 24 ++++++++
.../drivers/ovn/mech_driver/test_mech_driver.py    | 35 ++++++++----
.../trunk/drivers/ovn/test_trunk_driver.py         |  2 +
.../notes/dvr-external-mac-934409413e515eb2.yaml   | 10 ++++
...ve_duplicated_ovn_chassis-df12fb6233ea3d3e.yaml | 17 ++++++
.../tripleo_environment/ovn_migration.sh           |  4 +-
.../playbooks/roles/recovery-backup/tasks/main.yml |  1 +
38 files changed, 778 insertions(+), 108 deletions(-)







More information about the Release-announce mailing list