We high-spiritedly announce the release of: neutron 26.0.0 This release is part of the epoxy 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. Changes in neutron 25.0.0.0rc1..26.0.0 -------------------------------------- 06822ede3b Implement check_vlan_qinq to return True in SR-IOV mech driver 81a5dec22f Update provider name when migrating to OVN 8f13c84be7 [OVN] Make the Logical_Switch_Port UP event more robust 8b1b627a8e Allow to delete singleton instances 553fe10661 [OVN][Placement] Reduce log level to error when Placement exception cccb9a7b52 Remove flaky batch notifier unit test a6ae148a63 Remove the duplicated YOGA database milestone 33d4cc5068 Revert "[eventlet-removal] Remove eventlet from DHCP agent" f34e332365 Revert "[eventlet-removal] Remove the usage of eventlet in the DHCP agent" b62e7329a1 [OVN][FT] Use MySQL backend for ``TestNBDbMonitor*`` classes 04ddcdcd07 [OVN] Isolate ``test_ovsdb_monitor.TestNBDbMonitor*`` FTs 7be9b5d4f7 [2025.1 only] Switch to 2025.1 neutron-tempest-plugin jobs e090b7d374 Spawn IPv6 metadata proxy only when required fe9ee65ab7 [stable-only] Fix the Neutron milestones list 2e56cd418d Fast exit if "segments" plugin is not loaded 8a2b0f9810 Update TOX_CONSTRAINTS_FILE for stable/2025.1 37a113e6c6 Update .gitreview for stable/2025.1 d52c22bbac [OVN] Do not delete twice the agent from the cache dfea81a4bf [S-RBAC] Fix policies for the SG rules API 6d53662785 [OVN] Do not call ``QoSAddCommand`` without max-bw/DSCP rule 892bd552be [fullstack] Re-implement ``wait_until_true`` with eventlet 1aa71c3cd3 [eventlet-removal] Remove logger mechanism from functional tests 978d0b7bfb [OVN] Retrieve the HA_Chassis_Group in ``_sync_ha_chassis_group`` 392ba369b2 [eventlet-removal] Remove the usage of eventlet in the SR-IOV agent b658c52d83 [QoS] QoS rule check also considers the direction 7997222e40 Add router ``PUT`` external gateways actions policies 71c83f4393 Increase batch notifier interval in unit tests 15ea57f90e agent/linux: remove eventlet usage from ip_lib cde5580bf1 [OVN] Add option to allow configuring dns ovn-owned e4ee14a9ac Drop treatment for CentOS Stream 8 539a41f242 agent/linux: remove eventlet usage from ip_conntrack 7c32d43c4b [eventlet-removal] Remove the usage of eventlet in the DHCP agent f92c677b56 Use openvswitch interface driver by default bdb1850c7d Validate ovn_nb/sb_connection in config parser bc0741e689 [eventlet-removal] Remove eventlet in the Metadata Agent fe1217acf0 Add .mypy_cache directory to the gitignore file 534c2dfdaa [eventlet-removal] Remove eventlet from DHCP agent ec257eb74a [FT] Mark some ``TestNeutronServer`` tests as unstable a0e2b939a9 [eventlet-removal] Replace ``eventlet.spawn_n`` usage 8160f2d20e [OVN][QoS] Don't change the input parameter in ``_add_port_qos_rules`` dad75a8202 Fix wrong rejex for [ovs] ovsdb_connection 9c6d063966 osken: bump version to 3.0.0 3fbb88b472 [ovn][trivial] Add 'empty_string_filtering' extension to OVN 5c6d55c819 Fix some trivial pylint errors in test_utils 9c08eb73ff agent/linux: remove eventlet usage from of_monitor c9b6679b4f Ensure string type in provnet-network-type ext_id 8152b83384 [OVN] Isolate ``test_maintenance.Test*Maintenance`` FTs 9f1fc50de2 Add devstack plugin to enable ovs metadata_path 907a2f6317 Fullstack case for metadata path 7a980b1533 Enable ovsdbapp logging in tests f352a4eb57 ml2/sriov: bind port on segment that subnet belongs 8dd6f62e20 Policy validator "type:list_of_dict*" also contains sub attributes dd617c0fbe Update the resource request in custom made member actions 86f94de99a [eventlet-removal] Remove logger mechanism from remaining ML2/OVN CI jobs 9710673ff5 [OVN] Create a deterministic hash ring node UUID generator 2d8fe38ad5 Update Nova aggregates on changed host mappings b1ebfd62d5 [eventlet-removal] Remove the usage of eventlet in the Neutron API (2) 57e1f20373 [eventlet-removal] Explicitly define the mechanism driver 0433d0846e Replace remaining ovsfw constants df95168a8d Drop useless sanity check of nova notification support 438808f161 Revert "Track all interfaces in Keepalived" ceafa66231 [eventlet-removal] Remove "logger" mechanism from ML2/OVN CI jobs d98d028527 [OVN] Change ``PeriodicWorker`` executor to ``ThreadPoolExecutor`` 91d67c9d4e [eventlet-deprecation] Add a warning message after monkey_patched fa344aa0a9 Remove unneeded parens 71ad55fbd7 Remove dibbler code from l3 agent and elsewhere 0b975a679f Switch dvr grenade job Neutron API WSGI module 6a4cac1c56 Use shared constants for [ovn] ovn_l3_scheduler 8f72fa40c0 Use centralized constants for [ovn] neutron_sync_mode 8a74d953c2 Use native interface to explain choices c574b8acfa Add metadata path extension openflows 455a8a2224 Add basical functionalities for metadata path extension 7618a6146e [OVN][FT] Use MySQL backend for ``Test*Maintenance`` classes f27b795349 Neutron FWAAS vArmour driver was removed 8 years ago 77da6c37e6 ml2/ovs: change log level from DEBUG to INFO for port deletion during binding ce14098010 [OVN] Fix metadata server when body response is empty a962fc636b [FT] Relax the active wait period in ``TestAsyncProcess`` 8cf622d83d QinQ implementation for the ML2/OVN backend e20ef3fa86 QinQ API extension implementation in the Neutron server 0632996b17 [Grenade] Explicitly enable correct neutron services in devstack config be259520ce Add meter bandwidth limit support a81aa17471 OVS: Set log level to INFO for unconfigured ofport cases f44977d094 Fix typo in linuxbridge removal note 87bdfd12a8 Do not assume the existence of a trunk bridge since os-vif may have deleted it 4d242247e7 Check existence of GW port before trying to delete it 1dabdf118d [eventlet-removal] Use non-eventlet metadata proxy in OVN metadata agent b0c02c2892 [eventlet-removal][OVN] Require wsgi start-time in the config 810b224b91 Add limit of tags for every resource c71e705797 polling: remove usage of eventlet.sleep() ec9f2577c8 common: fix wait_until_true to support native thread af4b1da59a async_process: remove usage of eventlet for AsyncProcess f29b2d3a7a async_process: fix potential race condition with respawn 40657fab63 Optionally configure IPv6 metadata address e0c9f4c200 [eventlet-removal] Remove eventlet from ``TestNovaNotify`` 646a5df5b4 [eventlet-removal] Remove ``subprocess_popen`` 725d222ddd [eventlet-removal] Reimplement ``common.utils.spawn_n`` d2a3654e01 Make API policies for tags to be working with resource attributes 3ff599700c [eventlet-removal] Remove the usage of eventlet in the Neutron API 27cbd9821e Don't change original target dict by the OwnerCheck policy rule 3dfaa1dbbc [Functional job] Switch test order to avoid memory issue 25d0273588 Remove linuxbridge driver 47718064b7 tests: Don't assume update outside ovs txn notifies separately from create 466a4f62d2 ovn: Log every time a hash ring node is touched d5404549bb [FT] Reduce arping interval in ``test_send_ipv4_addr_adv_notif`` a12aa9f552 [OVN] Reduce the OVN hash ring touch interval 9a0814c760 Fixup conntrackd support 2cd4e7753d nit: Remove unused updated_at argument for touch_node 3cf0bbbe74 Remove shorturls from code 949b098626 Add option to configure live migration activation strategy for OVN 9568038198 functional: Handle ovsdb monitor returning inserts in different checks adba4b960c Move neutron rally jobs to wsgi 9867f072c1 Fix neutron-status upgrade check tool 7c1853d67d doc: Remove description of CI jobs from documentation 1364715541 Install DVR src to MAC flow for AAPs 9a077bbd7d Use is_cidr_host utils to detect if AAP ip is host in l3_dvr_db d3bc0b920b Synchronize the network segment range initialization 777d582a37 [eventlet-deprecation] Remove ``common.utils.spawn`` 513dec89f5 [eventlet-deprecation] Remove eventlet usage in ``ProcessMonitor`` 2aeba1be1e [OVN] Check if the LRP exists in ``check_provider_distributed_ports`` c7ca16952b Remove unused classes in functional tests b2a6b6cf36 [eventlet-deprecation] Implement a metadata proxy without eventlet cc36b46032 Fix some pylint issues in the test tree 434ef3018e Enable mypy pre-commit hook 9127c121da Bump mypy to 1.14.1 (the latest) 6154d6a3c1 tests: Remove unnecessary hasattr() by always defining attribute c4437501c2 Remove is_bsd skips in test suite db42c669d0 Consume neutron-lib Context class project_id change 2c750b616e [eventlet-deprecation] Nova notifier retrieves local thread 08afd36e54 Make sure that policy enforcer is initialized before use 13522f295c [eventlet-deprecation] Remove eventlet usage in ``BatchNotifier`` 42ac5e8832 doc: Use dnf instead of yum e16ab24cd8 ovn: Disable activation-strategy=rarp for DPDK ports 51528a8023 [eventlet-deprecation] Add a reference document 9b2b7faee6 Setup DVR router ARP for AAP with correct MAC 0c29e730db Catch when the process does not exist when killing it e506a2a793 Switch to OVS/OVN LTS branches a230c6fe77 Import NetNS from pyroute2 0e304fabc1 [OVN] Create a OVN hash ring maintenance thread per worker 47d3859c52 [OVN] Improve ``_ovn_qos_rule`` method, removing unnecesary argument e6c789b196 [OVN] Use the Neutron port ID in ``UpdateLSwitchPortQosOptionsCommand`` 526f238fa4 [OVN] QoS max and min rules should be defined in LSP for phynet ports f7579b1737 [UT/FT] Reduce the vni_ranges in OVN unit tests d080b35782 [OVN] Set always the GW LRP "gateway_mtu" option 73720da72f [OVN] Isolate test_ovn_db_sync.TestOvnNbSync.* FTs 6f06d8fa66 Remove port resource change after unplug 38ab07ed51 Fix psutil 'connections' deprecation warning 5ee7ac1261 Read the environment variable EVENTLET_MONKEYPATCH ad71c927b3 Allow network owner reader to get subnets 046be3978f ml2/ovs: improve log message for ports without VLAN tags/net-id during OVS restore fa1dfd81c3 [OVN] Use the MySQL backend for the ``TestOvnNbSync`` tests (2) a475aefdcb [functional][CI] split tests in more runs a3689956dd Revert "[HA] Do not add initial state change delay in HA router" ea5a8d3123 Accept both error 400 and 500 in the vlan_transparent unit tests dce01d7550 Fast exit when initially creating tunnel allocations 865097c689 [OVN] Improve initial hash ring setup bedb19bb22 Prevent calling "monkey_patch" more than once ce6e2d87c5 Use the correct input for OVN agent deletion 7c8be3ccbc [OVN] Optimization in the router port options generation 95a8101de2 Support Guru Meditation Report(GMR) in agents 6e4891f68d Fix invalid url in OVN doc b7b7a31472 Add a detailed debug message in case of segment allocation fail bb2f8edaa8 Set IP/MAC address on VPNaaS gateway port (OVN) 498b0258c5 Fix setting up functional test environment 813e743f06 [Fullstack] Don't assert no connectivity after host is stopped 498be543e0 Add extension "uplink-status-propagation-updatable" 497cd55031 Bump cirros version to 0.6.3 2f8dd4919b [OVN] Update the LRP gateway_mtu when the external network changes 9a62ddec03 Update tempest jobs for Ubuntu Noble (24.04) 32cade4185 Add a repr method to fixture ``Host`` 3a0f7bcb97 Drop duplicate hacking check 07b34c598f Drop zuul_work_dir var from neutron-functional job fb75d3c4f1 Fix the tagging policy engine f3ae342143 Bump requests to 2.32.3 9983ca66eb Bump httplib2 to 0.22.0 7a12f34b1b Bump psutil to 6.1.0 54dba256ea [FT] ``Queue.external_ids:queue-num`` should be a number 6aaf293ffd Add policy enforcer for QoS policy "tags" service plugin 078a48d803 Replace ``ReaderWriterLock`` with ``threading.RLock`` 3e05a034c4 Migrate from tenant_id to project_id in ``test_network.py`` 90d836bc42 Filter out the floating IPs when removing a shared RBAC 6d1dba0992 [OVN] Add a creation wait event for the PG drop tests abb527d1e4 [OVN] Use the MySQL backend for the ``TestOvnNbSync`` tests d8457e4bc1 [OVN] Implement a utility method to retrieve the Neutron name 09e13ffad0 Make grenade jobs work with Neutron API WSGI module 2d314a752e ovn: don't log about rev number bumped when it was not bumped 44c9639eb3 Bump os-ken version to 2.11.2 0415d3a41a Remove all eventlet Neutron API jobs 54b143c69a functional: Don't assume privsep-helper is installed in virtualenv 95a7cac499 Drop reference to removed services b164d67f45 Add conntrackd support to HA routers in L3 agent 6183792316 Enable no-else-return pylint check 0d8ae9f0f2 tests: Remove skip_if_ovs_older_than decorator from a test case 3409016f6e docs: Fix typo in openstack create subnet command 2a784fe697 Set a new removal release for ``set_network_type`` 418c479569 Imported Translations from Zanata 315ca9db17 functional: Allow to override OS_FAIL_ON_MISSING_DEPS 068056a62e reno: Update master for unmaintained/2023.1 f511679233 functional: Install ovn packages when it's not compiled e18aad3e6c fullstack: Log router and active hosts when there are too many dd5dac8e40 [OVN] Remove maintenance method ``add_provider_resource_association_to_routers`` 7272bb0e4b Add new RBAC policies only for "target_project" 90264aca8e Bump ovs library minimum version to 2.12.0 081b2e6fc7 Make ``DriverBase.is_loaded`` a property 5828c43c90 [OVN] Do not update a deleted Logical_Switch_Port 100aae9832 Bump hacking to 7.0.0 82a57ef980 refactor: Move hacking dependency from tox.ini to test-reqs 6148ba9077 Remove default override for config options policy_file 9f8509a3f4 [OVN] The Port_Group deletion implies the ACLs deletion 3f29ba5cdf mypy: enable for all non-test modules 51a823ae2c Fix dependencies for mypy tox target d8884a99e0 OVN metadata agent additional_chassis detection 8d9113664a Return rc != 0 on invalid neutron-ovn-db-sync-util cli options 911ffc3c40 nit: Add info about ovn version with additional_chassis 99bb854c81 Use set_nb_global_options in maintenance task 6b7377f414 docs: Remove archives f28a158b9f tests: move test_db_base_plugin_v2.py to common 0867ce839f Increase code coverage for OVN metadata port sync a6392b56fd Start enforcing additional pylint checks df177b15db [Fullstack] Use only one keepalived-state-change thread in L3 agent e0ee8bd772 [OVN] Create the SG rules revision number registers 648d6a5ee1 style: Clarify a check for mixed stateful/stateless SGs 919b4f6d68 gate: squash mypy into pep8 job 16e4f0af89 Remove postgresql code 48cb4e6a19 tests: always raise an explanation when status_int is wrong 0a450eeab6 rpc/dhcp: avoid get_network_info to return segments if not needed c0bdb0c8a3 [OVN] Check LSP.up status before setting the port host info 822edc31c8 Enable pylint useless-super-delegation check 34b0ce6aea Add Neutron API eventlet experimental jobs 9bd0b21a37 [OVN] Delete duplicated OVN resource type constants 01e5aad630 Replace netutils function to keep non-strict IPv4 check a298a37fe7 [OVN] Fix the revision number retrieval method f2d76280dc Use hasattr instead of getattr 9bfd15edf5 pyupgrade changes for Python3.9+ dadc29d444 pyupgrade changes for Python3.9+ 706a24e298 pyupgrade changes for Python3.9+ fd0c797254 doc: document available DNS-related values for ml2 extension_drivers 5d2e7b4c1a Update allowed address pair documentation 7fe20024ef zuul: Explicitly set NEUTRON_DEPLOY_MOD_WSGI becb1a1343 Remove dhcp.PORTS attribute 26fdf6a31f Skip functional tests on pre-commit config update 783d87dfea [OVN] Support address group for ovn driver 36cc7f7cbb Cleanup of the veth related code from ovs agent f8b33fa983 Bump actual minimum python version 4b032bdbb2 [OVN] Update lsp host id when cr port is updated with chassis 63d14a3ff2 Skip LSP host info update for trunk subports a03afc1bc2 Exit fast checking the external network default 0feb85c8cb Add migration_cli.py to mypy exclude list 58c97e1772 doc: Drop AvailabilityZoneFilter a524e1a07e [OVN] Remove maintenance method ``add_vnic_type_and_pb_capabilities_to_lsp`` 6e27923535 [OVN] Remove maintenance method ``add_gw_port_info_to_logical_router_port`` 87a0fc5d70 [OVN] Remove maintenance method ``create_router_extra_attributes_registers`` a0cc380096 [OVN] Remove maintenance method ``check_for_mcast_flood_reports`` 9347c427b5 [OVN] Remove maintenance method ``check_port_has_address_scope`` 3552c334c0 [WSGI] Move all OVS jobs to use WSGI API module (2) 7919126e81 AddressGroup API collection should be the resource name in plural b11ca32c68 ut: Remove unused method 232d1d26ea "security_group_rules" is not a SG selectable field a0709a8240 Use 'port-trusted-vif' api extension definition from neutron-lib 0f8f73caf6 Replace deprecated is_advsvc adbc3e23b7 Optimize the SG rule retrieval 6fb6c67e44 Replace ``greenthread.sleep`` with ``time.sleep`` 1ae72d6c29 Pass one single input parameter to ``TestCase.fail`` d9e580f5e5 Use the constant UNLIMITED_QUOTA=-1 in quota engine 634cb25d52 [Fullstack] Add active waiting for one HA agent to be active for router 81375f0b2b Add special treatment for 'any' in SG rule API 6970f39a49 [CI] Functional: Increase Ulimit to 4096 7b7f8d986a [OVN] Check metadata HA proxy configuration before restart 03a976d933 Fix wrong handling of IPv6 ovsdb_connection 2f6c9b9994 refactor: remove do_notify argument for disassociate_floatingips 1300110ccb Set distributed flag to NB_Global 969de2944a Drop usage of importlib_metadata add74d8955 Ensure the OVSDB and ovn-northd process stop 79ad54f6b7 Remove the sleep calls in the ``create_or_update_agent`` method 1a4f311be7 refactor: use a more appropriate name for a mock b7fe561d09 Get rid of pkg_resources 3776c90db2 Remove deprecated OVN LR external_id options 326fcbafd9 Deprecate ovn_emit_need_to_frag option c3b9c44f36 Flip ovn_emit_need_to_frag to True by default 4af0d333aa Add logging details of the http response in the unit tests 7d139a013b Add RST linting to neutron fb52de507d Make mypy job voting f397b79836 tests: Expand coverage for ovn_emit_need_to_frag=True e163bb5b6c mypy: Use tuple type for SUPPORTED_LOGGING_TYPES 3c4eed607c Fix a wrong assertion method 16fc47127a Disable the OVN/OVS WGSI experimental jobs 598c05ab6a Do not dispose local_vlan_hints f68119c09b Remove workaround for eventlet < 0.27.0 3abce4c6d8 ovn: Clean up code to handle old versions with no stateless acl support a859760323 Neutron quota engine checks the resource usage by default fdcd98464b refactor: use the new py39 `dict | dict` syntax to make a union 943d26da20 Add initial mypy job 144e140e75 Use the declarative attribute ``standard_attr_id`` 770ce6150a [Functional tests] Add logging router interfaces in metadata IPv6 tests 5db476c0d1 Remove logic for Windows operating systems 8ffb9d0fa7 Remove remaining figure for TripleO installation document e78a2768c0 Drop workaround for eventlet < 0.22.0 ae4b4300f9 Convert [ml2] physical_network_mtus to DictOpt 2eba495e22 Drop ovn migration for TripleO deployments 631f641808 Remove upgrade check for old removed options 3997367300 Remove install document for TripleO deployments d622e264c7 Fix usage of removed external_network_bridge option 8aa67711f6 refactor: remove some unused variables b8c53fae43 i18n: add missing translation markers 1e6ab531e2 Use neutron-lib constants IPv4_ANY and IPv6_ANY c1eac4fe7e refactor: construct member dict in one go 48d4e6a6b3 refactor: split out code to verify a lb member into a function cc386fcc24 refactor: don't calculate list of attached lbs for every lb 449dde1798 refactor: unindent some indents in _handle_lb_fip_cmds 6546b285bf refactor: slightly more explicit return value e3afed4087 refactor: don't serialize all switches on each lb checked d8a4ad9167 Correct logic error when associating FIP with OVN LB e1154bff2a Use py312 for all neutron jobs c1b05e29ad Change the load method of SG rule "default_security_group" 7d1a20ed4d Handle EndpointNotFound in nova notifier 0645902606 Update jobs based on testing runtime for 2025.1 15f2b89f10 Bump skip-level lower version to stable/2024.1 987924fb22 Update master for stable/2024.2 51f4f7a176 Degrade openstack-tox-py311-with-sqlalchemy-master to periodic bd64937eec Open the 2025.1 (Epoxy) DB branch 291dfe9524 Add source interface in "ping" command in ``ARPSpoofTestCase`` 6bb9535c45 Allow ml2 drivers to start their own RPC listeners 3a544479aa zuul: Move ovs-master and ovs-lts jobs to periodic queue deb99de993 [WSGI] Move all OVN jobs to use WSGI API module 1a440dd61b Modify the default SG rule count logic when creating SG ab94c6b021 Enable liberal TCP connection tracking for SNAT namespaces Diffstat (except docs and test files) ------------------------------------- .coveragerc | 1 - .gitignore | 1 + .gitreview | 1 + .pre-commit-config.yaml | 10 + .pylintrc | 14 - HACKING.rst | 1 - TESTING.rst | 58 +- bindep.txt | 10 +- devstack/lib/metadata_path | 7 + devstack/lib/octavia | 12 - devstack/lib/uplink_status_propagation | 1 + devstack/ml2-ovs-compute-local.conf.sample | 2 + devstack/plugin.sh | 12 +- .../admin/archives/adv-operational-features.rst | 123 - .../admin/archives/figures/vmware_nsx_ex1.graffle | Bin 3732 -> 0 bytes .../admin/archives/figures/vmware_nsx_ex1.png | Bin 103806 -> 0 bytes .../admin/archives/figures/vmware_nsx_ex1.svg | 3 - .../admin/archives/figures/vmware_nsx_ex2.graffle | Bin 3594 -> 0 bytes .../admin/archives/figures/vmware_nsx_ex2.png | Bin 93105 -> 0 bytes .../admin/archives/figures/vmware_nsx_ex2.svg | 3 - .../deploy-provider-verifynetworkoperation.txt | 0 .../deploy-selfservice-verifynetworkoperation.txt | 0 .../figures/deploy-lb-ha-vrrp-compconn1.graffle | Bin 7584 -> 0 bytes .../admin/figures/deploy-lb-ha-vrrp-compconn1.png | Bin 217060 -> 0 bytes .../admin/figures/deploy-lb-ha-vrrp-compconn1.svg | 3 - .../figures/deploy-lb-ha-vrrp-overview.graffle | Bin 6290 -> 0 bytes .../admin/figures/deploy-lb-ha-vrrp-overview.png | Bin 180134 -> 0 bytes .../admin/figures/deploy-lb-ha-vrrp-overview.svg | 3 - .../figures/deploy-lb-provider-compconn1.graffle | Bin 4405 -> 0 bytes .../admin/figures/deploy-lb-provider-compconn1.png | Bin 86476 -> 0 bytes .../admin/figures/deploy-lb-provider-compconn1.svg | 3 - .../figures/deploy-lb-provider-compconn2.graffle | Bin 5234 -> 0 bytes .../admin/figures/deploy-lb-provider-compconn2.png | Bin 120732 -> 0 bytes .../admin/figures/deploy-lb-provider-compconn2.svg | 3 - .../figures/deploy-lb-provider-flowew1.graffle | Bin 4591 -> 0 bytes .../admin/figures/deploy-lb-provider-flowew1.png | Bin 97932 -> 0 bytes .../admin/figures/deploy-lb-provider-flowew1.svg | 3 - .../figures/deploy-lb-provider-flowew2.graffle | Bin 5152 -> 0 bytes .../admin/figures/deploy-lb-provider-flowew2.png | Bin 104896 -> 0 bytes .../admin/figures/deploy-lb-provider-flowew2.svg | 3 - .../figures/deploy-lb-provider-flowns1.graffle | Bin 4415 -> 0 bytes .../admin/figures/deploy-lb-provider-flowns1.png | Bin 73881 -> 0 bytes .../admin/figures/deploy-lb-provider-flowns1.svg | 3 - .../figures/deploy-lb-provider-overview.graffle | Bin 4925 -> 0 bytes .../admin/figures/deploy-lb-provider-overview.png | Bin 117999 -> 0 bytes .../admin/figures/deploy-lb-provider-overview.svg | 3 - .../deploy-lb-selfservice-compconn1.graffle | Bin 6052 -> 0 bytes .../figures/deploy-lb-selfservice-compconn1.png | Bin 143274 -> 0 bytes .../figures/deploy-lb-selfservice-compconn1.svg | 3 - .../figures/deploy-lb-selfservice-flowew1.graffle | Bin 4128 -> 0 bytes .../figures/deploy-lb-selfservice-flowew1.png | Bin 75613 -> 0 bytes .../figures/deploy-lb-selfservice-flowew1.svg | 3 - .../figures/deploy-lb-selfservice-flowew2.graffle | Bin 5154 -> 0 bytes .../figures/deploy-lb-selfservice-flowew2.png | Bin 118717 -> 0 bytes .../figures/deploy-lb-selfservice-flowew2.svg | 3 - .../figures/deploy-lb-selfservice-flowns1.graffle | Bin 4943 -> 0 bytes .../figures/deploy-lb-selfservice-flowns1.png | Bin 105312 -> 0 bytes .../figures/deploy-lb-selfservice-flowns1.svg | 3 - .../figures/deploy-lb-selfservice-flowns2.graffle | Bin 4928 -> 0 bytes .../figures/deploy-lb-selfservice-flowns2.png | Bin 105383 -> 0 bytes .../figures/deploy-lb-selfservice-flowns2.svg | 3 - .../figures/deploy-lb-selfservice-overview.graffle | Bin 6387 -> 0 bytes .../figures/deploy-lb-selfservice-overview.png | Bin 183387 -> 0 bytes .../figures/deploy-lb-selfservice-overview.svg | 3 - .../admin/figures/scenario-classic-mt-services.svg | 2 +- .../deploy-ha-vrrp-verifynetworkoperation.txt | 2 +- .../shared/deploy-selfservice-initialnetworks.txt | 36 +- .../configuration/samples/linuxbridge-agent.rst | 8 - .../contributor/client_command_extensions.rst | 4 +- .../contributor/internals/agent_extensions.rst | 3 +- .../contributor/internals/api_extensions.rst | 3 +- .../internals/external_dns_integration.rst | 4 +- .../contributor/internals/l2_agent_extensions.rst | 11 - .../contributor/internals/linuxbridge_agent.rst | 45 - .../contributor/internals/openvswitch_agent.rst | 152 +- .../contributor/internals/openvswitch_firewall.rst | 6 +- .../internals/ovn/database_consistency.rst | 4 +- .../internals/ovn/l3_ha_rescheduling.rst | 3 +- .../internals/ovn/ovn_network_logging.rst | 49 +- .../contributor/internals/ovn/port_forwarding.rst | 2 +- .../contributor/internals/quality_of_service.rst | 73 +- .../contributor/internals/security_group_api.rst | 35 +- .../contributor/internals/services_and_agents.rst | 4 +- .../contributor/internals/sriov_nic_agent.rst | 16 +- .../policies/contributor-onboarding.rst | 19 +- .../contributor/policies/gate-failure-triage.rst | 92 +- .../contributor/policies/release-checklist.rst | 6 +- .../contributor/testing/ci_scenario_jobs.rst | 176 -- .../testing/db_transient_failure_injection.rst | 4 +- .../contributor/testing/ml2_ovn_devstack.rst | 4 +- .../contributor/testing/ml2_ovs_devstack.rst | 7 +- .../testing/template_model_sync_test.rst | 30 +- .../feature_classification_introduction.rst | 3 +- .../general_feature_support_matrix.ini | 17 - .../provider_network_support_matrix.ini | 7 - .../install/common/get-started-networking.rst | 4 +- .../install/controller-install-option1-obs.rst | 7 +- .../install/controller-install-option1-rdo.rst | 10 +- .../install/controller-install-option1-ubuntu.rst | 7 +- .../install/controller-install-option2-obs.rst | 21 +- .../install/controller-install-option2-rdo.rst | 24 +- .../install/controller-install-option2-ubuntu.rst | 22 +- .../install/ovn/figures/tripleo-ovn-arch.png | Bin 115804 -> 0 bytes .../install/ovn/figures/tripleo-ovn-arch.svg | 3175 -------------------- etc/neutron/rootwrap.d/rootwrap.filters | 6 +- etc/oslo-config-generator/linuxbridge_agent.ini | 6 - mypy.ini | 20 + neutron/agent/agent_extensions_manager.py | 2 +- neutron/agent/common/async_process.py | 78 +- neutron/agent/common/base_agent_rpc.py | 2 +- neutron/agent/common/base_polling.py | 2 +- neutron/agent/common/ovs_lib.py | 26 +- neutron/agent/common/ovsdb_monitor.py | 12 +- neutron/agent/common/placement_report.py | 22 +- neutron/agent/common/polling.py | 9 +- neutron/agent/common/resource_processing_queue.py | 6 +- neutron/agent/dhcp/agent.py | 40 +- neutron/agent/dhcp_agent.py | 1 + neutron/agent/firewall.py | 2 +- neutron/agent/l2/extensions/dhcp/base.py | 2 +- neutron/agent/l2/extensions/dhcp/extension.py | 2 +- neutron/agent/l2/extensions/dhcp/ipv4.py | 2 +- neutron/agent/l2/extensions/dhcp/ipv6.py | 12 +- neutron/agent/l2/extensions/fdb_population.py | 17 +- neutron/agent/l2/extensions/local_ip.py | 8 +- .../l2/extensions/metadata/host_metadata_proxy.py | 11 +- .../extensions/metadata/metadata_flows_process.py | 298 ++ .../agent/l2/extensions/metadata/metadata_path.py | 463 +++ neutron/agent/l2/extensions/qos.py | 8 +- neutron/agent/l2/l2_agent_extensions_manager.py | 3 +- neutron/agent/l3/agent.py | 60 +- neutron/agent/l3/dvr.py | 4 +- neutron/agent/l3/dvr_edge_ha_router.py | 20 +- neutron/agent/l3/dvr_edge_router.py | 51 +- neutron/agent/l3/dvr_fip_ns.py | 6 +- neutron/agent/l3/dvr_local_router.py | 41 +- neutron/agent/l3/dvr_router_base.py | 4 +- neutron/agent/l3/dvr_snat_ns.py | 6 +- neutron/agent/l3/extensions/conntrack_helper.py | 8 +- neutron/agent/l3/extensions/ndp_proxy.py | 6 +- neutron/agent/l3/extensions/port_forwarding.py | 12 +- neutron/agent/l3/extensions/qos/base.py | 4 +- neutron/agent/l3/extensions/qos/fip.py | 8 +- neutron/agent/l3/fip_rule_priority_allocator.py | 15 +- neutron/agent/l3/ha.py | 64 +- neutron/agent/l3/ha_router.py | 130 +- neutron/agent/l3/item_allocator.py | 7 +- neutron/agent/l3/keepalived_state_change.py | 73 +- neutron/agent/l3/l3_agent_extension_api.py | 5 +- neutron/agent/l3/l3_agent_extensions_manager.py | 3 +- neutron/agent/l3/link_local_allocator.py | 15 +- neutron/agent/l3/namespace_manager.py | 4 +- neutron/agent/l3/namespaces.py | 35 +- neutron/agent/l3/router_info.py | 117 +- neutron/agent/l3_agent.py | 2 +- neutron/agent/linux/bridge_lib.py | 14 +- neutron/agent/linux/conntrackd.py | 246 ++ neutron/agent/linux/daemon.py | 12 +- neutron/agent/linux/dhcp.py | 109 +- neutron/agent/linux/dibbler.py | 193 -- neutron/agent/linux/external_process.py | 78 +- neutron/agent/linux/interface.py | 56 +- neutron/agent/linux/ip_conntrack.py | 15 +- neutron/agent/linux/ip_lib.py | 71 +- neutron/agent/linux/ipset_manager.py | 8 +- neutron/agent/linux/iptables_firewall.py | 18 +- neutron/agent/linux/iptables_manager.py | 30 +- neutron/agent/linux/keepalived.py | 50 +- neutron/agent/linux/l3_tc_lib.py | 4 +- neutron/agent/linux/of_monitor.py | 23 +- .../agent/linux/openvswitch_firewall/constants.py | 5 - .../agent/linux/openvswitch_firewall/firewall.py | 80 +- .../agent/linux/openvswitch_firewall/iptables.py | 2 +- neutron/agent/linux/openvswitch_firewall/rules.py | 17 +- neutron/agent/linux/pd.py | 423 --- neutron/agent/linux/pd_driver.py | 53 - neutron/agent/linux/ra.py | 2 +- neutron/agent/linux/tc_lib.py | 7 +- neutron/agent/linux/utils.py | 46 +- neutron/agent/metadata/agent.py | 189 +- neutron/agent/metadata/driver_base.py | 128 +- neutron/agent/metadata/proxy_base.py | 25 +- neutron/agent/metadata_agent.py | 1 + neutron/agent/ovn/agent/ovn_neutron_agent.py | 8 + neutron/agent/ovn/agent/ovsdb.py | 31 +- neutron/agent/ovn/extensions/extension_manager.py | 2 +- neutron/agent/ovn/extensions/metadata.py | 20 +- neutron/agent/ovn/extensions/qos_hwol.py | 24 +- neutron/agent/ovn/metadata/agent.py | 61 +- neutron/agent/ovn/metadata/ovsdb.py | 10 +- neutron/agent/ovn/metadata/server.py | 12 +- neutron/agent/ovn/metadata/server_socket.py | 222 ++ neutron/agent/ovn/metadata_agent.py | 1 + neutron/agent/ovn/ovn_neutron_agent.py | 10 +- neutron/agent/ovsdb/api.py | 4 +- neutron/agent/ovsdb/impl_idl.py | 2 +- neutron/agent/ovsdb/native/connection.py | 8 +- neutron/agent/resource_cache.py | 15 +- neutron/agent/rpc.py | 10 +- neutron/agent/securitygroups_rpc.py | 69 +- neutron/api/api_common.py | 63 +- neutron/api/extensions.py | 19 +- .../api/rpc/agentnotifiers/dhcp_rpc_agent_api.py | 2 +- neutron/api/rpc/agentnotifiers/l3_rpc_agent_api.py | 2 +- .../rpc/agentnotifiers/metering_rpc_agent_api.py | 2 +- neutron/api/rpc/agentnotifiers/utils.py | 2 +- neutron/api/rpc/callbacks/resource_manager.py | 6 +- neutron/api/rpc/callbacks/version_manager.py | 15 +- neutron/api/rpc/handlers/dhcp_rpc.py | 36 +- neutron/api/rpc/handlers/dvr_rpc.py | 15 +- neutron/api/rpc/handlers/l3_rpc.py | 25 +- neutron/api/rpc/handlers/metadata_rpc.py | 2 +- neutron/api/rpc/handlers/resources_rpc.py | 16 +- neutron/api/rpc/handlers/securitygroups_rpc.py | 33 +- neutron/api/v2/base.py | 84 +- neutron/api/views/versions.py | 2 +- neutron/api/wsgi.py | 27 +- .../drivers/linuxbridge => cmd/agents}/__init__.py | 0 .../agents/metadata.py} | 17 +- neutron/cmd/{eventlet => }/agents/ovn_metadata.py | 2 +- .../cmd/{eventlet => }/agents/ovn_neutron_agent.py | 4 +- neutron/cmd/destroy_patch_ports.py | 2 +- neutron/cmd/eventlet/agents/dhcp.py | 2 +- neutron/cmd/eventlet/agents/l3.py | 2 +- neutron/cmd/eventlet/agents/metadata.py | 2 +- .../eventlet/plugins/linuxbridge_neutron_agent.py | 28 - .../cmd/eventlet/plugins/macvtap_neutron_agent.py | 2 +- neutron/cmd/eventlet/plugins/ovs_neutron_agent.py | 2 +- neutron/cmd/eventlet/server/__init__.py | 5 - neutron/cmd/eventlet/services/metering_agent.py | 2 +- neutron/cmd/linuxbridge_cleanup.py | 75 - neutron/cmd/netns_cleanup.py | 6 +- neutron/cmd/ovn/neutron_ovn_db_sync_util.py | 29 +- neutron/cmd/ovs_cleanup.py | 2 +- neutron/cmd/pd_notify.py | 38 - .../linuxbridge/agent => cmd/plugins}/__init__.py | 0 .../plugins/sriov_nic_neutron_agent.py | 2 +- neutron/cmd/sanity/checks.py | 33 +- neutron/cmd/sanity_check.py | 31 +- .../common/config.py => cmd/server/__init__.py} | 10 +- neutron/cmd/upgrade_checks/base.py | 2 +- neutron/cmd/upgrade_checks/checks.py | 166 +- neutron/common/_constants.py | 11 + neutron/common/_deprecate.py | 10 +- neutron/common/cache_utils.py | 5 +- neutron/common/config.py | 16 +- neutron/common/eventlet_utils.py | 50 +- neutron/common/ipv6_utils.py | 4 +- neutron/common/ovn/acl.py | 69 +- neutron/common/ovn/constants.py | 56 +- neutron/common/ovn/extensions.py | 10 +- neutron/common/ovn/hash_ring_manager.py | 8 +- neutron/common/ovn/utils.py | 84 +- neutron/common/utils.py | 134 +- neutron/common/wsgi_utils.py | 58 + neutron/conf/agent/common.py | 39 +- neutron/conf/agent/l2_ext_fdb_population.py | 4 +- neutron/conf/agent/l3/config.py | 53 +- neutron/conf/agent/l3/ha.py | 35 + neutron/conf/agent/l3/keepalived.py | 3 + neutron/conf/agent/ovn/metadata/config.py | 1 + neutron/conf/agent/ovsdb_api.py | 1 + neutron/conf/common.py | 12 +- neutron/conf/db/migration_cli.py | 19 +- neutron/conf/experimental.py | 7 +- neutron/conf/plugins/ml2/config.py | 14 +- neutron/conf/plugins/ml2/drivers/linuxbridge.py | 117 - neutron/conf/plugins/ml2/drivers/ovn/ovn_conf.py | 157 +- neutron/conf/plugins/ml2/drivers/ovs_conf.py | 39 +- neutron/conf/policies/base.py | 13 + neutron/conf/policies/floatingip.py | 28 +- neutron/conf/policies/network.py | 29 +- neutron/conf/policies/network_segment_range.py | 28 +- neutron/conf/policies/port.py | 42 +- neutron/conf/policies/qos.py | 73 + neutron/conf/policies/rbac.py | 82 +- neutron/conf/policies/router.py | 115 +- neutron/conf/policies/security_group.py | 41 +- neutron/conf/policies/subnet.py | 46 +- neutron/conf/policies/subnetpool.py | 39 +- neutron/conf/policies/trunk.py | 36 +- neutron/conf/services/extdns_designate_driver.py | 8 +- neutron/core_extensions/base.py | 2 +- neutron/db/_utils.py | 3 +- neutron/db/address_group_db.py | 3 +- neutron/db/agents_db.py | 32 +- neutron/db/agentschedulers_db.py | 51 +- neutron/db/allowedaddresspairs_db.py | 2 +- neutron/db/data_plane_status_db.py | 2 +- neutron/db/db_base_plugin_common.py | 21 +- neutron/db/db_base_plugin_v2.py | 25 +- neutron/db/dns_db.py | 31 +- neutron/db/dvr_mac_db.py | 33 +- neutron/db/external_net_db.py | 4 +- neutron/db/extradhcpopt_db.py | 2 +- neutron/db/extraroute_db.py | 5 +- neutron/db/flavors_db.py | 2 +- neutron/db/ipam_backend_mixin.py | 14 +- neutron/db/ipam_pluggable_backend.py | 4 +- neutron/db/l3_agentschedulers_db.py | 11 +- neutron/db/l3_attrs_db.py | 2 +- neutron/db/l3_db.py | 102 +- neutron/db/l3_dvr_db.py | 33 +- neutron/db/l3_dvr_ha_scheduler_db.py | 3 +- neutron/db/l3_dvrscheduler_db.py | 7 +- neutron/db/l3_extra_gws_db.py | 9 +- neutron/db/l3_fip_pools_db.py | 2 +- neutron/db/l3_fip_port_details.py | 2 +- neutron/db/l3_fip_qos.py | 2 +- neutron/db/l3_gateway_ip_qos.py | 6 +- neutron/db/l3_gwmode_db.py | 4 +- neutron/db/l3_hamode_db.py | 18 +- neutron/db/local_ip_db.py | 5 +- neutron/db/metering/metering_rpc.py | 34 +- neutron/db/migration/__init__.py | 91 +- .../migration/alembic_migrations/dvr_init_opts.py | 2 +- neutron/db/migration/alembic_migrations/env.py | 7 +- .../alembic_migrations/loadbalancer_init_ops.py | 16 +- ...19773d7_create_l3harouternetwork_project_id_.py | 2 +- .../2023.2/expand/6f1145bff34c_port_hints.py | 4 +- .../5bcb7b31ec7d_add_port_trusted_attribute.py | 6 + ...9f07c5c_add_vlan_qinq_column_to_the_network_.py | 35 + .../alembic_migrations/versions/EXPAND_HEAD | 2 +- .../7d9d8eeec6ad_rename_tenant_to_project.py | 3 +- ...9da_qos_add_direction_to_bw_limit_rule_table.py | 16 +- ...dfe425060830_limit_vlan_allocation_id_values.py | 2 - .../fd6107509ccd_ovn_distributed_device_owner.py | 2 +- ...8d6f371_rbac_target_tenant_to_target_project.py | 7 +- .../expand/ba859d649675_add_indexes_to_rbacs.py | 4 +- .../c181bb1d89e4_qos_minimum_packet_rate_rules.py | 5 - .../5881373af7f5_delete_sgpb_on_sg_deletion.py | 5 +- neutron/db/migration/autogen.py | 13 +- neutron/db/migration/cli.py | 11 +- neutron/db/migration/connection.py | 2 +- neutron/db/models/address_group.py | 2 +- neutron/db/models/agent.py | 2 +- neutron/db/models/network_segment_range.py | 4 +- neutron/db/models/securitygroup.py | 2 +- neutron/db/models_v2.py | 9 +- neutron/db/network_ip_availability_db.py | 2 +- neutron/db/ovn_hash_ring_db.py | 85 +- neutron/db/ovn_revision_numbers_db.py | 72 +- neutron/db/port_device_profile_db.py | 2 +- neutron/db/port_hardware_offload_type_db.py | 2 +- neutron/db/port_hints_db.py | 2 +- neutron/db/port_numa_affinity_policy_db.py | 7 +- neutron/db/port_trusted_db.py | 4 +- neutron/db/portsecurity_db_common.py | 2 +- neutron/db/qinq_db.py | 27 + neutron/db/quota/api.py | 8 +- neutron/db/quota/driver.py | 27 +- neutron/db/quota/driver_nolock.py | 5 +- neutron/db/rbac_db_mixin.py | 2 +- neutron/db/securitygroups_db.py | 128 +- neutron/db/securitygroups_rpc_base.py | 17 +- neutron/db/segments_db.py | 28 +- neutron/db/servicetype_db.py | 2 +- neutron/db/standardattrdescription_db.py | 2 +- neutron/db/subnet_service_type_mixin.py | 2 +- neutron/db/uplink_status_propagation_db.py | 13 +- neutron/db/vlantransparent_db.py | 2 +- neutron/extensions/address_group.py | 2 +- neutron/extensions/address_scope.py | 2 +- neutron/extensions/agent.py | 2 +- neutron/extensions/availability_zone.py | 2 +- neutron/extensions/dhcpagentscheduler.py | 2 +- neutron/extensions/dvr.py | 2 +- neutron/extensions/floatingip_pools.py | 2 +- neutron/extensions/l3.py | 2 +- neutron/extensions/l3agentscheduler.py | 2 +- .../metering_source_and_destination_fields.py | 3 +- neutron/extensions/network_availability_zone.py | 2 +- neutron/extensions/port_trusted_vif.py | 62 +- neutron/extensions/qinq.py | 48 + neutron/extensions/qos_bw_limit_direction.py | 3 +- neutron/extensions/quota_check_limit_default.py | 65 + neutron/extensions/quotasv2.py | 30 +- neutron/extensions/router_availability_zone.py | 2 +- .../extensions/security_groups_default_rules.py | 2 +- neutron/extensions/securitygroup.py | 28 +- neutron/extensions/segment.py | 2 +- neutron/extensions/tagging.py | 284 +- .../uplink_status_propagation_updatable.py} | 13 +- neutron/hacking/checks.py | 11 - neutron/ipam/driver.py | 6 +- neutron/ipam/drivers/neutrondb_ipam/db_api.py | 2 +- neutron/ipam/drivers/neutrondb_ipam/db_models.py | 2 +- neutron/ipam/drivers/neutrondb_ipam/driver.py | 2 +- neutron/ipam/exceptions.py | 2 +- neutron/ipam/requests.py | 66 +- neutron/ipam/subnet_alloc.py | 13 +- neutron/ipam/utils.py | 15 +- neutron/locale/de/LC_MESSAGES/neutron.po | 40 +- neutron/locale/es/LC_MESSAGES/neutron.po | 38 +- neutron/locale/fr/LC_MESSAGES/neutron.po | 35 +- neutron/locale/it/LC_MESSAGES/neutron.po | 30 +- neutron/locale/ja/LC_MESSAGES/neutron.po | 30 +- neutron/locale/ko_KR/LC_MESSAGES/neutron.po | 30 +- neutron/locale/pt_BR/LC_MESSAGES/neutron.po | 32 +- neutron/locale/ru/LC_MESSAGES/neutron.po | 39 +- neutron/locale/zh_CN/LC_MESSAGES/neutron.po | 28 +- neutron/locale/zh_TW/LC_MESSAGES/neutron.po | 28 +- neutron/manager.py | 10 +- neutron/notifiers/batch_notifier.py | 10 +- neutron/notifiers/ironic.py | 2 +- neutron/notifiers/nova.py | 14 +- neutron/objects/README.rst | 10 +- neutron/objects/address_group.py | 4 +- neutron/objects/agent.py | 6 +- neutron/objects/base.py | 51 +- neutron/objects/db/api.py | 4 +- neutron/objects/flavor.py | 4 +- neutron/objects/ipam.py | 8 +- neutron/objects/local_ip.py | 12 +- neutron/objects/metering.py | 4 +- neutron/objects/ndp_proxy.py | 4 +- neutron/objects/network.py | 30 +- neutron/objects/network_segment_range.py | 57 +- neutron/objects/plugins/ml2/base.py | 19 +- .../objects/port/extensions/allowedaddresspairs.py | 4 +- neutron/objects/port/extensions/port_hints.py | 4 +- neutron/objects/port_forwarding.py | 22 +- neutron/objects/ports.py | 46 +- neutron/objects/qos/binding.py | 6 +- neutron/objects/qos/policy.py | 20 +- neutron/objects/qos/qos_policy_validator.py | 5 + neutron/objects/qos/rule.py | 17 +- neutron/objects/qos/rule_type.py | 2 +- neutron/objects/quota.py | 6 +- neutron/objects/rbac_db.py | 9 +- neutron/objects/router.py | 22 +- neutron/objects/securitygroup.py | 16 +- neutron/objects/securitygroup_default_rules.py | 6 +- neutron/objects/subnet.py | 37 +- neutron/objects/subnetpool.py | 10 +- neutron/objects/trunk.py | 21 +- neutron/opts.py | 24 +- neutron/pecan_wsgi/controllers/extensions.py | 4 +- neutron/pecan_wsgi/controllers/quota.py | 4 +- neutron/pecan_wsgi/controllers/resource.py | 12 +- neutron/pecan_wsgi/controllers/root.py | 4 +- neutron/pecan_wsgi/controllers/utils.py | 31 +- neutron/pecan_wsgi/hooks/notifier.py | 4 +- neutron/pecan_wsgi/hooks/ownership_validation.py | 2 +- neutron/pecan_wsgi/hooks/policy_enforcement.py | 17 +- neutron/plugins/ml2/README | 22 +- neutron/plugins/ml2/common/exceptions.py | 2 +- neutron/plugins/ml2/db.py | 6 +- neutron/plugins/ml2/driver_context.py | 15 +- .../ml2/drivers/agent/_agent_manager_base.py | 10 +- neutron/plugins/ml2/drivers/agent/_common_agent.py | 4 +- neutron/plugins/ml2/drivers/helpers.py | 79 +- neutron/plugins/ml2/drivers/l2pop/README | 13 +- neutron/plugins/ml2/drivers/l2pop/mech_driver.py | 12 +- neutron/plugins/ml2/drivers/l2pop/rpc.py | 2 +- .../drivers/l2pop/rpc_manager/l2population_rpc.py | 8 +- .../ml2/drivers/linuxbridge/agent/arp_protect.py | 232 -- .../ml2/drivers/linuxbridge/agent/common/utils.py | 31 - .../agent/extension_drivers/qos_driver.py | 179 -- .../agent/linuxbridge_agent_extension_api.py | 32 - .../linuxbridge/agent/linuxbridge_neutron_agent.py | 1050 ------- .../drivers/linuxbridge/mech_driver/__init__.py | 0 .../linuxbridge/mech_driver/mech_linuxbridge.py | 65 - .../drivers/macvtap/agent/macvtap_neutron_agent.py | 1 + .../plugins/ml2/drivers/macvtap/macvtap_common.py | 2 +- .../drivers/macvtap/mech_driver/mech_macvtap.py | 9 +- neutron/plugins/ml2/drivers/mech_agent.py | 7 +- .../drivers/mech_sriov/agent/eswitch_manager.py | 17 +- .../agent/extension_drivers/qos_driver.py | 2 +- .../ml2/drivers/mech_sriov/agent/pci_lib.py | 2 +- .../drivers/mech_sriov/agent/sriov_nic_agent.py | 50 +- .../drivers/mech_sriov/mech_driver/mech_driver.py | 40 +- .../agent/extension_drivers/qos_driver.py | 72 +- .../plugins/ml2/drivers/openvswitch/agent/main.py | 1 + .../openvswitch/agent/openflow/br_cookie.py | 6 +- .../agent/openflow/native/br_dvr_process.py | 4 +- .../openvswitch/agent/openflow/native/br_int.py | 10 +- .../openvswitch/agent/openflow/native/ofswitch.py | 8 +- .../agent/openflow/native/ovs_oskenapp.py | 2 +- .../openvswitch/agent/ovs_agent_extension_api.py | 6 +- .../openvswitch/agent/ovs_dvr_neutron_agent.py | 52 +- .../drivers/openvswitch/agent/ovs_neutron_agent.py | 129 +- .../ml2/drivers/openvswitch/agent/vlanmanager.py | 6 +- .../openvswitch/mech_driver/mech_openvswitch.py | 14 +- .../plugins/ml2/drivers/ovn/agent/neutron_agent.py | 4 +- neutron/plugins/ml2/drivers/ovn/db_migration.py | 21 +- .../ml2/drivers/ovn/mech_driver/mech_driver.py | 196 +- .../ml2/drivers/ovn/mech_driver/ovsdb/commands.py | 107 +- .../ovn/mech_driver/ovsdb/extensions/placement.py | 13 +- .../ovn/mech_driver/ovsdb/extensions/qos.py | 257 +- .../drivers/ovn/mech_driver/ovsdb/impl_idl_ovn.py | 37 +- .../drivers/ovn/mech_driver/ovsdb/maintenance.py | 392 +-- .../drivers/ovn/mech_driver/ovsdb/ovn_client.py | 488 +-- .../drivers/ovn/mech_driver/ovsdb/ovn_db_sync.py | 122 +- .../drivers/ovn/mech_driver/ovsdb/ovsdb_monitor.py | 69 +- .../ml2/drivers/ovn/mech_driver/ovsdb/worker.py | 6 +- neutron/plugins/ml2/drivers/type_flat.py | 4 +- neutron/plugins/ml2/drivers/type_geneve.py | 6 +- neutron/plugins/ml2/drivers/type_gre.py | 4 +- neutron/plugins/ml2/drivers/type_tunnel.py | 151 +- neutron/plugins/ml2/drivers/type_vlan.py | 36 +- neutron/plugins/ml2/drivers/type_vxlan.py | 4 +- neutron/plugins/ml2/extensions/dns_integration.py | 9 +- neutron/plugins/ml2/extensions/port_trusted.py | 2 +- .../uplink_status_propagation_updatable.py | 42 + neutron/plugins/ml2/managers.py | 82 +- neutron/plugins/ml2/ovo_rpc.py | 4 +- neutron/plugins/ml2/plugin.py | 99 +- neutron/plugins/ml2/rpc.py | 29 +- neutron/policy.py | 73 +- neutron/privileged/agent/linux/__init__.py | 8 +- neutron/privileged/agent/linux/ip_lib.py | 34 +- neutron/privileged/agent/linux/netlink_lib.py | 4 +- neutron/privileged/agent/linux/tc_lib.py | 2 +- neutron/privileged/agent/linux/utils.py | 16 + neutron/privileged/agent/ovsdb/native/helpers.py | 10 +- neutron/profiling/profiled_decorator.py | 2 +- neutron/quota/__init__.py | 12 +- neutron/quota/resource.py | 6 +- neutron/quota/resource_registry.py | 16 +- neutron/scheduler/base_resource_filter.py | 2 +- neutron/scheduler/base_scheduler.py | 2 +- neutron/scheduler/dhcp_agent_scheduler.py | 14 +- neutron/scheduler/l3_agent_scheduler.py | 8 +- neutron/scheduler/l3_ovn_scheduler.py | 14 +- neutron/server/__init__.py | 8 +- neutron/server/{api_eventlet.py => api.py} | 2 +- neutron/service.py | 20 +- neutron/services/auto_allocate/db.py | 12 +- neutron/services/conntrack_helper/plugin.py | 2 +- neutron/services/externaldns/driver.py | 2 +- .../externaldns/drivers/designate/driver.py | 8 +- neutron/services/l3_router/README | 2 +- neutron/services/l3_router/l3_router_plugin.py | 4 +- .../services/l3_router/service_providers/base.py | 4 +- .../service_providers/driver_controller.py | 4 +- neutron/services/local_ip/local_ip_plugin.py | 5 +- neutron/services/logapi/agent/l3/base.py | 2 +- neutron/services/logapi/agent/log_extension.py | 4 +- neutron/services/logapi/api_base.py | 2 +- neutron/services/logapi/common/validators.py | 10 +- neutron/services/logapi/drivers/base.py | 2 +- neutron/services/logapi/drivers/manager.py | 6 +- .../services/logapi/drivers/openvswitch/driver.py | 2 +- .../logapi/drivers/openvswitch/ovs_firewall_log.py | 10 +- neutron/services/logapi/drivers/ovn/driver.py | 14 +- neutron/services/logapi/logging_plugin.py | 2 +- neutron/services/logapi/rpc/agent.py | 2 +- neutron/services/logapi/rpc/server.py | 2 +- neutron/services/loki/loki_plugin.py | 2 +- neutron/services/metering/agents/metering_agent.py | 11 +- .../services/metering/drivers/abstract_driver.py | 2 +- .../metering/drivers/iptables/iptables_driver.py | 23 +- neutron/services/metering/metering_plugin.py | 10 +- neutron/services/ndp_proxy/plugin.py | 6 +- neutron/services/network_ip_availability/plugin.py | 10 +- neutron/services/network_segment_range/plugin.py | 7 +- neutron/services/ovn_l3/plugin.py | 26 +- .../ovn_l3/service_providers/driver_controller.py | 2 +- neutron/services/ovn_l3/service_providers/ovn.py | 4 +- .../ovn_l3/service_providers/user_defined.py | 2 +- neutron/services/placement_report/plugin.py | 2 +- .../services/portforwarding/drivers/ovn/driver.py | 12 +- neutron/services/portforwarding/pf_plugin.py | 10 +- neutron/services/provider_configuration.py | 13 +- .../services/qos/drivers/linuxbridge/__init__.py | 0 neutron/services/qos/drivers/linuxbridge/driver.py | 61 - neutron/services/qos/drivers/manager.py | 2 +- neutron/services/qos/qos_plugin.py | 16 +- neutron/services/revisions/revision_plugin.py | 4 +- neutron/services/segments/db.py | 28 +- neutron/services/segments/plugin.py | 50 +- neutron/services/tag/tag_plugin.py | 17 +- neutron/services/timestamp/timestamp_db.py | 4 +- neutron/services/timestamp/timestamp_plugin.py | 2 +- neutron/services/trunk/drivers/__init__.py | 2 - neutron/services/trunk/drivers/base.py | 2 +- .../services/trunk/drivers/linuxbridge/__init__.py | 0 .../trunk/drivers/linuxbridge/agent/__init__.py | 0 .../trunk/drivers/linuxbridge/agent/driver.py | 202 -- .../drivers/linuxbridge/agent/trunk_plumber.py | 116 - .../services/trunk/drivers/linuxbridge/driver.py | 53 - .../trunk/drivers/openvswitch/agent/driver.py | 2 +- .../drivers/openvswitch/agent/ovsdb_handler.py | 14 +- .../drivers/openvswitch/agent/trunk_manager.py | 14 +- neutron/services/trunk/drivers/ovn/trunk_driver.py | 4 +- neutron/services/trunk/plugin.py | 33 +- neutron/services/trunk/rpc/agent.py | 4 +- neutron/services/trunk/rpc/backend.py | 4 +- neutron/services/trunk/rpc/server.py | 4 +- neutron/services/trunk/rules.py | 19 +- .../exclusive_resources/resource_allocator.py | 6 +- .../{unit/db => common}/test_db_base_plugin_v2.py | 774 +++-- .../functional/agent/common/test_ovsdb_monitor.py | 18 +- .../l2/extensions/test_ovs_agent_qos_extension.py | 16 +- .../l3/extensions/qos/test_fip_qos_extension.py | 6 +- .../extensions/test_conntrack_helper_extension.py | 2 +- .../l3/extensions/test_gateway_ip_qos_extension.py | 7 +- .../l3/extensions/test_ndp_proxy_extension.py | 10 +- .../extensions/test_port_forwarding_extension.py | 4 +- .../agent/l3/test_keepalived_state_change.py | 65 +- .../functional/agent/l3/test_metadata_proxy.py | 67 +- .../functional/agent/l3/test_namespace_manager.py | 2 +- .../linux/openvswitch_firewall/test_firewall.py | 2 +- .../linux/openvswitch_firewall/test_iptables.py | 6 +- .../functional/agent/linux/test_async_process.py | 23 +- .../functional/agent/linux/test_bridge_lib.py | 105 +- .../functional/agent/linux/test_conntrackd.py | 132 + .../agent/linux/test_external_process.py | 69 + .../functional/agent/linux/test_keepalived.py | 6 +- .../agent/linux/test_linuxbridge_arp_protect.py | 144 - .../functional/agent/linux/test_of_monitor.py | 6 +- .../functional/agent/linux/test_ovsdb_monitor.py | 6 +- .../functional/agent/linux/test_process_monitor.py | 2 +- .../agent/ovn/agent/test_ovn_neutron_agent.py | 15 +- .../agent/ovn/extensions/test_qos_hwol.py | 18 +- .../agent/ovn/metadata/test_metadata_agent.py | 50 +- .../agent/ovsdb/native/test_connection.py | 2 +- .../functional/cmd/test_destroy_patch_ports.py | 4 +- .../functional/cmd/test_linuxbridge_cleanup.py | 111 - .../test_ba859d649675_add_indexes_to_rbacs.py | 14 +- .../test_c3e9d13c4367_add_binding_index_to_.py | 14 +- .../functional/objects/plugins/ml2/test_base.py | 17 +- .../objects/plugins/ml2/test_geneveallocation.py | 7 +- .../objects/plugins/ml2/test_greallocation.py | 7 +- .../objects/plugins/ml2/test_vlanallocation.py | 7 +- .../objects/plugins/ml2/test_vxlanallocation.py | 7 +- .../functional/pecan_wsgi/test_controllers.py | 109 +- .../macvtap/agent/test_macvtap_neutron_agent.py | 8 +- .../mech_driver/ovsdb/extensions/test_placement.py | 11 +- .../ovn/mech_driver/ovsdb/extensions/test_qos.py | 178 +- .../drivers/ovn/mech_driver/ovsdb/test_impl_idl.py | 16 +- .../ovn/mech_driver/ovsdb/test_maintenance.py | 153 +- .../ovn/mech_driver/ovsdb/test_ovn_client.py | 131 +- .../ovn/mech_driver/ovsdb/test_ovn_db_resources.py | 30 +- .../ovn/mech_driver/ovsdb/test_ovn_db_sync.py | 51 +- .../ovn/mech_driver/ovsdb/test_ovsdb_monitor.py | 40 +- .../drivers/ovn/mech_driver/test_mech_driver.py | 261 +- .../privileged/agent/linux/test_ip_lib.py | 18 +- .../privileged/agent/linux/test_tc_lib.py | 6 +- .../scheduler/test_dhcp_agent_scheduler.py | 6 +- .../scheduler/test_l3_agent_scheduler.py | 72 +- .../conntrack_helper/test_conntrack_helper.py | 2 +- .../l3_router/test_l3_dvr_ha_router_plugin.py | 4 +- .../l3_router/test_l3_dvr_router_plugin.py | 43 +- .../services/logapi/drivers/ovn/test_driver.py | 6 +- .../functional/services/logapi/test_logging.py | 4 +- .../functional/services/ovn_l3/test_plugin.py | 24 +- .../portforwarding/test_port_forwarding.py | 10 +- .../openvswitch/agent/test_ovsdb_handler.py | 6 +- .../openvswitch/agent/test_trunk_manager.py | 8 +- .../trunk/drivers/ovn/test_trunk_driver.py | 2 +- .../functional/services/trunk/rpc/test_server.py | 2 +- .../exclusive_resources/test_resource_allocator.py | 2 +- .../unit/agent/common/test_placement_report.py | 8 +- .../unit/agent/l2/extensions/dhcp/test_base.py | 8 +- .../agent/l2/extensions/dhcp/test_extension.py | 4 +- .../unit/agent/l2/extensions/dhcp/test_ipv4.py | 2 +- .../unit/agent/l2/extensions/dhcp/test_ipv6.py | 34 +- .../metadata/test_host_metadata_proxy.py | 2 +- .../metadata/test_metadata_flows_process.py | 537 ++++ .../l2/extensions/metadata/test_metadata_path.py | 292 ++ .../agent/l2/extensions/test_fdb_population.py | 8 +- .../unit/agent/l2/extensions/test_local_ip.py | 18 +- .../agent/l2/test_l2_agent_extensions_manager.py | 2 +- .../unit/agent/l3/extensions/qos/test_base.py | 2 +- .../agent/l3/extensions/qos/test_gateway_ip.py | 4 +- .../agent/l3/extensions/test_conntrack_helper.py | 6 +- .../unit/agent/l3/extensions/test_ndp_proxy.py | 16 +- .../agent/l3/extensions/test_port_forwarding.py | 34 +- .../unit/agent/l3/extensions/test_snat_log.py | 2 +- .../agent/l3/test_fip_rule_priority_allocator.py | 2 +- .../unit/agent/l3/test_link_local_allocator.py | 2 +- .../linux/openvswitch_firewall/test_firewall.py | 61 +- .../linux/openvswitch_firewall/test_iptables.py | 9 +- .../agent/linux/openvswitch_firewall/test_rules.py | 15 +- .../unit/agent/linux/test_external_process.py | 27 +- .../unit/agent/linux/test_iptables_firewall.py | 70 +- .../unit/agent/linux/test_iptables_manager.py | 21 +- .../unit/agent/ovsdb/native/test_connection.py | 8 +- .../unit/agent/test_agent_extensions_manager.py | 2 +- .../rpc/agentnotifiers/test_dhcp_rpc_agent_api.py | 8 +- .../rpc/agentnotifiers/test_l3_rpc_agent_api.py | 2 +- .../api/rpc/callbacks/test_resource_manager.py | 10 +- .../unit/api/rpc/callbacks/test_version_manager.py | 8 +- .../unit/api/rpc/handlers/test_resources_rpc.py | 22 +- .../api/rpc/handlers/test_securitygroups_rpc.py | 8 +- .../unit/common/ovn/test_hash_ring_manager.py | 67 +- .../conf/policies/test_network_segment_range.py | 52 +- .../unit/conf/policies/test_security_group.py | 162 +- .../unit/extensions/test_availability_zone.py | 10 +- .../unit/extensions/test_data_plane_status.py | 15 +- .../unit/extensions/test_default_subnetpools.py | 11 +- .../test_expose_port_forwarding_in_fip.py | 6 +- .../extensions/test_floating_ip_port_forwarding.py | 2 +- .../unit/extensions/test_l3_conntrack_helper.py | 4 +- .../extensions/test_network_ip_availability.py | 9 +- .../unit/extensions/test_network_segment_range.py | 28 +- .../unit/extensions/test_port_device_profile.py | 7 +- .../extensions/test_port_hardware_offload_type.py | 2 +- .../extensions/test_port_numa_affinity_policy.py | 13 +- .../test_port_numa_affinity_policy_socket.py | 2 +- .../extensions/test_router_availability_zone.py | 6 +- .../test_security_groups_default_rules.py | 6 +- .../test_security_groups_normalized_cidr.py | 5 +- .../extensions/test_subnet_dns_publish_fixed_ip.py | 5 +- .../unit/extensions/test_subnet_service_types.py | 7 +- .../unit/extensions/test_subnetpool_prefix_ops.py | 24 +- .../extensions/test_uplink_status_propagation.py | 8 +- .../test_uplink_status_propagation_updatable.py | 97 + .../ipam/drivers/neutrondb_ipam/test_db_api.py | 2 +- .../ipam/drivers/neutrondb_ipam/test_driver.py | 8 +- .../unit/objects/logapi/test_logging_resource.py | 2 +- .../objects/plugins/ml2/test_flatallocation.py | 2 +- .../port/extensions/test_allowedaddresspairs.py | 2 +- .../port/extensions/test_data_plane_status.py | 2 +- .../objects/port/extensions/test_extra_dhcp_opt.py | 2 +- .../objects/port/extensions/test_port_hints.py | 2 +- .../extensions/test_port_numa_affinity_policy.py | 2 +- .../objects/port/extensions/test_port_security.py | 2 +- .../extensions/test_uplink_status_propagation.py | 2 +- .../unit/objects/qos/test_qos_policy_validator.py | 53 + .../unit/objects/test_network_segment_range.py | 56 +- .../ml2/drivers/agent/test__agent_manager_base.py | 2 +- .../ml2/drivers/agent/test__common_agent.py | 131 +- .../plugins/ml2/drivers/agent/test_capabilities.py | 8 +- .../unit/plugins/ml2/drivers/base_type_tunnel.py | 33 +- .../l2pop/rpc_manager/l2population_rpc_base.py | 2 +- .../unit/plugins/ml2/drivers/l2pop/test_db.py | 5 +- .../plugins/ml2/drivers/l2pop/test_mech_driver.py | 40 +- .../plugins/ml2/drivers/linuxbridge/__init__.py | 0 .../ml2/drivers/linuxbridge/agent/__init__.py | 0 .../agent/extension_drivers/__init__.py | 0 .../agent/extension_drivers/test_qos_driver.py | 285 -- .../drivers/linuxbridge/agent/test_arp_protect.py | 178 -- .../agent/test_linuxbridge_agent_extension_api.py | 33 - .../agent/test_linuxbridge_neutron_agent.py | 1162 ------- .../drivers/linuxbridge/mech_driver/__init__.py | 0 .../mech_driver/test_mech_linuxbridge.py | 110 - .../macvtap/agent/test_macvtap_neutron_agent.py | 8 +- .../macvtap/mech_driver/test_mech_macvtap.py | 16 +- .../unit/plugins/ml2/drivers/mech_fake_agent.py | 4 +- .../drivers/mech_sriov/agent/common/test_config.py | 4 +- .../agent/extension_drivers/test_qos_driver.py | 12 +- .../mech_sriov/agent/test_eswitch_manager.py | 8 +- .../ml2/drivers/mech_sriov/agent/test_pci_lib.py | 2 +- .../mech_sriov/agent/test_sriov_nic_agent.py | 19 +- .../mech_driver/test_mech_sriov_nic_switch.py | 64 +- .../unit/plugins/ml2/drivers/mechanism_logger.py | 13 +- .../unit/plugins/ml2/drivers/mechanism_test.py | 6 +- .../agent/extension_drivers/test_qos_driver.py | 93 +- .../ml2/drivers/openvswitch/agent/fake_oflib.py | 14 +- .../agent/openflow/native/ovs_bridge_test_base.py | 213 +- .../agent/openflow/native/test_br_int.py | 820 ++--- .../agent/openflow/native/test_br_phys.py | 112 +- .../agent/openflow/native/test_br_tun.py | 562 ++-- .../agent/openflow/native/test_ofswitch.py | 4 +- .../openvswitch/agent/openflow/test_br_cookie.py | 4 +- .../ml2/drivers/openvswitch/agent/ovs_test_base.py | 4 +- .../agent/test_ovs_agent_extension_api.py | 4 +- .../openvswitch/agent/test_ovs_capabilities.py | 2 +- .../openvswitch/agent/test_ovs_neutron_agent.py | 594 ++-- .../drivers/openvswitch/agent/test_ovs_tunnel.py | 50 +- .../drivers/openvswitch/agent/test_vlanmanager.py | 4 +- .../mech_driver/test_mech_openvswitch.py | 21 +- .../mech_driver/ovsdb/extensions/test_placement.py | 2 +- .../ovn/mech_driver/ovsdb/extensions/test_qos.py | 133 +- .../drivers/ovn/mech_driver/ovsdb/test_commands.py | 17 +- .../ovn/mech_driver/ovsdb/test_impl_idl_ovn.py | 4 +- .../ovn/mech_driver/ovsdb/test_maintenance.py | 486 +-- .../ovn/mech_driver/ovsdb/test_ovn_client.py | 35 +- .../ovn/mech_driver/ovsdb/test_ovn_db_sync.py | 302 +- .../ovn/mech_driver/ovsdb/test_ovsdb_monitor.py | 66 +- .../drivers/ovn/mech_driver/test_mech_driver.py | 322 +- .../plugins/ml2/drivers/ovn/test_db_migration.py | 16 + .../unit/plugins/ml2/drivers/test_type_flat.py | 18 +- .../unit/plugins/ml2/drivers/test_type_local.py | 2 +- .../unit/plugins/ml2/drivers/test_type_vlan.py | 17 +- .../unit/plugins/ml2/drivers/test_type_vxlan.py | 6 +- .../unit/plugins/ml2/extensions/fake_extension.py | 3 +- .../ml2/extensions/test_data_plane_status.py | 2 +- .../ml2/extensions/test_dns_domain_keywords.py | 14 +- .../plugins/ml2/extensions/test_dns_integration.py | 18 +- .../test_tag_ports_during_bulk_creation.py | 5 +- .../extensions/test_uplink_status_propagation.py | 2 +- .../test_uplink_status_propagation_updatable.py | 60 + .../unit/plugins/ml2/test_ext_portsecurity.py | 2 +- .../unit/plugins/ml2/test_extension_driver_api.py | 4 +- .../unit/plugins/ml2/test_tracked_resources.py | 12 +- .../unit/privileged/agent/linux/test_ip_lib.py | 8 +- .../privileged/agent/linux/test_netlink_lib.py | 2 +- .../unit/privileged/agent/ovsdb}/__init__.py | 0 .../privileged/agent/ovsdb/native}/__init__.py | 0 .../privileged/agent/ovsdb/native/test_helpers.py | 57 + .../unit/scheduler/test_dhcp_agent_scheduler.py | 55 +- .../unit/scheduler/test_l3_agent_scheduler.py | 102 +- .../unit/services/conntrack_helper/test_plugin.py | 2 +- .../externaldns/drivers/designate/test_driver.py | 2 +- .../service_providers/test_driver_controller.py | 15 +- .../unit/services/logapi/agent/l3/test_base.py | 6 +- .../services/logapi/agent/test_log_extension.py | 6 +- .../unit/services/logapi/common/test_db_api.py | 4 +- .../services/logapi/common/test_sg_callback.py | 2 +- .../services/logapi/common/test_sg_validate.py | 8 +- .../services/logapi/common/test_snat_validate.py | 4 +- .../unit/services/logapi/common/test_validators.py | 6 +- .../drivers/openvswitch/test_ovs_firewall_log.py | 22 +- .../services/logapi/drivers/ovn/test_driver.py | 2 +- .../unit/services/logapi/drivers/test_base.py | 4 +- .../unit/services/logapi/drivers/test_manager.py | 8 +- .../unit/services/logapi/test_logging_plugin.py | 8 +- .../metering/agents/test_metering_agent.py | 4 +- .../services/metering/drivers/test_iptables.py | 2 +- .../unit/services/metering/test_metering_plugin.py | 57 +- .../services/network_segment_range/test_plugin.py | 4 +- .../service_providers/test_driver_controller.py | 2 +- .../services/ovn_l3/service_providers/test_ovn.py | 2 +- .../ovn_l3/service_providers/test_user_defined.py | 4 +- .../unit/services/placement_report/test_plugin.py | 37 +- .../portforwarding/drivers/ovn/test_driver.py | 6 +- .../unit/services/portforwarding/test_pf_plugin.py | 7 +- .../qos/drivers/openvswitch/test_driver.py | 2 +- .../unit/services/qos/drivers/ovn/test_driver.py | 2 +- .../unit/services/qos/drivers/test_manager.py | 10 +- .../services/revisions/test_revision_plugin.py | 7 +- .../unit/services/test_provider_configuration.py | 14 +- .../services/trunk/drivers/linuxbridge/__init__.py | 0 .../trunk/drivers/linuxbridge/agent/__init__.py | 0 .../trunk/drivers/linuxbridge/agent/test_driver.py | 253 -- .../linuxbridge/agent/test_trunk_plumber.py | 115 - .../trunk/drivers/linuxbridge/test_driver.py | 40 - .../trunk/drivers/openvswitch/agent/test_driver.py | 2 +- .../openvswitch/agent/test_ovsdb_handler.py | 30 +- .../openvswitch/agent/test_trunk_manager.py | 4 +- .../trunk/drivers/ovn/test_trunk_driver.py | 5 +- neutron/worker.py | 8 +- neutron/wsgi/api.py | 12 +- plugin.spec | 83 - ...of-the-tags-for-resources-23f825398d301d20.yaml | 13 + releasenotes/notes/add-7c25db94790c671c.yaml | 7 + ..._records_ovn_owned-config-120ef08d5cf659f2.yaml | 12 + ...for-allowed-address-pairs-acd6d700cd7dd560.yaml | 6 + ...ctivation-strategy-option-8ef113349aa97ff1.yaml | 9 + ..._status_updatable-to-port-383669f31c82809a.yaml | 7 + ...e-to-the-network-resource-4a1ab8497dfd16b8.yaml | 15 + .../add-sg-rule-any-to-api-157e3e04e8ad92d8.yaml | 8 + ...ate-ovn_emit_need_to_frag-f27859b234213d12.yaml | 5 + ...ategy-rarp-for-dpdk-ports-7f9164e57c578b95.yaml | 9 + ...ibuted-metadata-data-path-79d5c1295977379f.yaml | 13 + .../drop-postgresql-support-d666f15fa7394e9e.yaml | 5 + ..._conntrack_tcp_be_liberal-00432039c9e7ab9d.yaml | 18 + ...t_need_to_frag-by-default-9ba0169e70a55173.yaml | 7 + ...able_eventlet_monkeypatch-fccede7812d60c38.yaml | 12 + ...with-ovn-loadbalancer-fip-4e4bda00cf019f71.yaml | 5 + ...router-conntrackd-support-6bc8b039fc3ac207.yaml | 10 + ...driver-use-ovs-by-default-53938648662a590b.yaml | 6 + ..._segment_ranges_timestamp-7a5080afd226299c.yaml | 8 + ...ver-support-address-group-fac3d96af5093a17.yaml | 4 + .../ovn-qos-min-bw-rule-only-25a0699c1510c4c4.yaml | 6 + ...ovn-qos-physical-networks-77af4a1c0795e73e.yaml | 11 + .../ovn_router_gateway_mtu-ac69e07b30093193.yaml | 7 + ...ays-checks-resource-usage-6e5e18f5c8f4b725.yaml | 12 + ...n_supported-config-option-8d85a4bed0f04e76.yaml | 6 + .../notes/remove-dibbler-b846e534244c6a74.yaml | 7 + ...remove-linuxbridge-driver-d0df60e5cf8ab3bc.yaml | 5 + ...ovn-migration-for-tripleo-a24b8ace9b25b8f4.yaml | 5 + ...tags-related-api-policies-7173629378ee9d02.yaml | 15 + .../subnet_policies_updated-ec1ddc477757b441.yaml | 7 + ...rrect-aap-mac-for-dvr-arp-ce9e00d163cf4ddc.yaml | 8 + .../notes/wsgi_start-time-101ce9c9a36b8a4f.yaml | 8 + releasenotes/source/2023.1.rst | 2 +- releasenotes/source/2024.2.rst | 6 + releasenotes/source/index.rst | 1 + .../locale/en_GB/LC_MESSAGES/releasenotes.po | 11 +- .../source/locale/fr/LC_MESSAGES/releasenotes.po | 90 - .../source/locale/ja/LC_MESSAGES/releasenotes.po | 11 +- .../locale/ko_KR/LC_MESSAGES/releasenotes.po | 103 - requirements.txt | 16 +- setup.cfg | 28 +- test-requirements.txt | 4 +- tools/bug-1921150-re-parent-device-rps.sql | 2 - tools/configure_for_func_testing.sh | 49 +- tools/download_gerrit_change.py | 2 +- tools/files_in_patch.py | 8 +- tools/migrate_names.py | 8 +- tools/ovn_migration/README.rst | 3 - tools/ovn_migration/hosts.sample | 37 - .../infrared/tripleo-ovn-migration/README.rst | 33 - .../infrared/tripleo-ovn-migration/main.yml | 194 -- .../roles/create-resources/defaults/main.yml | 9 - .../roles/create-resources/tasks/main.yml | 33 - .../templates/create-resources.sh.j2 | 170 -- .../create-resources/templates/start-pinger.sh.j2 | 58 - .../roles/prepare-migration/defaults/main.yml | 7 - .../roles/prepare-migration/tasks/main.yml | 191 -- .../templates/start-ovn-migration.sh.j2 | 7 - .../tripleo_environment/ovn_migration.sh | 417 --- .../playbooks/ovn-migration.yml | 121 - .../playbooks/reduce-dhcp-renewal-time.yml | 19 - .../tripleo_environment/playbooks/revert.yml | 4 - .../playbooks/roles/backup/tasks/main.yml | 19 - .../delete-neutron-resources/defaults/main.yml | 3 - .../roles/delete-neutron-resources/tasks/main.yml | 21 - .../templates/delete-neutron-resources.sh.j2 | 32 - .../playbooks/roles/migration/defaults/main.yml | 5 - .../roles/migration/tasks/activate-ovn.yml | 15 - .../roles/migration/tasks/cleanup-dataplane.yml | 75 - .../roles/migration/tasks/clone-dataplane.yml | 15 - .../playbooks/roles/migration/tasks/main.yml | 11 - .../playbooks/roles/migration/tasks/sync-dbs.yml | 34 - .../roles/migration/templates/activate-ovn.sh.j2 | 42 - .../roles/migration/templates/clone-br-int.sh.j2 | 77 - .../roles/post-migration/defaults/main.yml | 4 - .../playbooks/roles/post-migration/tasks/main.yml | 59 - .../playbooks/roles/pre-migration/tasks/main.yml | 17 - .../roles/recovery-backup/defaults/main.yml | 12 - .../playbooks/roles/recovery-backup/tasks/main.yml | 69 - .../roles/resources/cleanup/defaults/main.yml | 6 - .../roles/resources/cleanup/tasks/main.yml | 26 - .../cleanup/templates/cleanup-resources.sh.j2 | 32 - .../roles/resources/create/defaults/main.yml | 6 - .../roles/resources/create/tasks/main.yml | 22 - .../create/templates/create-resources.sh.j2 | 144 - .../roles/resources/validate/defaults/main.yml | 5 - .../roles/resources/validate/tasks/main.yml | 12 - .../validate/templates/validate-resources.sh.j2 | 19 - .../playbooks/roles/revert/tasks/main.yml | 29 - .../playbooks/roles/stop-agents/defaults/main.yml | 3 - .../playbooks/roles/stop-agents/tasks/cleanup.yml | 25 - .../playbooks/roles/stop-agents/tasks/main.yml | 22 - .../playbooks/roles/stop-agents/vars/main.yml | 19 - .../roles/tripleo-update/defaults/main.yml | 4 - .../playbooks/roles/tripleo-update/tasks/main.yml | 24 - .../templates/generate-ovn-extras.sh.j2 | 8 - tools/tripleo/ovn.yml | 51 - tox.ini | 37 +- zuul.d/base.yaml | 68 +- zuul.d/grenade.yaml | 80 +- zuul.d/job-templates.yaml | 71 +- zuul.d/project.yaml | 18 +- zuul.d/rally.yaml | 19 +- zuul.d/tempest-multinode.yaml | 53 +- zuul.d/tempest-singlenode.yaml | 198 +- 1335 files changed, 21668 insertions(+), 31500 deletions(-) Requirements updates -------------------- diff --git a/requirements.txt b/requirements.txt index 96991315f0..161c7b6983 100644 --- a/requirements.txt +++ b/requirements.txt @@ -13,2 +13,2 @@ pecan>=1.4.0 # BSD -httplib2>=0.9.1 # MIT -requests>=2.18.0 # Apache-2.0 +httplib2>=0.22.0 # MIT +requests>=2.32.3 # Apache-2.0 @@ -18 +18 @@ netaddr>=0.7.18 # BSD -neutron-lib>=3.15.0 # Apache-2.0 +neutron-lib>=3.17.0 # Apache-2.0 @@ -35 +35 @@ oslo.middleware>=3.31.0 # Apache-2.0 -oslo.policy>=4.4.0 # Apache-2.0 +oslo.policy>=4.5.0 # Apache-2.0 @@ -45 +45 @@ osprofiler>=2.3.0 # Apache-2.0 -os-ken>=2.2.0 # Apache-2.0 +os-ken>=3.0.0 # Apache-2.0 @@ -47,3 +47,3 @@ os-resource-classes>=1.1.0 # Apache-2.0 -ovs>=2.10.0 # Apache-2.0 -ovsdbapp>=2.7.1 # Apache-2.0 -psutil>=5.3.0 # BSD +ovs>=2.12.0 # Apache-2.0 +ovsdbapp>=2.11.0 # Apache-2.0 +psutil>=6.1.0 # BSD diff --git a/test-requirements.txt b/test-requirements.txt index 94ff22efc4..4bb436e6cf 100644 --- a/test-requirements.txt +++ b/test-requirements.txt @@ -0,0 +1 @@ +hacking>=7.0.0,<7.1.0 # Apache-2.0 @@ -10 +11 @@ stestr>=1.0.0 # Apache-2.0 -ddt>=1.0.1 # MIT +ddt>=1.2.1 # MIT @@ -12,0 +14 @@ PyMySQL>=0.7.6 # MIT License +doc8>=0.6.0 # Apache-2.0
participants (1)
-
no-reply@openstack.org