We are thrilled to announce the release of: neutron 20.5.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.5.0 ^^^^^^ Bug Fixes ********* * [bug 2022914 (https://bugs.launchpad.net/neutron/+bug/2022914)] Neutron-API supports using relays as the southbound connection in a ML2/OVN setup. Before the maintenance worker of the API required a leader_only connection, which was removed. * Fixed the scenario where the DHCP agent is deployed in conjunction with the OVN metadata agent in order to serve metadata for baremetal nodes. In this scenario, the DHCP agent would not set the route needed for the OVN metadata agent service resulting in baremetal nodes not being able to query the metadata service. For more information see bug 1982569 (https://bugs.launchpad.net/neutron/+bug/1982569). * For OVN versions v22.09.0 and above, the "mcast_flood_reports" option is now set to "false" on all ports except "localnet" types. In the past, this option was set to "true" as a workaround for a bug in core OVN multicast implementation. * Now the ML2/OVN trunk driver prevents a trunk creation if the parent port is already bound. In the same way, if a parent port being used in a trunk is bound, the trunk cannot be deleted. * During the port bulk creation, if an IPAM allocation fails (for example, if the IP address is outside of the subnet CIDR), the other IPAM allocations already created are deleted before raising the exception. Fixes bug 2039550 (https://launchpad.net/bugs/2039550). Other Notes *********** * Adds a maintenance task that runs once a day and is responsible for cleaning up Hash Ring nodes that haven't been updated in 5 days or more. See LP #2033281 for more information. * Added the missing extension "uplink-status-propagation" to the ML2/OVN mechanism driver. This extension is used by the ML2/SR-IOV mechanism driver, that could be loaded with ML2/OVN. Now it is possible to create ports with the "uplink-status-propagation" flag defined. Changes in neutron 20.4.0..20.5.0 --------------------------------- bef1f7a486 Ensure ovn loadbalancer FIPs are centralized upon neutron restarts 358e349ebf [Stable Only] Fix parent for nftables job 4b1e0bc5e4 [DHCP agent] Add route to OVN metadata port if exists 7dbd06d66e "ebtables-nft" MAC rule deletion failing df5cb326ed Remove any IPAM allocation if port bulk creation fails 9d4638071f Add dhcpagentscheduler API extension to the ML2/OVN extensions e2ccd6f3d2 [stable-only] Replace cirros image versions not cached in the CI 69c4712d8d Parameter filters may be None, which cannot be called with ** bb7d13930d Use safer methods to get security groups on security group logging e82afb138d [OVN] Fix rate and burst for stateless security groups 45dab8b83b [OVN] Add the default condition check in ``PortBindingChassisEvent`` cf096344b0 Revert "[OVN][Trunk] Add port binding info on subport when parent is bound" 921cde14c1 Reduce lock contention on subnets a4efc2dd80 [PostgreSQL] Subnet entity with ServiceType grouped by both tables edf33d2217 Add 3 secs to wait for keepalived state change ef31c17cb8 Use HasStandardAttributes as parent class for Tags DB model de424f5991 Revert "[OVN][Trunk] Set the subports correct host during live migration" 272b3ae718 Call the "tc qdisc" command for ingress qdisc without parent 22c3951a93 [FT] Make explicit the "publish" call check in "test_port_forwarding" 79010935c0 [OVN] Cleanup old Hash Ring node entries 62ed750a15 [OVN] Add the 'uplink-status-propagation' extension to ML2/OVN 82f06feebe [OVN][Trunk] Set the subports correct host during live migration 9186d511a5 [OVN] Skip the port status UP update during a live migration 7034f4cf73 Fix ovn-metadata agent sync of unused namespaces 7746912334 Send ovn heatbeat more often. 373f155cb7 Spread OVN metadata agent heartbeat response in time 334dc3322a [OVN] Disable the mcast_flood_reports option for LSPs b288a1264a [OVN] ovn-db-sync check for router port differences c569db73e2 hash-ring: Retry all DB operations if inactive 10a981a158 [OVN] Retry retrieving LSP hosting information 8ebd7dbdf0 [UT] Create network to make lazy loading in the models_v2 possible 7692e3ae6c dvr: Avoid installing non-dvr openflow rule on startup 24a063959a [OVN] Hash Ring: Better handle Neutron worker failures 580027b7c9 [neutron-api] remove leader_only for sb connection 539961b4b9 [OVN] Prevent Trunk creation/deletion with parent port bound Diffstat (except docs and test files) ------------------------------------- neutron/agent/linux/dhcp.py | 64 ++++++++---- neutron/agent/ovn/metadata/agent.py | 44 +++++++-- neutron/cmd/ovn/neutron_ovn_db_sync_util.py | 8 +- neutron/common/ovn/extensions.py | 4 + neutron/common/ovn/utils.py | 7 ++ neutron/common/utils.py | 16 +++ neutron/db/address_group_db.py | 1 + neutron/db/db_base_plugin_v2.py | 2 +- neutron/db/ipam_backend_mixin.py | 2 +- neutron/db/l3_dvr_db.py | 15 +-- neutron/db/models/tag.py | 2 +- neutron/db/models_v2.py | 52 +++++++--- neutron/db/ovn_hash_ring_db.py | 33 ++++++- neutron/objects/subnet.py | 9 ++ .../ml2/drivers/linuxbridge/agent/arp_protect.py | 4 +- .../openvswitch/agent/openflow/native/br_tun.py | 16 ++- .../openvswitch/agent/ovs_dvr_neutron_agent.py | 18 ++-- .../drivers/openvswitch/agent/ovs_neutron_agent.py | 3 +- .../ml2/drivers/ovn/mech_driver/mech_driver.py | 37 ++++--- .../drivers/ovn/mech_driver/ovsdb/impl_idl_ovn.py | 4 + .../drivers/ovn/mech_driver/ovsdb/maintenance.py | 71 +++++++++++--- .../drivers/ovn/mech_driver/ovsdb/ovn_client.py | 98 ++++++++++++++++--- .../drivers/ovn/mech_driver/ovsdb/ovn_db_sync.py | 44 ++++++++- .../drivers/ovn/mech_driver/ovsdb/ovsdb_monitor.py | 18 +++- neutron/plugins/ml2/plugin.py | 7 +- neutron/services/logapi/drivers/ovn/driver.py | 37 +++++-- neutron/services/trunk/drivers/ovn/trunk_driver.py | 39 ++++---- neutron/services/trunk/plugin.py | 5 +- .../agent/l3/test_keepalived_state_change.py | 2 +- .../ovn/mech_driver/ovsdb/test_maintenance.py | 28 ++++-- .../ovn/mech_driver/ovsdb/test_ovsdb_monitor.py | 42 ++++++++ .../privileged/agent/linux/test_tc_lib.py | 37 ++++--- .../services/logapi/drivers/ovn/test_driver.py | 6 ++ .../trunk/drivers/ovn/test_trunk_driver.py | 75 ++++++++------ .../agent/openflow/native/test_br_tun.py | 33 ++++++- .../drivers/openvswitch/agent/test_ovs_tunnel.py | 9 +- .../ovn/mech_driver/ovsdb/test_maintenance.py | 83 +++++++++++++++- .../ovn/mech_driver/ovsdb/test_ovn_client.py | 108 ++++++++++++++++++++- .../ovn/mech_driver/ovsdb/test_ovn_db_sync.py | 42 ++++++++ .../ovn/mech_driver/ovsdb/test_ovsdb_monitor.py | 17 +++- .../drivers/ovn/mech_driver/test_mech_driver.py | 32 +++--- .../services/logapi/drivers/ovn/test_driver.py | 41 +++++--- .../trunk/drivers/ovn/test_trunk_driver.py | 2 - .../notes/bug-2022914-edbf1ea3514596b8.yaml | 7 ++ ...p-agent-ovn-metadata-port-33a654ccb9554c65.yaml | 9 ++ .../notes/hash-ring-cleanup-1079d2375082cebe.yaml | 6 ++ ...uplink-status-propagation-4c232954f8b4f0ef.yaml | 7 ++ .../ovn-mcast_flood_reports-4eee20856ccfc7d7.yaml | 7 ++ ...n-trunk-check-parent-port-eeca2eceaca9d158.yaml | 6 ++ ..._ipamallocation_leftovers-9d72cc5f616f51e4.yaml | 7 ++ zuul.d/base.yaml | 4 +- zuul.d/tempest-multinode.yaml | 24 ++--- zuul.d/tempest-singlenode.yaml | 12 +-- 64 files changed, 1193 insertions(+), 292 deletions(-)