We are glad to announce the release of: neutron 21.1.0: OpenStack Networking This release is part of the zed 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. 21.1.0 ^^^^^^ New Features ************ * Address scope is now added to all OVN LSP port registers in the northbound. Northd then writes the address scope from the northbound to the southbound so it can be used there by the ovn-bgp-agent. Known Issues ************ * Until the OVN bug (https://bugzilla.redhat.com/show_bug.cgi?id=2162756) is fixed, setting the "reside-on-redirect-chassis" to true for the logical router port associated to vlan provider network is needed. This workaround makes the traffic centrallized, but not tunneled, through the node with the gateway port, thus avoiding MTU issues. Upgrade Notes ************* * The default value for the "metadata_workers" configuration option has changed to 0 for the ML2/OVN driver. Since [OVN] Allow to execute "MetadataProxyHandler" in a local thread (https://review.opendev.org/c/openstack/neutron/+/861649), the OVN metadata proxy handler can be spawned in the same process of the OVN metadata agent, in a local thread. That reduces the number of OVN SB database connections to one. Bug Fixes ********* * [bug 2003455 (https://bugs.launchpad.net/neutron/+bug/2003455)] It is added an extra checking to ensure the "reside-on-redirect- chassis" is set to true for the logical router port associated to vlan provider network despite having the "ovn_distributed_floating_ip" enabled or not. This is needed as there is an OVN bug (https://bugzilla.redhat.com/show_bug.cgi?id=2162756) making it not work as expected. Until that is fixed, we need these workaround that makes the traffic centrallized, but not tunneled, through the node with the gateway port, thus avoiding MTU issues. * Normalise OVN agent heartbeat timestamp format to match other agent types. This fixes parsing of "GET /v2.0/agents" for some clients, such as gophercloud. * Neutron can record full connection using log-related feature introduced in OVN 21.12. For more info see *bug LP#<https://bugs.launchpad.net/neutron/+bug/2003706>* Other Notes *********** * Since OVN 20.06, the "Chassis" register configuration is stored in the "other_config" field and replicated into "external_ids". This replication is stopped in OVN 22.09. The ML2/OVN plugin tries to retrieve the "Chassis" configuration from the "other_config" field first; if this field does not exist (in OVN versions before 20.06), the plugin will use "external_ids" field instead. Neutron will be compatible with the different OVN versions (with and without "other_config" field). Changes in neutron 21.0.0..21.1.0 --------------------------------- 8e9f1bef72 Rename setup-mtu-t1 argument because it is misleading e02beeddf5 Reintroduce agent bridge resync test 44cd883728 ovs: fix regression when vlan mapping is not already registered 7d78bcd5ba [OVN] Add ``get_gateway_chassis_az_hints`` method to OVN API ee28d85db9 [Secure RBAC] Add shared_security_groups rule 9dd8ab4b6a Make retrieval of port mac column safe 7ab72ba646 neutron-dynamic-routing now works with OVN 390d617d3d [OVN] Ensure traffic for provider vlan networks is not tunneled 2913dae7a3 Prevent router_ha_interface port from being removed via API f6d24ebb05 Apply Ironic's server-ip-address as TFTP next-server aa8df53e7b Remove policy rule for get_network:router:external f2ba02d90d [Secure RBAC] Allow network owner to delete ports plugged to the network 899c966945 [Secure RBAC] Fix policy to get flavors ec8e43f824 [Secure RBAC] Add shared_qos_policy rule 177956506e Normalise format of OVN agent heartbeat timestamp a5e03d2b69 Add missing osprofiler options 7e012aa071 Format correctly (dialect=mac_unix_expanded) the MAC addresses 924339ab11 [S-RBAC] Allow admin user to do all API requests by default ff527a2017 Enable qos extension_driver in ovn_db_sync 0bbab95265 [UT] Mock the retry decorator when creating duplicated NDPProxy e4a72796df [OVN] Bump the port revision number in trunk driver 7d8c28907a [OVN] Add missing LSP device_owner info in trunk driver 0920f17f47 Improve scheduling L3/DHCP agents, missing lower binding indexes 1b086f1c1f Do not ignore attributes in bulk port create 4d983d2fea Fullstack: Wait placement process fixtrue to really stop b2e68dd178 Filter subnets by "enable_dhcp" flag using the correct type d0d014c598 [OVN] Allow logging all traffic related to an ACL 931f0af2e3 Never raise an exception in notify() 2617f7b93c [Trunk] Update the trunk status with the parent status 544ae186ab Increase fullstack job's timeout bbaca0c86b Improve agent provision performance for large networks f88b61c832 [OVN][FT] Also update nb_cfg along with nb_cfg_timestamp 6226fa9fd6 Allow multiple IPv6 ports on router from same network ml2/ovs+dvr 57c7d836cb Set ip_nonlocal_bind to 1 for HA routers and DVR snat c5532b6c6b [OVN] Fix availability zones changes check 90cd055fe1 [Fullstack] use common assert for ncat connection 74b6c1dd0b Move registration "ChassisBandwidthConfigEvent" to OvnSbIdl init 44ffbc97b7 Limit tox version to <4 8c4005763b [Fullstack] Wait 10 seconds to ensure that MAC address is configured 99b7acc505 Fix handling the restart of ovn-controllers c09f7ec2ee Fix bulk create without mac deebc7879a Check if port exists in ``update_port_virtual_type`` method d753b2ab44 [OVN] Allow only one physical network per bridge 2c9ee24286 Add address scope to the OVN LSP port registers 6927dfbb3e Dont raise RouterInterfaceNotFound on overlap check router ports 89c97e8a49 Fix behaviour of enable/disable in OVN network log 9e02a10bed Fix duplicated routes exceptions fcaff8c80d ovn: first tear down old metadata namespaces, then deploy new c6778f80f4 OVN: Add support for DHCP option "domain-search" for IPv4 55c8173f64 Always create a "router_extra_attributes" register per router 41eaaeb291 [stable-only] Add "tempest-integrated-networking" job to experimental 97745f9be0 Update documentation link for openSUSE index. af8a3a7f08 Since OVN 20.06, config is stored in "Chassis.other_config" 71801fba91 Check subnet overlapping after add router interface 8dd2dea65d [OVN] Set the default OVN metadata worker number to 0 014c661924 Load the required configuration options in the UT classes b304dfaca7 Disable in-band management for bridges before setting up controllers 3f8b96ec64 [OVN] Avoid deadlock when cleaning hash ring nodes 5deea002aa ovn: Use ovsdb-client to create neutron_pg_drop 5623dc7631 Remove unnecessary bullet points, unify formatting. 3406f67c92 Execute "IpMonitorTestCase" tests always inside a namespace 89d85271c3 Split Hash Ring probing from the maintenance task c220bd4d14 Remove OVN gap minimum bandwidth support 753e7ceb2d [OVN] Allow to execute ``MetadataProxyHandler`` in a local thread d612cbca04 Allow to pass EUI64 IP address as fixed ip for the port 01113c64f1 Fix ipam_pluggable_backend unit tests module 402cfed400 Port provisioning should retry only for VM ports 4df578bded Accept a port deletion with missing port binding information add538d7ff fix: Fix url of Floodlight Diffstat (except docs and test files) ------------------------------------- etc/oslo-config-generator/neutron.conf | 1 + neutron/agent/common/async_process.py | 4 + neutron/agent/common/ovs_lib.py | 19 +- neutron/agent/l3/dvr_snat_ns.py | 6 +- neutron/agent/l3/ha_router.py | 14 +- neutron/agent/linux/keepalived.py | 5 + neutron/agent/ovn/metadata/agent.py | 231 +++++++++----- neutron/agent/ovn/metadata/server.py | 14 +- neutron/cmd/ovn/neutron_ovn_db_sync_util.py | 3 + neutron/common/_constants.py | 3 + neutron/common/ovn/constants.py | 8 +- neutron/common/ovn/extensions.py | 6 + neutron/common/ovn/utils.py | 135 +++++++- neutron/conf/policies/address_group.py | 2 +- neutron/conf/policies/address_scope.py | 12 +- neutron/conf/policies/auto_allocated_topology.py | 4 +- neutron/conf/policies/base.py | 6 +- neutron/conf/policies/flavor.py | 6 +- neutron/conf/policies/floatingip.py | 16 +- neutron/conf/policies/floatingip_pools.py | 2 +- .../conf/policies/floatingip_port_forwarding.py | 8 +- neutron/conf/policies/l3_conntrack_helper.py | 8 +- neutron/conf/policies/local_ip.py | 8 +- neutron/conf/policies/local_ip_association.py | 6 +- neutron/conf/policies/metering.py | 8 +- neutron/conf/policies/ndp_proxy.py | 8 +- neutron/conf/policies/network.py | 37 +-- neutron/conf/policies/port.py | 11 +- neutron/conf/policies/qos.py | 41 +-- neutron/conf/policies/rbac.py | 16 +- neutron/conf/policies/router.py | 48 +-- neutron/conf/policies/security_group.py | 22 +- neutron/conf/policies/subnet.py | 12 +- neutron/conf/policies/subnetpool.py | 27 +- neutron/conf/policies/trunk.py | 14 +- neutron/db/availability_zone/router.py | 3 +- neutron/db/ipam_pluggable_backend.py | 14 +- neutron/db/l3_agentschedulers_db.py | 4 +- neutron/db/l3_attrs_db.py | 18 +- neutron/db/l3_db.py | 128 ++++++-- neutron/db/l3_dvr_db.py | 7 +- neutron/db/l3_dvrscheduler_db.py | 5 +- neutron/db/l3_hamode_db.py | 10 +- neutron/db/models/l3agent.py | 8 +- neutron/db/network_dhcp_agent_binding/models.py | 9 +- neutron/objects/l3agent.py | 3 +- neutron/objects/router.py | 11 + .../agent/openflow/native/ovs_bridge.py | 34 +- .../drivers/openvswitch/agent/ovs_neutron_agent.py | 3 + .../plugins/ml2/drivers/ovn/agent/neutron_agent.py | 22 +- .../ml2/drivers/ovn/mech_driver/mech_driver.py | 140 +++------ .../ml2/drivers/ovn/mech_driver/ovsdb/api.py | 22 +- .../ml2/drivers/ovn/mech_driver/ovsdb/commands.py | 9 +- .../ovn/mech_driver/ovsdb/extensions/placement.py | 47 +-- .../drivers/ovn/mech_driver/ovsdb/impl_idl_ovn.py | 13 +- .../drivers/ovn/mech_driver/ovsdb/maintenance.py | 79 ++++- .../drivers/ovn/mech_driver/ovsdb/ovn_client.py | 113 ++++--- .../drivers/ovn/mech_driver/ovsdb/ovn_db_sync.py | 2 +- .../drivers/ovn/mech_driver/ovsdb/ovsdb_monitor.py | 174 ++++------- neutron/plugins/ml2/plugin.py | 148 +++++---- neutron/scheduler/base_scheduler.py | 46 ++- neutron/scheduler/dhcp_agent_scheduler.py | 6 +- neutron/scheduler/l3_agent_scheduler.py | 5 +- neutron/services/logapi/drivers/ovn/driver.py | 90 +++++- neutron/services/trunk/drivers/ovn/trunk_driver.py | 41 ++- neutron/services/trunk/plugin.py | 10 +- .../agent/ovn/metadata/test_metadata_agent.py | 52 ++-- .../mech_driver/ovsdb/extensions/test_placement.py | 51 ++- .../drivers/ovn/mech_driver/ovsdb/test_impl_idl.py | 10 +- .../ovn/mech_driver/ovsdb/test_ovn_db_sync.py | 16 +- .../ovn/mech_driver/ovsdb/test_ovsdb_monitor.py | 75 ++++- .../drivers/ovn/mech_driver/test_mech_driver.py | 94 +++--- .../services/logapi/drivers/ovn/test_driver.py | 66 ++++ .../functional/services/ovn_l3/test_plugin.py | 19 +- .../trunk/drivers/ovn/test_trunk_driver.py | 21 +- .../conf/policies/test_auto_allocated_topology.py | 26 +- .../unit/conf/policies/test_floatingip_pools.py | 20 +- .../policies/test_floatingip_port_forwarding.py | 54 +++- .../unit/conf/policies/test_l3_conntrack_helper.py | 46 ++- .../conf/policies/test_local_ip_association.py | 44 ++- .../unit/conf/policies/test_security_group.py | 80 ++++- .../agent/openflow/native/ovs_bridge_test_base.py | 7 +- .../openvswitch/agent/test_ovs_neutron_agent.py | 9 + .../ml2/drivers/ovn/agent/test_neutron_agent.py | 19 +- .../drivers/ovn/mech_driver/ovsdb/test_commands.py | 13 +- .../ovn/mech_driver/ovsdb/test_impl_idl_ovn.py | 2 +- .../ovn/mech_driver/ovsdb/test_maintenance.py | 84 ++++- .../ovn/mech_driver/ovsdb/test_ovsdb_monitor.py | 73 ++--- .../drivers/ovn/mech_driver/test_mech_driver.py | 114 ++++--- .../services/logapi/drivers/ovn/test_driver.py | 5 +- .../trunk/drivers/ovn/test_trunk_driver.py | 12 +- playbooks/configure_functional_job.yaml | 4 +- playbooks/run_functional_job.yaml | 4 +- ...he-OVN-LSP-port-registers-1f45e34815c3896d.yaml | 6 + .../notes/bug-2003455-b502cc637427560e.yaml | 19 ++ ...eartbeat-timestamp-format-dcf80badbe267c68.yaml | 6 + .../ovn-chassis-other-config-7db15b9d10bf7f04.yaml | 10 + .../ovn-metadata-workers-fa8a2019f34bd572.yaml | 9 + ...l-log-related-traffic-ovn-96b304ab744de13e.yaml | 6 + .../infrared/tripleo-ovn-migration/main.yml | 4 +- .../tripleo_environment/ovn_migration.sh | 14 +- tox.ini | 44 +-- zuul.d/base.yaml | 1 + zuul.d/job-templates.yaml | 36 +++ 146 files changed, 3378 insertions(+), 1424 deletions(-)
participants (1)
-
no-reply@openstack.org