We exuberantly announce the release of: neutron 17.2.0: OpenStack Networking This release is part of the victoria 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. 17.2.0 ^^^^^^ Known Issues ************ * When using the minimim-bandwidth QoS feature due to bug https://launchpad.net/bugs/1921150 physical NIC resource providers were for some time created with the wrong parent (i.e. the hypervisor RP). This is now partially fixed and new resource providers are created now with the expected parent (i.e. the agent RP). However Placement does not allow re-parenting an already existing resource provider, therefore the following Placement DB update may be needed after the fix for bug 1921150 is applied: neutron/tools/bug-1921150-re-parent-device-rps.sql Until all resource providers have the proper parent, neutron-server will retry the re-parenting update, which will be rejected every time, therefore expect polluted logs and some wasted load on Placement. However please note that the bandwidth-aware scheduling is supposed to work even with the wrongly parented resource providers. Bug Fixes ********* * 1926693 (https://bugs.launchpad.net/neutron/+bug/1926693) The logic to detect the hypervisor hostname, which was introduced by change 69660 (https://review.opendev.org/c/openstack/neutron/+/696600), has been fixed and now returns the result consistent with libvirt. * The new "resource_provider_defualt_hypervisor" option has been added, to replace the default hypervisor name to locates the root resource provider without giving a complete list of interfaces or bridges in the "resource_provider_hypervisors" option. This option is located in the "[ovs]" ini-section for "ovs-agent" and "[sriov_nic]" ini-section for "sriov-agent". Changes in neutron 17.1.2..17.2.0 --------------------------------- 8a43eb4563 Update arp entry of snat port on qrouter ns 033b8e3769 [OVN] neutron-ovn-metadat-agent add retry logic for sb_idl 32c6a39a8c [OVN] Do not fail when processing SG rule deletion a254cdaf02 Use "multiprocessing.Queue" for "TestNeutronServer" related tests f9b1f05def Copy existing IPv6 leases to generated lease file 5351d1b66b [OVN] Disable mcast_flood on localnet ports dcf050951d Remove FIP agent's gw port when L3 agent is deleted fdd4e276f2 Improve Subnet delete performance 68dadec27f Improve Subnet create performance f0defcf73e Force to close http connection after notify about HA router status 5666d76ad7 ovn: Don't use dict.remove() for filtering dhcp ports in db-sync a3ba317b8c Read keepalived initial state in parallel to interface monitoring 1ee664f65b Make default hypervisor hostname compatible with libvirt 9c9979612e Add a single option to override the default hypervisor name 41e603b0c3 Provide the rpc_response_max_timeout parameter to sriov-agent 44847d11ad [OVS] Fix live-migration connection disruption 136eb85382 Added common config and SR-IOV agent config to sanity check 1750318e55 [DHCP] Fix cleanup_deleted_ports method 3fb7d0b34a Use TCP keepalives for ovsdb connections 29857aa6b0 Make phynet paramter also is optional when network_segment_range enabled a7886497d0 Remove tempest job with neutron-lib master from CI 531cb5bef7 HA-non-DVR router don't need manually add static route eb2851561a [ovs fw] Restrict IPv6 NA and DHCP(v6) IP and MAC source addresses 9b5a3b02a6 Remove leading zeroes from an IP address d8c2412a2f Use local and ip address to create vxlan interface a8d4063bf1 [Stable only] Set irrelevant-files in some additional jobs 0ce9526090 [DVR] Send allowed address pairs info to the L3 agents 749d9d6fca [OVN] Fix: Disabling snat after it was enabled 6e775f35eb Install "pyroute2" as a doc job depedency 208fea3bf6 ovn-migration: Use DHCP nodes to configure dnsmasq 3e7f78c62a add_fake_chassis() may need to create a Chassis_Private 11904b20ad Physical NIC RP should be child of agent RP 1f30f2dfff Rely on worker count for HashRing caching f35c8e407d Don't run some more complex CI jobs on unrelated changes 4d0410d461 Switch tempest jobs to neutron specific ones 81f72c617d Disable not used services in the tempest and rally jobs 6917aae787 Disable cinder services on neutron grenade jobs Diffstat (except docs and test files) ------------------------------------- .../contributor/testing/ci_scenario_jobs.rst | 19 +--- neutron/agent/common/placement_report.py | 4 +- neutron/agent/common/utils.py | 40 +++++++- neutron/agent/dhcp/agent.py | 5 +- neutron/agent/firewall.py | 7 +- neutron/agent/l3/dvr_local_router.py | 20 ++++ neutron/agent/l3/ha_router.py | 4 +- neutron/agent/l3/keepalived_state_change.py | 54 ++++++++-- neutron/agent/linux/dhcp.py | 49 +++++++-- .../agent/linux/openvswitch_firewall/firewall.py | 65 ++++++++---- neutron/agent/ovn/metadata/ovsdb.py | 9 ++ neutron/agent/ovn/metadata/server.py | 18 ++++ neutron/agent/rpc.py | 38 ++++++- neutron/cmd/sanity_check.py | 5 + neutron/common/ovn/hash_ring_manager.py | 27 +++-- neutron/conf/common.py | 18 ++++ .../plugins/ml2/drivers/mech_sriov/agent_common.py | 9 +- neutron/conf/plugins/ml2/drivers/ovs_conf.py | 9 +- neutron/db/agents_db.py | 3 + neutron/db/allowedaddresspairs_db.py | 12 +++ neutron/db/db_base_plugin_v2.py | 13 ++- neutron/db/l3_dvr_db.py | 78 +++++++++++++- neutron/db/provisioning_blocks.py | 3 +- neutron/notifiers/nova.py | 16 +++ neutron/objects/network_segment_range.py | 6 +- .../objects/port/extensions/allowedaddresspairs.py | 10 ++ neutron/objects/ports.py | 8 ++ neutron/opts.py | 4 + .../linuxbridge/agent/linuxbridge_neutron_agent.py | 4 + .../drivers/mech_sriov/agent/sriov_nic_agent.py | 6 +- .../drivers/openvswitch/agent/ovs_neutron_agent.py | 26 +++-- .../ml2/drivers/ovn/mech_driver/mech_driver.py | 28 +++-- .../drivers/ovn/mech_driver/ovsdb/impl_idl_ovn.py | 43 ++++++++ .../drivers/ovn/mech_driver/ovsdb/maintenance.py | 2 +- .../drivers/ovn/mech_driver/ovsdb/ovn_client.py | 11 +- .../drivers/ovn/mech_driver/ovsdb/ovn_db_sync.py | 20 ++-- neutron/plugins/ml2/plugin.py | 25 +++-- neutron/services/placement_report/plugin.py | 16 ++- neutron/services/segments/plugin.py | 4 +- .../agent/l3/test_keepalived_state_change.py | 19 ++++ .../ovn/mech_driver/ovsdb/test_ovsdb_monitor.py | 7 +- .../unit/agent/common/test_placement_report.py | 8 +- .../linux/openvswitch_firewall/test_firewall.py | 13 +++ .../unit/common/ovn/test_hash_ring_manager.py | 19 ++-- .../unit/objects/test_network_segment_range.py | 78 +++++++++++++- .../agent/test_linuxbridge_neutron_agent.py | 1 + .../openvswitch/agent/test_ovs_neutron_agent.py | 15 +-- .../ovn/mech_driver/ovsdb/test_maintenance.py | 2 +- .../drivers/ovn/mech_driver/test_mech_driver.py | 6 +- .../unit/services/metering/test_metering_plugin.py | 2 +- .../notes/bug-1921150-c02692e548a3750e.yaml | 17 +++ .../notes/bug-1926693-55406915708d59ec.yaml | 7 ++ ...ovider_default_hypervisor-b92cff207dfb94c0.yaml | 9 ++ tools/bug-1921150-re-parent-device-rps.sql | 52 ++++++++++ .../tripleo_environment/ovn_migration.sh | 13 ++- zuul.d/grenade.yaml | 43 ++++++-- zuul.d/project.yaml | 54 ++++++---- zuul.d/rally.yaml | 22 ++++ zuul.d/tempest-multinode.yaml | 91 +++++++++++++++- zuul.d/tempest-singlenode.yaml | 78 +++++++++++++- 76 files changed, 1485 insertions(+), 265 deletions(-)