We are glad to announce the release of: neutron 15.2.0: OpenStack Networking This release is part of the train 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. 15.2.0 ^^^^^^ New Features ************ * A new configuration option "http_retries" was added. This option allows configuring the number of times the nova or ironic client should retry on a failed HTTP call. * Add new configuration option "igmp_snooping_enable". New option is in "OVS" config section and is used by openvswitch agent. This option is used to enable support for Internet Group Management Protocol (IGMP) in integration bridge. Bug Fixes ********* * 1875981 (https://bugs.launchpad.net/neutron/+bug/1875981) Neutron now correctly removes associated DNS records when an admin deletes ports, servers or floation IPs. Changes in neutron 15.1.0..15.2.0 --------------------------------- da0bad4acc [Stable only] Drop *-master jobs 0090884e15 String to byte conversion should provide the encoding type 9273af2c50 port_forwarding: validate args before invoking db update f65abc251b Fix validation of IPv6 subnets with external RAs 25078dd730 Don't check if any bridges were recrected when OVS was restarted 6615f248e2 [OVS][FW] Remote SG IDs left behind when a SG is removed 551130e9f4 [Security] fix allowed-address-pair 0.0.0.0/0 issue 91e5764a80 Fix Traceback when running neutron-ipset-cleanup tool 8f1912a1d1 [OVN] Allow IP allocation with different segments for OVN service ports 17eded1359 Ensure drop flows on br-int at agent startup for DVR too b47a2684b7 Optionally use admin powers when deleting DNS records 96fe5d3509 Auto-delete dhcp ports on segment delete a33fd8cb6a Fix pep8 job 3ae7b0f189 [DVR] Related routers should be included if are requested 76e651005b Add config option ``http_retries`` e3c3c891d5 Improve log message when port losts its vlan tag 4f501f405d Do not block connection between br-int and br-phys on startup 85f95e0bd9 Workaround for TCP checksum issue with ovs-dpdk and veth pair 870c3fddd1 DVR: Remove control plane arp updates for DVR b811b2d468 Fix the wrong value for QoS rate conversion to bytes/s eed9bcbd7b Make _ensure_default_security_group method atomic 3785868bfb [OVS] Make QoS OVS agent deletion operations more resilient 8e2cf239c8 Add ensure-tox in functional job b4707c1691 Fixes dnsmasq host file parsing with "addr6_list" d2112530f5 No rpc_response_max_timeout in LB-agent c5e00e551c Migrate neutron grenade multinode jobs to be native Zuul v3 fb766c1f83 Configure privsep in SR-IOV agent b5d67929b7 Add "igmp_snooping_enable" config option for OVS agent 7d97420046 Set OpenFlow 1.0, 1.3 and 1.4 by default on bridges 764ff2a70a Use pyroute2 for SRIOV VF commands 2376c54000 [DVR] Reconfigure re-created physical bridges for dvr routers 415755015a Delete segment RPs when network is deleted 0ce032275a Ensure that stale flows are cleaned from phys_bridges ab0515440f Add sg name in after delete event kwargs Diffstat (except docs and test files) ------------------------------------- .zuul.yaml | 98 +++++-- etc/neutron/rootwrap.d/dhcp.filters | 1 + etc/neutron/rootwrap.d/l3.filters | 1 + lower-constraints.txt | 1 + neutron/agent/common/ovs_lib.py | 34 ++- neutron/agent/linux/dhcp.py | 15 +- neutron/agent/linux/ethtool.py | 34 +++ neutron/agent/linux/interface.py | 10 + neutron/agent/linux/ip_lib.py | 21 +- neutron/agent/linux/ip_link_support.py | 108 -------- neutron/agent/linux/ipset_manager.py | 2 +- neutron/agent/linux/iptables_firewall.py | 2 +- .../agent/linux/openvswitch_firewall/firewall.py | 100 +++++-- neutron/agent/linux/openvswitch_firewall/rules.py | 6 + neutron/agent/linux/tc_lib.py | 28 +- neutron/api/rpc/handlers/securitygroups_rpc.py | 6 +- neutron/cmd/ipset_cleanup.py | 2 + neutron/cmd/sanity/checks.py | 36 --- neutron/cmd/sanity_check.py | 23 -- neutron/common/_constants.py | 9 + neutron/conf/agent/ovs_conf.py | 11 + neutron/conf/common.py | 10 +- neutron/db/db_base_plugin_v2.py | 22 +- neutron/db/ipam_backend_mixin.py | 13 +- neutron/db/ipam_pluggable_backend.py | 17 +- neutron/db/l3_db.py | 23 +- neutron/db/l3_dvr_db.py | 100 ------- neutron/db/l3_dvrscheduler_db.py | 64 +---- neutron/db/securitygroups_db.py | 13 +- neutron/db/securitygroups_rpc_base.py | 23 +- neutron/notifiers/ironic.py | 3 +- neutron/notifiers/nova.py | 1 + neutron/objects/ports.py | 16 +- neutron/objects/subnet.py | 14 +- neutron/opts.py | 2 + neutron/plugins/ml2/db.py | 31 ++- .../linuxbridge/agent/linuxbridge_neutron_agent.py | 3 + .../drivers/mech_sriov/agent/common/exceptions.py | 8 - .../drivers/mech_sriov/agent/eswitch_manager.py | 35 ++- .../agent/extension_drivers/qos_driver.py | 15 +- .../ml2/drivers/mech_sriov/agent/pci_lib.py | 158 +++-------- .../drivers/mech_sriov/agent/sriov_nic_agent.py | 11 +- .../openvswitch/agent/ovs_dvr_neutron_agent.py | 26 +- .../drivers/openvswitch/agent/ovs_neutron_agent.py | 69 +++-- neutron/privileged/agent/linux/ip_lib.py | 42 +++ .../externaldns/drivers/designate/driver.py | 22 +- neutron/services/portforwarding/pf_plugin.py | 43 +++ neutron/services/segments/db.py | 3 +- neutron/services/segments/plugin.py | 51 ++-- .../privileged/agent/linux/test_tc_lib.py | 8 +- .../l3_router/test_l3_dvr_router_plugin.py | 293 ++++----------------- .../linux/openvswitch_firewall/test_firewall.py | 123 +++++++-- .../agent/linux/openvswitch_firewall/test_rules.py | 3 +- .../unit/agent/linux/test_iptables_firewall.py | 22 +- .../api/rpc/handlers/test_securitygroups_rpc.py | 22 +- .../agent/test_linuxbridge_neutron_agent.py | 2 +- .../agent/extension_drivers/test_qos_driver.py | 14 +- .../mech_sriov/agent/test_eswitch_manager.py | 38 ++- .../ml2/drivers/mech_sriov/agent/test_pci_lib.py | 186 +++++-------- .../mech_sriov/agent/test_sriov_nic_agent.py | 8 +- .../openvswitch/agent/test_ovs_neutron_agent.py | 66 ++++- .../drivers/openvswitch/agent/test_ovs_tunnel.py | 19 +- .../unit/privileged/agent/linux/test_ip_lib.py | 33 +++ .../unit/scheduler/test_l3_agent_scheduler.py | 44 ---- .../unit/services/portforwarding/test_pf_plugin.py | 89 ++++++- playbooks/configure_functional_job.yaml | 1 + .../legacy/neutron-grenade-dvr-multinode/post.yaml | 15 -- .../legacy/neutron-grenade-dvr-multinode/run.yaml | 48 ---- .../legacy/neutron-grenade-multinode/post.yaml | 15 -- .../legacy/neutron-grenade-multinode/run.yaml | 48 ---- ...ttp_retries-config-option-b81dd29c03ba8c6a.yaml | 6 + ...ping_enable-config-option-6a0e15e4ed0a2cf7.yaml | 7 + .../notes/bug-1875981-ec32d8c3918b0dd4.yaml | 6 + test-requirements.txt | 1 + 98 files changed, 1561 insertions(+), 1616 deletions(-) Requirements updates -------------------- diff --git a/test-requirements.txt b/test-requirements.txt index 9f87ab69c4..5f4a05d6b1 100644 --- a/test-requirements.txt +++ b/test-requirements.txt @@ -24,0 +25 @@ pylint==2.2.0;python_version>="3.0" # GPLv2 +isort==4.3.21 # MIT