We are pleased to announce the release of: neutron 25.0.0 This release is part of the dalmatian 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. 25.0.0 ^^^^^^ Bug Fixes * Fixes an issue when associating floating IPs to OVN load balancers. See LP#2068644 for more details. Changes in neutron 24.0.0.0rc1..25.0.0 -------------------------------------- 2b42242a69 Correct logic error when associating FIP with OVN LB 962d956269 Handle EndpointNotFound in nova notifier d2ef2ea1c0 Change the load method of SG rule "default_security_group" c518b23aa6 Update TOX_CONSTRAINTS_FILE for stable/2024.2 74c155b2cd Update .gitreview for stable/2024.2 642b291032 Enable iptables debugging in the L3 agent functional tests 5a558b7d13 Add new "tagging" API method: create (POST) 9fd1f58394 [OVN] Set reside-on-chassis-redirect also for FLAT networks 104cbf9e60 Add trusted vif api extension for the port 9ed046a849 refactor: minor ternary `if x then true else false` squash 35bd9e5af0 docs: The job is not in experimental but in periodic queue 88abf33cd4 nit: Fix variable name used in a comment c7d07b7421 Protect the "standardattr" retrieval from a concurrent deletion 8211c29158 [SR-IOV] The port status=DOWN has precedence in the VF link status 0058f76514 Remove default override for RBAC config options 44cbbba369 User defined router flavor driver with no LSP 7de94f5fb7 docs: fix neutron-ovn-tempest-with-neutron-lib-master description ed8fb1b4a2 Introduce ovs-lts jobs that run against the latest ovn LTS branch fbb7c9ae3d Fix port_hardware_offload_type ML2 extension dbf53b7bbf Support nested SNAT for ml2/ovn 342ebc6bc3 Use ovs from main for -ovs-master jobs 76f343c586 Monkey patch the system libraries before calling them d16d791f44 Add ovs-master job with neutron-plugin enabled 0798f33c01 Use oslo netutils for get_noscope_ipv6 function ae90e2ccbf Make RPC event cast synchronous with the event 2ca075f152 Remove remnants of NSX 78efdb97b1 Remove remnants of Open Daylight 70be32d417 docs: ovs-master jobs do NOT run plugin scenarios bd7245e51d Remove dependencies for windows support 6e30a825a3 docs: Clarify fullstack local run procedure 89835e43e8 [ML2/OVN] Add external_ids.neutron:is_static_route key for Static Routes a35c2f8c38 Revert "Temporary mark ovs-rally job as non-voting" b9ca288a5d Log a warning if pid file could not be read in l3-agent 1dda852c6a Ensure latest revision number after commit port binding 6168db6058 Service workers stop re-writing the process name b6b2154faf [OVN][FT] Ensure the non OVN agent is correctly created 1ed8609a68 Get ips from system dns resolver without scope f7000f3d57 Fix support of IPv6 only networks in OVN metadata agent d0bcaf3f07 Bump ``oslo.serialization`` to version 5.5.0 f17cc24e8a Adopt to StandardAttribute load method change to "selectin" ffaf021810 Temporary mark ovs-rally job as non-voting b63442e046 Add tap_mirror to extension to OVN supported extensions 5e583d3240 Skip abandoning of the old patches in unmaintained branches 04c217bcd0 Lower spacing time of the OVN maintenance tasks which should be run once 4b1bfb93e3 Fix setting correct 'reside-on-chassis-redirect' in the maintenance task c1b88fc5f5 Only query for port do not get directly 2a6bc5db23 Use has_lock_periodic decorator for the tasks which require ovn db lock f22f7ae012 Use the RBAC actions field for "network" and "subnet" 498d7d5f87 Start using constants from neutron-lib f63e7999e2 [OVN][CI] Update OVS_BRANCH to be compatible with ovn main a1d39a2132 Increase code coverage for OVN metadata agent 92d0cc2919 Fix typos in the S-RBAC document aa5b2808a8 [Docs] Add document with description of the RBAC roles bfd32488a6 Remove the tenant_id/project_id parameter from QoS rule commands b4c8cc600a Actualy set global "removal limit" options 776178e907 Initialize the policy enforcer for the "tagging" service plugin 23b9077df5 Reduce to 1 thread the processing of ``IpConntrackManager`` events baa57ab38d Do not release the executor inside ``_check_child_processes`` ec5248dc2e Add ML2/OVN security group logging documentation 41dcac598b Use convert_version_to_tuple() instead of pkg_resources 836fd55073 [OVN] Remove maintenance method "remove_duplicated_chassis_registers" 88e83dc7f0 [DHCP] Inform about the number of pending events to be processed 46daad6f57 Remove Open vSwitch plugin mentioned in allowed address pairs note ca92fbe7eb Log the number of RPC workers created 413793fa08 Add "subnet-external-network" extension to "subnet" resource a45883ca19 [DHCP] Lock the execution of ``_dhcp_ready_ports_loop`` 7173bd4e98 [DHCP] Do not force the DHCP disable call in a network creation ed303c464e [FT] Make LR name random eb09fe5c92 Revert "[DHCP] Lock the execution of ``_dhcp_ready_ports_loop``" 8ab385f97d Don't print traceback if standard attr is missing on update f651b28c42 [OVN] Add support for broadcast_arps_to_all_routers d0d24f0aff [OVN] Update Baremetal provisioning documentation 6be68a4158 Add dynamic lookup for tcpdump binary 7e73d41e9e Change to new syntax of calling super() in policies unit tests modules 7c7dc26a01 Adding manager role support a266965f53 [OVN] Iterate through table rows using ``row.items()`` 19208ebdae [WSGI] Move all OVS jobs to use WSGI API module 60d097f435 [DHCP] Skip metadata proxy timeout in unit testing 6a2bb6ce3e [FT] Check if the OVN row item is stored as a list 6d480cbaf5 [DHCP] Reduce to one single thread the event processing 928f41f1fe [DHCP] Lock the execution of ``_dhcp_ready_ports_loop`` cc45ca0378 Release note for ``neutron-periodic-workers`` process a311606fcd Checking pci_slot to avoid changing staus to BUILD forever b40c728cbb [FT] Add a timeout for the NB/SB connection stop method fd774f3af0 Don't send project_id as QoS rule attribute in the tests 2354c2a0d2 Adjust flavor extension unit test to case when tenant_id is not there 8460c3b964 Use parent's project id in the quota enforcement for some resources d2e53f83f7 Limit the worker type in neutron-periodic-workers service 308db2e048 [OVN] Release note for ``neutron-ovn-maintenance-worker`` process e5a8829c56 Return empty BpInfo if missing binding:profile 1858923d5c Change the "get_metadata_port" name and input variable cfab008eef [OVN] Enable the WSGI module for the OVN mechanism driver ae587c34ab Always get local vlan from port other_config 9a27e4e4bb Refactor external-network update to router gateway cascading effect 20dbc47fc6 Check subnet service_type for subnet_create 729920da5e Reorder subnet RBAC policy check strings b0081ac6c0 Add the port "fixed_ips" information in the DHCP RPC 46edf255bd Change to use selectin for RBACs in SubnetPool DB load strategy 1c888c94a3 Improve Process fixture service restart handling b39b5fc215 Remove maintenance task "update_port_virtual_type" 5d316e8a87 Remove the Windows libraries 980f9bdab2 [OVN] Add a new process to spawn ML2/OVN maintenance worker 811f74d943 Add a new process to spawn the plugin services in the Neutron server bf82263df0 [FT] Run test_periodic_sync_routers_task tests serially f9a54350e6 Add L3 HA fullstack failover tests ceee380a18 [OVN] Sanitize the classless-static-route DHCP option cabe18dd79 Set the Neutron server workers name b352917461 Add wsgi tempest job for OVS and OVN 79b2d709c8 tests: fix IP address not accepted by latest netaddr dbca7e1f8c Improve ACL comparison efficiency adb39e2d1c Add new neutron.wsgi module 34fafa2d8c Remove neutron.wsgi module 05fcfef6ce Change to use selectin for DB load strategy e1cf0f2d59 [CI] Enable OVN grenade job in the check and gate queue bf123dfb38 Revert "Use HasStandardAttributes as parent class for Tags DB model" f210a90479 [OVN] Bump revision number after update_virtual_port_host 06bc855dcf dhcp: fix dhcp cleaning stale devices process when enable action 170d99f2d5 [OVN] Fix virtual parent match for PortBindingUpdateVirtualPortsEvent 9e7cc782e6 [eventlet] Bump eventlet version to 0.36.1 a8b6080cdf Bump neutron-lib to 3.13.0 6af25b2588 Add policy for create_agent api call 784e737295 Fix trunk test_subport_delete functional test 11027e3e1e Fix regex lines in zuul.d/* files eaca8a360f Add some swap to tox-cover job 4a02848228 Use transient systemd units in Process fixture 768d20f285 Bump oslo.service to 3.5.0 260c968118 Use RE2 compatible regex for irrelevant-files a508ce3913 reno: ml2/ovn allows to create/delete trunks for bound ports ac15191f88 Revert "[OVN] Prevent Trunk creation/deletion with parent port bound" fe7276ecd8 tests: Don't except error 400 from allocation_pools=None fd7ebe2960 Make openstack-tox-py311-with-sqlalchemy-master non-voting 5a1e9826c2 Temporarily add '--concurrency 4' to coverage job dfc01beab2 Return both project_id when validating auto allocate network 60167cbb6e tests: Use `del_fake_chassis` when deleting a chassis 7967627035 Do not fail on missing logical router ports 5cbba634ca Remove old excludes 20b9893e34 [functional tests] compatibility with ovsdbapp>=2.7.0 2beb20f92b Update grenade_from_branch for skip level jobs 33d3d9d936 Bump neutron-lib to 3.12.0 639a8bae85 Rename delete_flow_for_ip -> delete_flow_for_ip_and_mac 80577381d9 Bump port revision if binding_levels changed d040a38f49 Rename create_flows_for_ip_address to reflect it accepts (ip, mac) 11255ede97 Fix the broken neutron gate 305153883b Optimize deletion of static routes 466b0f4978 Fix ML2/OVN OVSDB handling of gateway ports d6f56c5f96 Add a default goto table=94 for openvswitch fw 5b62e27154 Put monitors dictionary back in MetadataDriverBase class a3d0fb6673 tests: Don't use neutron object where db model is expected 5795c192b8 Don't update revision number if object was not modified cdb644574a Remove info about QoS and L3 meetings from the contributing guide af7c98a908 Add pre-commit configuration aeae6780a0 Fix trailing whitespaces and replace tabs with 4 spaces ffcaeda32a Start trunk plugin RPC via service framework a35858b053 reno: Update master for unmaintained/zed a5ee7497b0 Add tox.ini testenv descriptions 5cee4b34fa Remove and modify outdated options in DHCP HA documentation a69bd0dd60 Make it explicit ovs_firewall operates with ip, mac pairs ae704369b5 tests: fix invalid `addr` mock values in ovs firewall suite 85808693ec Bandit: Remove bandit B604 from skip list 45b39b84e5 Switch to cirros uec image in singlenode jobs 1bc945f0d5 dhcp: fix auto_scheduler_network understanding dhcp_agents_per_network 3bbf259a4e Ensure [designate] url is a valid URI 9148c20b66 Replace bare Opt by PortOpt 7b4e9f8c26 Make common Metadata Proxy classes 6170309157 Start logging plugin RPC via service framework 4d405ca675 Mark L3HA dvr tests unstable 5fe5188ce5 Change exception messages to error log messages for DNS integration. d782a868d7 Bandit: Remove bandit B324 from skip list 0914e6db3c Fix global-variable-not-assigned warnings 1ee6d94f89 Fix consider-using-min-builtin warnings bac1b1f721 More precise flow table cleaning 8396d0bb6d [OVN] Add release note for OVN router tunnelled networks ext GW c2f34e136d [OVN] Optimize ``HAChassisGroupRouterEvent`` code bd31c23380 [OVN] Provide HA functionality to "Logical_Router" chassis pinning 25a1809964 [OVN] "Logical_Router" pinned to chassis, OVN L3 scheduler a6e57754e0 Use native IntOpt for overlay_ip_version ca3c57308f Increase code coverage for floating_mangle_rules() 7049ccbad7 Increase code coverage for safe_configure_dhcp_for_network() 06f9baec2b Increase code coverage for OVN SG update db0818d5d2 Increase code coverage for plugin _get_network_mtu() 546b796f43 Increase code coverage for ip_lib sysctl() 714865a7f4 Increase code coverage for cidr_broadcast_address_alternative() 00b64d289b [OVN] Create an OVN DB transaction context decorator 3c557b29f8 Bandit: Remove bandit B311, B303 from skip list 5f0a9a10f6 Remove the Windows OS libraries 8ff8203fd7 Enable HA for OVN router flavors 6395b4fe8e Fixing the 500 HTTP code in the metadata service if Nova is down 9d729bda20 Check unspecified flavor in user defined driver 056baab66e Update Neutron Liuetenants 5453c92a2e dhcp: ensure that cleaning DHCP process with one segment happens first 418d87b276 Refactor some docstrings 882885b806 Update jobs based on testing runtime for 2024.2 70ddf4eef5 Add "socket" NUMA affinity policy 5e1188ef38 Enhance IptablesFirewallDriver with remote address groups 8830fed191 Open the 2024.2 (Dalmatian) DB branch 26ff51bf05 Fix making all user defined flavor routers HA 46245c0154 Add note on iptables cleanup after OVS firewall migration 446a7acf2c Add metadata options to generated ovn_agent.ini eebfe79f5e Disable skip-level jobs in check queue 6330543517 Update master for stable/2024.1 27b2f22df1 Don't delete already deleted extra router routes f82c650c8c [OVN] Add the network type to the ``Logical_Switch`` register 0199a8457b Add documentation for aa-l3-gw-multihoming d3a8c9ca0f Clean up state VRRP PID file 0fd654f592 [OVN] Use the LSP update event to update the LRP 8fa3a14a95 Update the OVN manual install doc a4e49b6b8f Use oslo_service's SignalHandler for signals 4275aebe68 [OVN] Add documentation about the OVN agent 16474fcf24 Fix used-before-assignment warnings bcf33e202f Fix keyword-arg-before-vararg warnings ceba528e29 Fix disallowed-name warnings 9065cdf78e Register root_helper config for state change 1e1cd593a4 Remove string support in install_instructions bb8e74b1a0 Fix assignment-from-no-return error 850a213366 Remove the restriction on empty cidr's update events e4323e1f20 Fix KeyError failure in _sync_subnet_dhcp_options() Diffstat (except docs and test files) ------------------------------------- .gitreview | 1 + .pre-commit-config.yaml | 69 +++ .pylintrc | 2 +- devstack/lib/port_trusted_vif | 3 + devstack/plugin.sh | 15 +- .../contributor/internals/openvswitch_firewall.rst | 21 + .../contributor/testing/ci_scenario_jobs.rst | 50 +- .../general_feature_support_matrix.ini | 18 - .../provider_network_support_matrix.ini | 8 - .../install/common/get-started-networking.rst | 5 +- neutron/agent/common/ip_lib.py | 22 +- neutron/agent/common/ovs_lib.py | 11 +- neutron/agent/common/resource_processing_queue.py | 5 + neutron/agent/common/utils.py | 8 +- neutron/agent/dhcp/agent.py | 52 +- neutron/agent/l2/extensions/dhcp/base.py | 2 +- neutron/agent/l3/ha_router.py | 16 +- neutron/agent/l3/keepalived_state_change.py | 2 + neutron/agent/linux/dhcp.py | 3 + neutron/agent/linux/external_process.py | 1 - neutron/agent/linux/ip_conntrack.py | 11 +- neutron/agent/linux/iptables_firewall.py | 12 +- neutron/agent/linux/iptables_manager.py | 3 +- neutron/agent/linux/keepalived.py | 7 +- .../agent/linux/openvswitch_firewall/firewall.py | 109 ++-- neutron/agent/linux/openvswitch_firewall/rules.py | 11 +- neutron/agent/linux/tc_lib.py | 1 - neutron/agent/linux/utils.py | 3 +- neutron/agent/metadata/agent.py | 219 ++------ neutron/agent/metadata/driver_base.py | 6 + neutron/agent/metadata/proxy_base.py | 224 ++++++++ neutron/agent/ovn/metadata/agent.py | 51 +- neutron/agent/ovn/metadata/server.py | 158 +----- neutron/agent/rpc.py | 4 +- neutron/agent/windows/ip_lib.py | 88 ---- neutron/agent/windows/utils.py | 173 ------ neutron/api/api_common.py | 2 +- neutron/api/extensions.py | 7 +- .../api/rpc/agentnotifiers/dhcp_rpc_agent_api.py | 5 +- neutron/api/v2/resource.py | 3 +- neutron/{ => api}/wsgi.py | 0 neutron/cmd/eventlet/server/__init__.py | 10 + neutron/cmd/sanity/checks.py | 2 +- neutron/common/_constants.py | 4 - neutron/common/ovn/constants.py | 16 +- neutron/common/ovn/extensions.py | 10 + neutron/common/ovn/utils.py | 236 ++++++--- neutron/common/utils.py | 36 +- neutron/conf/agent/ovn/ovn_neutron_agent/config.py | 6 + neutron/conf/plugins/ml2/config.py | 16 +- neutron/conf/plugins/ml2/drivers/ovn/ovn_conf.py | 26 + neutron/conf/plugins/ml2/drivers/ovs_conf.py | 6 +- neutron/conf/policies/agent.py | 12 + neutron/conf/policies/base.py | 9 + neutron/conf/policies/floatingip.py | 12 +- neutron/conf/policies/logging.py | 10 +- neutron/conf/policies/metering.py | 8 +- neutron/conf/policies/network.py | 10 + neutron/conf/policies/network_segment_range.py | 10 + neutron/conf/policies/port.py | 72 ++- neutron/conf/policies/qos.py | 48 +- neutron/conf/policies/quotas.py | 2 +- neutron/conf/policies/router.py | 10 + neutron/conf/policies/security_group.py | 10 + neutron/conf/policies/segment.py | 10 + neutron/conf/policies/subnet.py | 48 +- neutron/conf/policies/subnetpool.py | 10 + neutron/conf/policies/trunk.py | 10 + neutron/conf/services/extdns_designate_driver.py | 3 +- neutron/db/agentschedulers_db.py | 4 +- neutron/db/db_base_plugin_common.py | 9 +- neutron/db/db_base_plugin_v2.py | 52 +- neutron/db/dns_db.py | 41 +- neutron/db/external_net_db.py | 44 +- neutron/db/extra_dhcp_opt/models.py | 2 +- neutron/db/extraroute_db.py | 4 +- neutron/db/l3_db.py | 53 +- neutron/db/l3_dvr_db.py | 15 +- neutron/db/l3_hamode_db.py | 4 +- neutron/db/migration/__init__.py | 1 + ...791_add_port_hardware_offload_extension_type.py | 5 + .../expand/175fa80908e1_add_numa_policy_socket.py | 39 ++ .../5bcb7b31ec7d_add_port_trusted_attribute.py | 70 +++ .../alembic_migrations/versions/EXPAND_HEAD | 2 +- neutron/db/migration/cli.py | 3 +- neutron/db/models/address_group.py | 2 +- neutron/db/models/allowed_address_pair.py | 2 +- neutron/db/models/conntrack_helper.py | 2 +- neutron/db/models/external_net.py | 5 + neutron/db/models/flavor.py | 2 +- neutron/db/models/l3.py | 6 +- neutron/db/models/metering.py | 4 +- neutron/db/models/ndp_proxy.py | 2 +- neutron/db/models/port_forwarding.py | 4 +- neutron/db/models/port_trusted.py | 37 ++ neutron/db/models/securitygroup.py | 2 +- neutron/db/models/segment.py | 4 +- neutron/db/models/subnet_service_type.py | 2 +- neutron/db/models/tag.py | 2 +- neutron/db/models_v2.py | 18 +- neutron/db/network_dhcp_agent_binding/models.py | 2 +- neutron/db/ovn_l3_hamode_db.py | 4 + neutron/db/port_hardware_offload_type_db.py | 2 +- neutron/db/port_trusted_db.py | 66 +++ neutron/db/provisioning_blocks.py | 7 +- neutron/extensions/agent.py | 4 +- neutron/extensions/dhcpagentscheduler.py | 2 +- neutron/extensions/l3agentscheduler.py | 4 +- .../extensions/port_numa_affinity_policy_socket.py | 20 + neutron/extensions/port_trusted_vif.py | 77 +++ neutron/extensions/quotasv2.py | 2 +- neutron/extensions/subnet_external_network.py | 22 + neutron/extensions/tag_creation.py | 20 + neutron/extensions/tagging.py | 32 +- neutron/hacking/checks.py | 17 + neutron/notifiers/nova.py | 3 + neutron/objects/port/extensions/port_trusted.py | 36 ++ neutron/objects/ports.py | 11 +- neutron/objects/router.py | 1 + neutron/objects/subnet.py | 39 +- neutron/opts.py | 2 +- neutron/pecan_wsgi/hooks/quota_enforcement.py | 15 +- neutron/plugins/ml2/drivers/l2pop/db.py | 4 +- .../ml2/drivers/mech_sriov/agent/pci_lib.py | 8 +- .../drivers/mech_sriov/agent/sriov_nic_agent.py | 42 +- .../agent/extension_drivers/qos_driver.py | 4 +- .../openvswitch/agent/openflow/native/br_int.py | 2 +- .../openvswitch/agent/openflow/native/ofswitch.py | 18 +- .../drivers/openvswitch/agent/ovs_neutron_agent.py | 4 +- .../ml2/drivers/openvswitch/agent/vlanmanager.py | 6 +- .../ml2/drivers/ovn/mech_driver/mech_driver.py | 32 +- .../ml2/drivers/ovn/mech_driver/ovsdb/api.py | 17 +- .../ml2/drivers/ovn/mech_driver/ovsdb/commands.py | 64 ++- .../ovn/mech_driver/ovsdb/extensions/placement.py | 8 +- .../drivers/ovn/mech_driver/ovsdb/impl_idl_ovn.py | 35 +- .../drivers/ovn/mech_driver/ovsdb/maintenance.py | 378 +++++++++----- .../drivers/ovn/mech_driver/ovsdb/ovn_client.py | 314 ++++++----- .../drivers/ovn/mech_driver/ovsdb/ovn_db_sync.py | 102 +++- .../drivers/ovn/mech_driver/ovsdb/ovsdb_monitor.py | 115 +++- .../ml2/drivers/ovn/mech_driver/ovsdb/worker.py | 6 +- neutron/plugins/ml2/extensions/dns_integration.py | 38 +- neutron/plugins/ml2/extensions/port_trusted.py | 46 ++ neutron/plugins/ml2/models.py | 2 +- neutron/plugins/ml2/ovo_rpc.py | 110 ++-- neutron/plugins/ml2/plugin.py | 66 ++- neutron/policy.py | 8 +- neutron/scheduler/dhcp_agent_scheduler.py | 7 +- neutron/scheduler/l3_agent_scheduler.py | 6 +- neutron/scheduler/l3_ovn_scheduler.py | 8 +- neutron/server/api_eventlet.py | 11 +- neutron/server/ovn_maintenance.py | 42 ++ neutron/server/periodic_eventlet.py | 38 ++ neutron/service.py | 61 ++- neutron/services/auto_allocate/db.py | 4 +- neutron/services/logapi/drivers/manager.py | 4 +- .../logapi/drivers/openvswitch/ovs_firewall_log.py | 3 +- neutron/services/logapi/drivers/ovn/driver.py | 5 +- neutron/services/logapi/logging_plugin.py | 3 + neutron/services/loki/loki_plugin.py | 6 +- neutron/services/ovn_l3/plugin.py | 14 +- .../ovn_l3/service_providers/user_defined.py | 91 +++- neutron/services/revisions/revision_plugin.py | 6 +- neutron/services/tag/tag_plugin.py | 33 +- neutron/services/trunk/drivers/base.py | 11 +- neutron/services/trunk/drivers/ovn/trunk_driver.py | 26 - neutron/services/trunk/models.py | 2 +- neutron/services/trunk/plugin.py | 27 +- neutron/services/trunk/rpc/backend.py | 3 +- neutron/services/trunk/rpc/server.py | 7 +- .../l3/extensions/test_ndp_proxy_extension.py | 4 + .../agent/ovn/metadata/test_metadata_agent.py | 47 ++ .../mech_driver/ovsdb/extensions/test_placement.py | 11 +- .../drivers/ovn/mech_driver/ovsdb/test_impl_idl.py | 117 ++++- .../ovn/mech_driver/ovsdb/test_maintenance.py | 293 ++++++++--- .../ovn/mech_driver/ovsdb/test_ovn_client.py | 98 +++- .../ovn/mech_driver/ovsdb/test_ovn_db_sync.py | 67 ++- .../ovn/mech_driver/ovsdb/test_ovsdb_monitor.py | 153 +++++- .../drivers/ovn/mech_driver/test_mech_driver.py | 69 ++- .../conntrack_helper/test_conntrack_helper.py | 6 +- .../l3_router/test_l3_dvr_ha_router_plugin.py | 2 +- .../functional/services/ovn_l3/test_plugin.py | 4 +- .../trunk/drivers/ovn/test_trunk_driver.py | 47 +- .../functional/services/trunk/rpc/test_server.py | 4 +- .../agent/common/test_resource_processing_queue.py | 9 + .../linux/openvswitch_firewall/test_firewall.py | 85 ++- .../agent/linux/openvswitch_firewall/test_rules.py | 4 +- .../unit/agent/linux/test_iptables_firewall.py | 16 + .../rpc/agentnotifiers/test_dhcp_rpc_agent_api.py | 1 + .../conf/policies/test_auto_allocated_topology.py | 27 +- .../unit/conf/policies/test_availability_zone.py | 25 +- .../policies/test_default_security_group_rules.py | 26 +- .../unit/conf/policies/test_floatingip_pools.py | 27 +- .../policies/test_floatingip_port_forwarding.py | 27 +- .../unit/conf/policies/test_l3_conntrack_helper.py | 27 +- .../conf/policies/test_local_ip_association.py | 27 +- .../conf/policies/test_network_ip_availability.py | 27 +- .../conf/policies/test_network_segment_range.py | 50 +- .../unit/conf/policies/test_security_group.py | 98 +++- .../test_port_numa_affinity_policy_socket.py | 69 +++ .../extensions/test_port_numa_affinity_policy.py | 6 +- .../objects/port/extensions/test_port_trusted.py | 36 ++ .../ml2/drivers/mech_sriov/agent/test_pci_lib.py | 11 +- .../mech_sriov/agent/test_sriov_nic_agent.py | 30 ++ .../agent/openflow/native/test_br_int.py | 2 +- .../openvswitch/agent/test_ovs_neutron_agent.py | 10 +- .../mech_driver/ovsdb/extensions/test_placement.py | 19 +- .../drivers/ovn/mech_driver/ovsdb/test_commands.py | 54 +- .../ovn/mech_driver/ovsdb/test_maintenance.py | 278 +++++++--- .../ovn/mech_driver/ovsdb/test_ovn_client.py | 92 +++- .../ovn/mech_driver/ovsdb/test_ovn_db_sync.py | 43 +- .../ovn/mech_driver/ovsdb/test_ovsdb_monitor.py | 59 +++ .../drivers/ovn/mech_driver/test_mech_driver.py | 248 +++++++-- .../unit/scheduler/test_dhcp_agent_scheduler.py | 1 + .../unit/scheduler/test_l3_agent_scheduler.py | 3 +- .../services/ovn_l3/service_providers/test_ovn.py | 54 ++ .../ovn_l3/service_providers/test_user_defined.py | 150 +++++- .../services/revisions/test_revision_plugin.py | 13 +- .../trunk/drivers/ovn/test_trunk_driver.py | 4 - neutron/worker.py | 6 +- neutron/{agent/windows => wsgi}/__init__.py | 0 neutron/wsgi/api.py | 31 ++ playbooks/configure_swap.yaml | 3 + ...role-in-the-RBAC-policies-3173cb9bd64836ad.yaml | 7 + ...-extension-for-ml2-plugin-697dc557b0d40b6a.yaml | 17 + ...ids-key-for-static-routes-9d9bc3d7c2c4361f.yaml | 12 + .../add-neutron-wsgi-module-68e2418a0f9124e5.yaml | 22 + ...ser-defined-router-flavor-cafe0d8deeab47b9.yaml | 8 + ...-create-delete-port-bound-a4126054156ce4c2.yaml | 7 + ...adcast-arp-to-all-routers-a9b1b997549d8b2f.yaml | 12 + ...g-from-exception-to-error-7927d91f915046c3.yaml | 6 + ...ve-duplicated-ovn-chassis-fdac8529e7d07c33.yaml | 7 + ...with-ovn-loadbalancer-fip-4e4bda00cf019f71.yaml | 5 + ...acl-comparison-efficiency-9fc1027c37626419.yaml | 8 + ...ort-remote-address-groups-89da589aad3c01d3.yaml | 8 + .../l3-agent-extensions-b348ff26aec0fe88.yaml | 6 +- ...xy-enhance-error-handling-3655404d44249097.yaml | 6 + .../ovn-metadata-workers-fa8a2019f34bd572.yaml | 2 +- ...unnelled-external-network-99cab90643558b74.yaml | 8 + ...n-trunk-check-parent-port-eeca2eceaca9d158.yaml | 6 - ...on-ovn-maintenance-worker-4ba74952d78e4c25.yaml | 7 + ...-neutron-periodic-workers-cbbc99ad1b222d65.yaml | 8 + ...e-suppport-for-windows-os-fd662b7111d3d1b0.yaml | 4 + ...te-disable-has-precedence-2adecdf959dc0f9e.yaml | 7 + ...pport-nested-snat-for-ovn-e4aa3b9af66c905b.yaml | 13 + .../tag-pluggin-post-method-c0bc38f1a8b93861.yaml | 8 + releasenotes/source/2024.1.rst | 6 + releasenotes/source/index.rst | 1 + releasenotes/source/zed.rst | 2 +- requirements.txt | 18 +- setup.cfg | 3 + test-requirements.txt | 2 +- tools/abandon_old_reviews.sh | 23 +- tools/coding-checks.sh | 6 + tox.ini | 62 ++- zuul.d/base.yaml | 17 +- zuul.d/grenade.yaml | 30 +- zuul.d/job-templates.yaml | 54 +- zuul.d/project.yaml | 13 +- zuul.d/rally.yaml | 18 +- zuul.d/tempest-multinode.yaml | 42 +- zuul.d/tempest-singlenode.yaml | 111 +++- 381 files changed, 10185 insertions(+), 3896 deletions(-) Requirements updates -------------------- diff --git a/requirements.txt b/requirements.txt index 101d4f3d57..96991315f0 100644 --- a/requirements.txt +++ b/requirements.txt @@ -11 +11 @@ decorator>=4.1.0 # BSD -eventlet>=0.26.1 # MIT +eventlet>=0.36.1 # MIT @@ -18,2 +18 @@ netaddr>=0.7.18 # BSD -netifaces>=0.10.4 # MIT -neutron-lib>=3.9.0 # Apache-2.0 +neutron-lib>=3.15.0 # Apache-2.0 @@ -29 +28 @@ oslo.concurrency>=3.26.0 # Apache-2.0 -oslo.config>=9.0.0 # Apache-2.0 +oslo.config>=9.4.0 # Apache-2.0 @@ -36 +35 @@ oslo.middleware>=3.31.0 # Apache-2.0 -oslo.policy>=3.12.0 # Apache-2.0 +oslo.policy>=4.4.0 # Apache-2.0 @@ -40,2 +39,2 @@ oslo.rootwrap>=5.15.0 # Apache-2.0 -oslo.serialization>=2.25.0 # Apache-2.0 -oslo.service>=2.8.0 # Apache-2.0 +oslo.serialization>=5.5.0 # Apache-2.0 +oslo.service>=3.5.0 # Apache-2.0 @@ -43 +42 @@ oslo.upgradecheck>=1.3.0 # Apache-2.0 -oslo.utils>=7.0.0 # Apache-2.0 +oslo.utils>=7.3.0 # Apache-2.0 @@ -49 +48 @@ ovs>=2.10.0 # Apache-2.0 -ovsdbapp>=2.3.0 # Apache-2.0 +ovsdbapp>=2.7.1 # Apache-2.0 @@ -60 +58,0 @@ tooz>=1.58.0 # Apache-2.0 -wmi>=1.4.9;sys_platform=='win32' # MIT diff --git a/test-requirements.txt b/test-requirements.txt index cdf72fd136..94ff22efc4 100644 --- a/test-requirements.txt +++ b/test-requirements.txt @@ -1 +1 @@ -coverage!=4.4,>=4.0 # Apache-2.0 +coverage>=4.4.1 # Apache-2.0