We are psyched to announce the release of: neutron 13.0.4: OpenStack Networking This release is part of the rocky 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. 13.0.4 ^^^^^^ Upgrade Notes ************* * The first address in an IPv6 network is now a valid, usable IP for routers. It had previously been reserved, but now can be assigned to a router so that an IPv6 address ending in "::" could be a valid default route. * During the dependency resolution procedure, the code that loads service plugins was refactored to not raise an exception if one plugin is configured multiple times, with the last one taking effect. This is a change from the previous behavior. Bug Fixes ********* * Adds the "router" service plugin to the "port_forwarding" service plugin required list. For more info see https://bugs.launchpad.net/neutron/+bug/1809238 Other Notes *********** * In order to improve heavy load ovs agent restart success rate, instead a retry or fullsync, the native driver "of_connect_timeout" and "of_request_timeout" are now set to 300s. The value does not have side effect for the regular pressure ovs agent. * If an instance port is under a dvr router, and the port already has binding port forwarding(s). Neutron will no longer allow binding a floating IP to that port again, because dvr floating IP traffic rules will break the existing port forwarding functionality. * A new option "[ovs] of_inactivity_probe" has been added to allow changing the inactivity probe interval when using the OVS ML2 agent with the native OpenFlow driver. Operators can increase this if they are experiencing OpenFlow timeouts. The default value is 10 seconds. * Neutron now supports having service plugins require other plugin(s) as dependencies. For example, the "port_forwarding" service plugin requires the "router" service plugin to achieve full functionality. A new list, "required_service_plugins", was added to each service plugin so the required dependencies of each service plugin can be initialized. If one service plugin requires another, but the requirement is not set in the config file, neutron will now initialize it to the plugin directory. Changes in neutron 13.0.3..13.0.4 --------------------------------- feab3462b2 Release notes for dns_domain behavioural changes b1b0937eb4 DVR: on new port only send router update on port's host 3842bb21af Reset MAC on unbinding direct-physical port 1146526304 Optimize the code that fixes the race condition of DHCP agent. b681fe6754 SRIOV agent: wait VFs initialization on embedded switch create 8ed443ca66 Switch to new engine facade for Route objects 3e55534795 Make OVS controller inactivity_probe configurable cace923951 improve dvr port update under large scale deployment c80598dd58 Revert "Pass network's dns_domain to dnsmasq conf" 1dd35515d4 Packets getting lost during SNAT with too many connections 6af5ea2afc [DVR] Block ARP to dvr router's port instead of subnet's gateway 5424bdc38b Use list instead of six.viewkeys to avoid py2 to py3 problems 7f8c446d5f Only store segmenthostmapping when enable segment plugin 1559c79594 Wait to ipv6 accept_ra be really changed by L3 agent b84b9f2dcc Add port_forwarding to devstack plugin 663c727f99 Allow first address in an IPv6 subnet as valid unicast 252d80058c Show all SG rules belong to SG in group's details 946faaf361 [DHCP] Don't resync network if same port is alredy in cache 9a498d993f Remove rootwrap configuration from neutron-keepalived-state-change d908227050 Use six.viewkeys instead of dict.keys to avoid py2 to py3 problems 2f91450fcf Ensure dvr ha router gateway port binding host 88a362df09 Async notify neutron-server for HA states 0bac076056 Fix handling of network:shared field in policy module 8e777c681f Fix creating policy rules from subattributes. 13cb3cd34c Keep HA ports info for HA router during entire lifecycle d3c757134d Don't count ports with inactive bindings as serviceable dvr ports cd53b51732 Use dynamic lazy mode for fetching security group rules 9b2dc84959 Not process port forwarding if no snat functionality 04e995be98 Revert iptables TCP checksum-fill code d9ff4aee20 Get ports query: extract limit and use it only at the end. d080a805c1 Move subnet postcommit out of transaction for bulk create 1214e59cc2 OpenDev Migration Patch c50bdf2329 Give some HA router case specific resources 8280d75723 Check master/backup router status in DVR functional tests 827d6434d7 Set HA failover bridges veth pair devices UP bdeae63365 neutron.conf needs lock_path set for router to operate This change is adding required configuration in neutron.conf to set the lock_path parameter, which was missing in compute-install-ubuntu.rst 5d705468de Do not call update_device_list in large sets fb0c062899 Avoid loading same service plugin more than once 2331e5fefc Add dependency for service plugin 087e8f6bee Prevent bind fip to port has port forwarding 21bbe03619 Make test service_plugins override simple ee2ed681c4 Choose random value for HA routes' vr_id f71767bd02 DVR: Correctly change MTU in fip namespace 14ed5515b9 Handle DBConnectionError in skip_if_timeout decorator 0e71c29155 Fix regression with SG read API with empty ruleset 8f93410716 Not set fip to ERROR if it exists on device ef8ecef922 Set router_id if floating IP has port_forwardings 26a9765afb Change default local ovs connection timeout Diffstat (except docs and test files) ------------------------------------- .gitreview | 2 +- .zuul.yaml | 42 +++--- devstack/lib/fip_port_forwarding | 4 + devstack/plugin.sh | 4 + etc/policy.json | 8 +- neutron/agent/common/ovs_lib.py | 7 + neutron/agent/dhcp/agent.py | 12 +- neutron/agent/l3/agent.py | 2 +- neutron/agent/l3/dvr_edge_ha_router.py | 2 +- neutron/agent/l3/dvr_edge_router.py | 13 +- neutron/agent/l3/dvr_fip_ns.py | 9 +- neutron/agent/l3/dvr_local_router.py | 7 +- neutron/agent/l3/extensions/port_forwarding.py | 4 + neutron/agent/l3/ha.py | 3 + neutron/agent/l3/ha_router.py | 22 ++- neutron/agent/l3/keepalived_state_change.py | 2 - neutron/agent/l3/router_info.py | 26 ++-- neutron/agent/linux/dhcp.py | 28 ++-- neutron/agent/linux/ip_lib.py | 1 + neutron/agent/linux/iptables_manager.py | 21 +++ neutron/agent/linux/keepalived.py | 2 + neutron/agent/metadata/driver.py | 10 -- neutron/agent/rpc.py | 29 +++- neutron/api/rpc/handlers/dhcp_rpc.py | 15 +- neutron/api/rpc/handlers/l3_rpc.py | 11 +- neutron/common/constants.py | 6 + neutron/common/utils.py | 7 + neutron/conf/plugins/ml2/drivers/ovs_conf.py | 9 +- neutron/db/db_base_plugin_v2.py | 12 +- neutron/db/ipam_backend_mixin.py | 11 +- neutron/db/ipam_pluggable_backend.py | 5 + neutron/db/l3_db.py | 21 +++ neutron/db/l3_dvrscheduler_db.py | 31 ++-- neutron/db/l3_hamode_db.py | 31 +++- neutron/db/models/securitygroup.py | 2 +- neutron/db/securitygroups_db.py | 6 +- neutron/ipam/utils.py | 27 ++-- neutron/manager.py | 76 ++++++---- neutron/objects/base.py | 54 ++++++- neutron/objects/common_types.py | 23 +++ neutron/objects/securitygroup.py | 4 +- neutron/objects/subnet.py | 2 + neutron/pecan_wsgi/hooks/policy_enforcement.py | 4 +- .../drivers/mech_sriov/agent/eswitch_manager.py | 50 ++++++- .../agent/openflow/native/ovs_bridge.py | 1 + .../openvswitch/agent/ovs_dvr_neutron_agent.py | 7 +- neutron/plugins/ml2/plugin.py | 21 ++- neutron/policy.py | 54 ++++++- .../services/portforwarding/common/exceptions.py | 6 + neutron/services/portforwarding/pf_plugin.py | 24 ++++ neutron/services/segments/db.py | 27 +++- .../l3_router/test_l3_dvr_router_plugin.py | 4 +- .../portforwarding/test_port_forwarding.py | 23 ++- .../agent/l3/extensions/test_port_forwarding.py | 16 +++ .../test_expose_port_forwarding_in_fip.py | 127 ++++++++++++++++- .../mech_sriov/agent/test_eswitch_manager.py | 56 ++++++++ .../agent/openflow/native/ovs_bridge_test_base.py | 9 +- .../openvswitch/agent/test_ovs_neutron_agent.py | 21 ++- .../unit/scheduler/test_l3_agent_scheduler.py | 15 +- .../legacy/neutron-fullstack-python35/run.yaml | 6 +- .../legacy/neutron-fullstack-with-uwsgi/run.yaml | 6 +- playbooks/legacy/neutron-fullstack/run.yaml | 6 +- .../legacy/neutron-functional-python35/run.yaml | 6 +- .../legacy/neutron-functional-with-uwsgi/run.yaml | 6 +- playbooks/legacy/neutron-functional/run.yaml | 6 +- .../legacy/neutron-grenade-dvr-multinode/run.yaml | 8 +- .../legacy/neutron-grenade-multinode/run.yaml | 8 +- playbooks/legacy/neutron-grenade/run.yaml | 8 +- .../neutron-tempest-dvr-ha-multinode-full/run.yaml | 6 +- playbooks/legacy/neutron-tempest-dvr/run.yaml | 6 +- .../neutron-tempest-iptables_hybrid/run.yaml | 6 +- .../legacy/neutron-tempest-linuxbridge/run.yaml | 6 +- .../legacy/neutron-tempest-multinode-full/run.yaml | 6 +- .../legacy/neutron-tempest-postgres-full/run.yaml | 6 +- .../neutron-tempest-with-ryu-master/run.yaml | 6 +- ...change-of-default-timeout-b09d11683526e27d.yaml | 7 + .../notes/dns_domain-6f0e628aeb3c650c.yaml | 14 +- .../fip-binding-limitation-1d2509950847b085.yaml | 7 + ...v6_first_ip_address_valid-cd94b47bdcc642cf.yaml | 6 + ...tivity-probe-configurable-39d669014d961c5c.yaml | 7 + ...service-plugin-dependency-c8bf620b2526b869.yaml | 22 +++ 108 files changed, 1719 insertions(+), 533 deletions(-)
participants (1)
-
no-reply@openstack.org