We are glad to announce the release of: neutron 21.0.0: OpenStack Networking This release is part of the zed 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 20.0.0.0rc1..21.0.0 -------------------------------------- a9e0dd98fa Use "OVNMechDriver" instance in "TestOvn[Nb|Sb]IdlNotifyHandler" 611218db90 Handle several dhcp agents for metadata over ipv6 c42cc757f6 Fix openstack-tox-py39-with-oslo-master job 9f36ab53b4 [OVN] Rate limit the "Disallow caching" log from hash ring c7e4d57f51 [Zed only]: Switch to Zed neutron-tempest-plugin jobs a1bdcc3214 Update TOX_CONSTRAINTS_FILE for stable/zed 1ef8715572 Update .gitreview for stable/zed 075fb6b874 [Unit] Temporary mark test_delete_expired as unstable fb7d937ada Fix indentation issue in wait_for_change override 4eaa526c5a [Functional] Prepare test logs archive only if logs are available 30d1a40c50 Revert "[OVN] Set NB/SB "connection" inactivity probe" 653949808d Fix a wrong assertion method 92dbc66135 Add new role "prepare_functional_tests_logs" 76578393ab Reset device namespace when adding to the namespace fails 2402145713 Cleanup fanout queues on ovs agent stop (part 2) 9ff46546cb Cleanup fanout queues on ovs agent stop 9db653a974 [Functional] Fix tests for oslo.db>=12.1.0 58082a8232 Doc: Refresh NDP proxy doc e2617ccbc2 Add dsvm-functional-gate tox environment d600b3d433 Forbid enable ndp proxy when external netwrok has no IPv6 address scope 9081ce369e Fix test_nova_send_events_* tests 58f80b4ec7 Remove "fetch_journal_log" role as it's not needed 116bb13651 Add validation to ip_version field 01fc2b9195 Do not allow a tenant to create a default SG for another one 6db791ac0f ml2/mech: bind port on segment that subnet belongs cd475f9af8 Retry connections to Nova 8185319248 utils: add option to generate dhcp device id per segmentation 7ceb935da8 dhcp/rpc: retrieve network details with segments 7a1e253851 ovs: use a local vlan per network/segmentation 6ec0bc70a7 ovs: make vlanmanager to handle more vlan mapping per network 91f0864dc0 Add an active wait during the port provisioning event 1b8d794a35 Format the protocol number to be passed to pyroute2 7587d0dede Update NDP proxy documentation b534de966b [api]adds port_forwarding id when list floatingip bbefe5285e Allow operator to disable usage of random-fully 8619c104b8 Allow shared net to be added on router 3202a5c19e [OVN] Remove session check in ``update_network_postcommit`` d237a2a830 ovn: Don't fail db sync if new IP allocation fails for metadata 406601debe [S-RBAC] Remove definitions of not used roles a23f41071e [S-RBAC] Rename ProjectAdmin* unit tests to Admin* 211d2d9561 [S-RBAC] Use ADMIN rule instead of PROJECT_ADMIN in the new policies 32e16bf466 [S-RBAC] Remove system scope from the API policies c5b76a8393 Script to remove duplicated port bindings eda45de839 [OVN] Try to bind ports only to the ovn-controller agents e2ccc12489 Doc: New bug tags: pyroute2 and stable 76cf6b4a9e Fix deprecation warnings in pkg_resources e230301a7e Fix a deprecation warning about escape sequence a641b2508d Fix deprecation warnings about oslo.context 846737dac4 [OVN][QoS] Add minimum bandwidth rule support to ML2/OVN 655001594b Use neutron-lib method is_session_active 7857a3194b Don't retrieve SG port bindings when deleting a SG 800f863ccc Stop returning unneeded information from "pyroute2" method calls 812ef0306f ``Session.autocommit`` parameter is removed 982c22dd46 [OVN] Fix updating network segmentation ID 0b20fa66b7 Migrate "download_gerrit_change" to use "cliff" 8bf3eba101 Migrate "migrate_names" to use "cliff" ad3f7a8b7d Clean up db residual record from dvr port 1957353ef9 [OVN] Remove ACLs with remote SG during deletion of SG b603093307 Fix some pylint indentation warnings edafe03ada [OVN][Placement] Drive binding by placement allocation a45cebbfcd Avoid unnecessary db calls with l2pop e0039371f8 [ovn]Change LogicalSwitchPortUpdateUpEvent old conditions 7c3d6c414d Fix return value in BaseScheduler class d82647215c Remove ovs agent's common constants module 4c9cb83d6b Bump revision number of objects when description is changed 672f949d95 ovs: add fdb_entries details to the logs 6037190580 ovs: remove unecessary condition on undefined variable 7003817b69 Migration revert plan 6c2d2744d5 Make iptables rules diff to be case insensitive bd60f0833b Implement specific tracked resource count method per quota driver 47a0278812 Add a default table in "ip rule" command c72b3d1f38 Switch Fedora based job to Centos Stream 119b82f1b1 Test: mock out _check_netfilter_for_bridges in unit tests 06ddcaf436 Port update will trigger less notifications to the DHCP agents 5848c0dd1c ovs: improve log message when ofport is not configured ff1c6936b8 Remove linuxbridge mech driver from the ovs based jobs d0d484e41a Update the Ethernet card information c5807cbcf5 update neutron-linuxbridge-tempest for bug 1980948 ea22307284 Add workaround for eventlet.greendns bug 9e7d0165ad Doc: make the contributor guide more visible 357ee21d12 Remove import of 'imp' module 82d14eee61 QoS minimum bandwidth documentation: OVN backend 31a15fdd6d [sqlalchemy-20] Remove retry decorator from update_floatingip_status a5ddebf070 Add initial tests for the Designate DNS backend d4801bd529 Add release note for OVN "requested-chassis" feature 308924e5fb Remove workaround for LP#1767422 8ab5ee1d17 Fix remaining typos in comments and tests 8b0a34a585 Report ExternalDNSOverQuota exception for zone quota error 62568cf307 Fix requirements for doc build e39011c733 Use common wait_until_ha_router_has_state method everywhere 210f5297f5 update the nova host aggregates links 58b1df699d Fix some pylint indentation warnings 89ce95395d Remove duplicated Zuul job definition a630fc79a5 Revert "Temporary blacklist test_reboot_server_hard in OVN IPv6 job" f879d1f957 Revert "[fips jobs] blacklist AttachInterfacesTestJSON tempest test" 7f0413c84c Implement experimental features framework 6c92d7a307 [sqlalchemy-20] Remove unnecessary DB context 35fade3b5f ovn: use requested-chassis list format for live migration d3f711e7f6 [sqlalchemy-20] Add the needed DB context decorators in ``ml2.plugin`` 1bfbc33ce0 ovs: handle segmentation ids per network ports c9abb2cec3 ovs: remove unused function _get_port_local_vlan d7ba5948ff Replace "Inspector.from_engine()" with "sqlalchemy.inspect()" 753fbff11b [FT] Ensure "update_virtual_port_host" has been called d3ce69b946 [FT] Run all .*MySQL and .*PostgreSQL tests in an isolated thread 732c1dcbc2 Fix typos in error/log messages 1e5d43a2f3 Mellanox_eth.img url expires, remove the mellanox_eth.img node e9a479519f Temporary make rally job non voting b1f4890102 Modify the url of OVN tutorial 17106dc6f5 ml2: Use the base module to register common ml2 agent config 738fb24f44 Use neutron-lib method update_qos_allocation 2365abfd00 Add a release note for 834162 60fade43de ovn-migration: Remove second tripleo-update call 87cdfbe9fa Periodic functional and fullstack with pyroute2 master afd61b7b6a Imported Translations from Zanata 8c482b83f2 [ovn] Specify port type if it's a router port when updating a7ea4909d9 Add vpnaas to extensions supported by ovn a1384678b8 [fips jobs] blacklist AttachInterfacesTestJSON tempest test 163280989a ovn: Add log-tag to haproxy config file. 51360b5a08 Set nslookup_target in FIPS jobs b497ad1665 Filter the ports by VNIC type 9f5e211796 [OVS][QoS] Unset the min-bw QoS from the phys bridge interface 4dbcd76517 Fix "ip route" commands to work with pyroute2 APIv2 a22d6d6a95 Use ovs constants from neutron-lib d01700034a Fix tests involving pyroute2.netlink module 81a330113b Return default value when get router's enable_ndp_proxy from `request_body` fd6adb3e5b migration: Remove restarting OVS c25097b0b0 Optimize queries for port operations 5cc7175659 [UT] Reduce the port binding retries to 1 in ``TestPortsV2`` a1d135e3c0 Use SQL IN clause instead of OR with exact match comparisons 3e1223f5ca Change vlan max value in intro-basic-networking.rst 411ecc4865 [ovn]neutron agent show real heartbeat_timestamp 7dbc61346a remove unused updated_at parameter for AgentCache.update fe4fa55642 Fix tests involving pyroute2.netns module ffd64df9d3 ovn: revert to stateful dnat_and_snat edcb83f296 Remove unused get_log_args 402a976820 [OVN] Document baremetal provisioning with ML2/OVN 6b529ea3c5 [sqlalchemy-20] Use session.transaction information to decide if active a575dbc4a1 Add "max-rate" value to minimum bandwidth rules 29b246010e Switch tick-tick job to upgrade from xena 326c0076ef Update port-mac-address-override shim extension 9dd06e9c44 Forbid create ndp proxy on same router with same ip address 8a9ffcb0d4 [OVN] Make binding profile validation more robust 62d3f91f92 openflow_processed_per_port should be ovs-agent only d93cd7d0c0 migration: Delete also SGRs for IPv6 a181102db2 Remove not wanted section in local.conf sample 1f0708b352 migration: Remove patch port between br-int and br-tun 18b1b61401 Fix typos in log/error messages d13da77107 Mark functional L3ha tests as unstable 5957e90575 Create an index for subnetpools.address_scope_id a71fe45d96 [OVN] Protect the AgentCache iteration by copying the local cache 7f5fb86232 Switch Fips fullstack/functional tests to py3.8 3d54f965a9 Skip non-functional jobs on functional roles/playbooks changes e09b128f41 Defer flow deletion in openvswitch firewall 763d8af1a3 Add some logging to test_good_address_allocation 0fba55cc26 Address small nitpick from patch 840146 4fe128d7e3 Update ci jobs docs f2445b09ae Use new combined neutron_tempest_plugin as nftables jobs parent 35fd49c014 Remove requirements.txt from irrelevant files in CI jobs 384ff4485f [UT][ovn] Access config options after they are registered e6d27be474 Revert "Use Port_Binding up column to set Neutron port status" d89d7bd5e6 Remove session active check in "_add_segment_host_mapping_for_segment" e73a85f3dd [OVN] Add baremetal support without Neutron DHCP agent for IPv4 e04bd8fbdf Switch to cirros uec image in multinode jobs d1fe14d366 Notify mech drivers with original and modified network. 5288593faf [L3-HA] Disable automatic link-local address assignment for HA routers 36bf1df46d Partially revert "Do not link up HA router gateway in backup node" f3b84ed099 Remove unneeded contexts in ``_create_port_security_group_binding`` 6890204765 Move ``PortBindingChassisEvent`` checks to ``match_fn`` ae4f9af528 Log when a segment is mapped/unmapped to a host 6012ba074f Start using security-groups-shared-filtering from neutron-lib 096e4df5fc "_handle_lb_fip_cmds" to handle the LB members correctly 5a9695c819 Make ``MechDriverSetupBase`` abstract 76a1206888 Update OVN gaps document 7c9244ad15 Documentation about transaction contexts 88fb5416f7 Bump neutron-lib to 2.21.0 7c4f273ed9 Revert "doc: Remove fwaas references from docs" 3c93da7bdf Set "type=virtual" for OVN LSP with parent ports 32e8303b3b Skip "PortBindingChassisEvent" if revision number changes 18c32e4339 [OVN]Any string type dhcp options should be quoted 182044d628 Do not auto subquery load DistributedPortBindings c2786554ad [sqlalchemy-20] Add the needed DB context decorators in ``db.api`` 59973d29c3 [sqlalchemy-20] Add missing DB contexts in L3 methods 39d751a332 Refactor the OVN revision module to access the DB correctly b48595e419 [sqlalchemy-20] Add DB context in L2pop module 3c637a2d12 [OVN] During the DB migration, allow the DB context to finish 68bbd3586b [Trunk] Check if parent port belongs to OVN to activate cd8bf18150 [L3HA] Don't update HA router's ports if router isn't active on agents 1b51ad28f3 Check the Chassis_Private nb_cfg_timestamp with current value db2ae854cf Create an index for "ports.network_id" eb99c22213 Remove "distutils" library 4c37497e7c [OVN] Allow VIP ports with a defined "device_owner" 44c03ca8e1 Register common config options in ``MechDriverSetupBase`` 1471f531b8 [OVN] Handle missing acls during log removal 8c5cde363e Fix pep8 endless loop in "test_update_flows_for_vlan_remote_group" cbb4c2274a Drop python3.6/3.7 support in testing runtime 02e1658f8a Update python testing as per zed cycle teting runtime ab62f17409 migration: Fail task if executed script failed a163832697 doc: BGP dynamic routing guide: replaced deprecated bgp speaker show dragents with new dragent list --bgp-speaker b5d4bc376c [UT] Do not create network ports with same MAC address ab84b7fb2b Allow to process FW OF rules belonging to a port in a single operation 701900ac33 FUP: remove convert_to_sanitized_binding_profile_allocation 430c220d05 [OVS] Add "Open Flow processing considerations" doc section f1a082ce50 Fullstack tests of packet rate limit for ovs qos driver 5765186516 Support pps limitation for openvswitch agent 0232ead2c3 Meter flows and ovsdb action for ovs bridge 8a55f09192 [ovn]Refusing to bind port to dead agent 494c477b21 [OVN][FT] Wait until virtual parents are written 9e263dcf00 [ovn]support read chassis update time from nb_cfg_timestamp 5126c0adc7 Doc: Add note for IPv6 port update special cases 227c5f8568 Avoid register config options on imports 19fb968472 ovn: Change logging level for OVN metadata agent 601eeca281 ovs: add complete details to the log 243c209eb2 [OVN] Add baremetal support with Neutron DHCP agent bc8e512b4a Drop lower-constraints.txt and its testing 3939ec35af Bump oslo.policy to 3.12.0 8df2f69b6f Handle properly ObjectNotFound while deleting network from DHCP agent c4677e1b3c Imported Translations from Zanata 76d0839db8 [Doc] packet rate limit user workflow and notes c13fbf1d23 doc: update peering network BGP guide a9b8253db4 Update bug triage documentation 2a8187124b Docs build: Add NOTE to not remove requirements.txt 8635b60f24 Change 'DHCP' option group name to 'dhcp' f15baf16dd Docs build: Add requirements.txt to deps dcbc4beb9e Use monkey_patch for neutron API server. a1d7d7a485 [QoS] Unify agent "qos_network_policy_id" constant 9b4dec3a16 doc: point to relevant nova config in routed networks guide 2869d008e2 [OVN][Migration] More robust checks on stop-agents 141f372c82 [OVS] Do not shadow "l2_agent_extensions_manager" module 11a2217962 Use neutron-lib subnet-service-types API def ALIAS in _supported_extension_aliases 9025f8a571 Remove "live_migration_events" configuration option 64bc2c214e Make the recheck policy more prominently visible 4e78aaa694 Update port MAC from binding profile for PFs b80f152edf Add policy for packet rate limit rules c4adec924a Remove useless function _add_port_tag_info 8dfb24a933 Remove block flow when port UP 5f2eaadf40 [ovn][migration] Support migration to OVN from iptables firewall a13a4cb2da Fix setting table monitoring conditions 15b826a05f [OVN] Implement GW IP network QoS inheritance f1a5511e90 [OVN] Handle OVN agents when "Chassis" register is deleted e3b3ec9309 [DHCP] Break reference chain to any Exception object when resync 4d3a274765 Don't register config options on imports fde91e8059 Remove "allow_overlapping_ips" config option ccf8e71efa ovn migration: Fix check for stack name 79de6969fa Drop vzctl dep from bindep package list 9b66e81d2e Also add B324 to bandit skip list for python3.9+ 0124dab423 [ovn]Set NB/SB "connection" inactivity probe support multi addresses 60bc6c7a99 [API] Return 403 for POST requests when user is not authorized c4618857b0 Add ADMIN role and remove scope from the check strings 9bc447077b Enable dstat and memory_tracker in functional/fullstack jobs ad3171c538 [docs] L3 router support ndp proxy c0bf560fa3 Force security_group_id uuid validation of sg rules d73ec5000b [L3] Fix "NDPProxyAgentExtension.ha_state_change" call eeb918e1b9 Add the corresponding DB context to all SQL transactions 837fda7566 Change set_device_rate calls according to new signature 35b8c8d56d Doc: Add warning for not supported Prefix Delegation e41b8d0a94 Switch fips scenario jobs to Centos stream 9 416e0445a8 Fix i18n missing in ipam_backend_mixin c63ebef2d5 Add tag to port more earlier 9183213067 Remove reference of openstack-health 4f75c6a616 Retry port_update in the OVN if revision mismatch during live-migration 8ccbbb2292 [quota] Enable ``DbQuotaDriverNull`` as a production driver b8dcb0b7af Set bigger swap in the functional and fullstack jobs 51d1899bac Handle properly InvalidScope exceptions to not return error 500 10250fa6d8 ovn: Don't override idl lookup() method with timeout af03d133f4 ovn: Wait for northd in functional tests cc50b45ca3 [test][unit]creating resources support set project_id 953c1671a8 Fix some Openvswitch firewall doc typos e7edcec260 Ensure that re_added ports are DOWN before set back to UP 0baf8841ee ovn migration: Turn validations off by default 5b2fd1f830 ovn migration: Remove usage of tripleo-ansible-inventory 282ccbb8f0 [Fullstack] Remove dhcp agent in tests where it isn't necessary 7d5ee7089b [FT] Run all .*MySQL tests in an isolated thread 8ad6c3bf60 [L3][QoS] Remove router QoS binding when GW is removed 3a81b051d4 [SR-IOV] Default "propagate_uplink_status" flag to True 1a2da88b90 Fix multinode ovn/ovs with source deploy jobs 4e98078e7a [OVN] Pin OVS version for OVN v21.06.0 7c2420e3af Add "qos_policy_id" field to "Router" OVO 132905d81f [L3][QoS] L3 agent QoS extension to handle duplicated FIPs 2d1b4fd80f [OVN] Implement router gateway IP QoS 7cedbdeaba Log request IDs for matched Nova external events 74a9e832d7 Add retry for privsep get_link_devices 2492cf2e07 [OVN][port-forwarding] Add lb also to logical_switches 2ffee1469f [OVN] Remove maintenance "check_for_port_security_unknown_address" 0529ccdf71 ovn migration: Don't use executables in /tmp/ 83b6ce9e9e Remove exception ``IpAddressAllocationNotFound`` 25350b2492 [OVN][migration] Clean sg- and fg- interfaces 960840a292 [OVN] Remove conditional metadata namespace with network name f7ab90baad Fix ingress bandwidth limit in the openvswitch agent 6a7348331b [OVN] Remove maintenance "check_metadata_ports" 9718fcf83f [OVN] Remove maintenance "check_for_fragmentation_support" aaca6e08ad Add grenade-skip-level (tick-tick) job b6fff6e3b9 Update tox-override template with py38 jobs b271c82d10 Extend database to support portforwardings with port range 10c2fa034f [QoS][L3] Use floating IP OVO QoS fields 9d4e6edd5b Ensure no GARPs are sent for Load Balancer VIPs on tenant networks f7fac03ae1 Repeat few times put new interface in the namespace b5253b224b [OVN] Reschedule router GW chassis when AZ updated 4024168a05 Add extra logs to the ip_monitor class 0ec523aac1 ovn: Retry port binding on deadlock when migrating to ovn 99855543e1 Enable sctp module in the fullstack Centos node d8c76db952 Run configure_for_func_testing script after enable fips 79e6125dc0 Add all jobs from the periodic queue to experimental one 020f874033 Make irrelevant files for functional/fullstack more accurate 52e302f0a3 Use python3-devel in bindep for rpm distros 6f0c987d95 Add Python3 zed unit tests 2f475330ea Update master for stable/yoga 0255f41ad0 Clean duplicated QoS bandwidth related methods in ovs_lib module d966845e5b [OVN] Remove maintenance "check_for_localnet_legacy_port_name" 5a60701f1f Open Zed DB branch 2347201455 [OVN] OVN metadata namespace is named "ovnmeta-$net_uuid" d284e4f38f Add some packages to the bindep list 820b2e2665 Ensure gateway is set for prefix delegated subnets 017a098455 Add ndp_proxy to devstack plugin bdbabdf362 [OVN] Update VIP port host ID when traffic detected 9b27020a65 [Agent Side] L3 router support ndp proxy 2f944d3105 Support filtering for QoS rule type list 7c1174a3bf [OVN] Update OVN DB schemas used for tests Diffstat (except docs and test files) ------------------------------------- .gitreview | 1 + README.rst | 7 +- TESTING.rst | 6 +- bindep.txt | 8 +- devstack/lib/l3_ndp_proxy | 4 + devstack/plugin.sh | 4 + .../figures/bgp-dynamic-routing-example1.graffle | Bin 4771 -> 318288 bytes .../admin/figures/bgp-dynamic-routing-example1.png | Bin 112315 -> 129323 bytes .../admin/figures/bgp-dynamic-routing-example1.svg | 231 ++++++- .../figures/bgp-dynamic-routing-example2.graffle | Bin 4957 -> 308678 bytes .../admin/figures/bgp-dynamic-routing-example2.png | Bin 133030 -> 155323 bytes .../admin/figures/bgp-dynamic-routing-example2.svg | 266 +++++++- .../contributor/{policies => }/gerrit-recheck.rst | 23 +- .../contributor/internals/live_migration.rst | 21 + .../contributor/internals/openvswitch_firewall.rst | 56 +- .../contributor/internals/quality_of_service.rst | 2 +- .../contributor/internals/service_extensions.rst | 4 - .../contributor/internals/services_and_agents.rst | 2 +- .../contributor/policies/gate-failure-triage.rst | 9 +- .../contributor/testing/ci_scenario_jobs.rst | 12 +- .../testing/template_model_sync_test.rst | 4 +- .../install/controller-install-option2-obs.rst | 1 - .../install/controller-install-option2-rdo.rst | 1 - .../install/controller-install-option2-ubuntu.rst | 1 - etc/oslo-config-generator/neutron.conf | 1 + lower-constraints.txt | 139 ---- neutron/agent/common/ovs_lib.py | 502 ++++++++------ neutron/agent/common/polling.py | 6 +- neutron/agent/common/utils.py | 54 +- neutron/agent/dhcp/agent.py | 6 +- neutron/agent/dhcp_agent.py | 1 + neutron/agent/l2/extensions/dhcp/ipv4.py | 2 +- neutron/agent/l2/extensions/dhcp/ipv6.py | 2 +- neutron/agent/l2/extensions/fdb_population.py | 5 +- neutron/agent/l2/extensions/local_ip.py | 3 +- neutron/agent/l2/extensions/qos.py | 6 +- neutron/agent/l3/dvr_edge_ha_router.py | 6 +- neutron/agent/l3/dvr_fip_ns.py | 28 +- neutron/agent/l3/dvr_local_router.py | 6 +- neutron/agent/l3/extensions/ndp_proxy.py | 454 +++++++++++++ neutron/agent/l3/extensions/port_forwarding.py | 39 +- neutron/agent/l3/extensions/qos/base.py | 42 +- neutron/agent/l3/extensions/qos/fip.py | 197 +++--- neutron/agent/l3/ha.py | 16 +- neutron/agent/l3/ha_router.py | 37 +- neutron/agent/l3/keepalived_state_change.py | 1 + neutron/agent/l3/l3_agent_extension_api.py | 2 +- neutron/agent/l3/router_info.py | 20 +- neutron/agent/l3_agent.py | 1 + neutron/agent/linux/dhcp.py | 5 +- neutron/agent/linux/interface.py | 112 ++-- neutron/agent/linux/ip_lib.py | 21 +- neutron/agent/linux/iptables_manager.py | 20 + .../agent/linux/openvswitch_firewall/firewall.py | 45 +- neutron/agent/linux/openvswitch_firewall/rules.py | 3 +- neutron/agent/linux/tc_lib.py | 2 +- neutron/agent/metadata_agent.py | 1 + neutron/agent/ovn/metadata/agent.py | 27 +- neutron/agent/ovn/metadata/driver.py | 10 +- neutron/agent/ovn/metadata/ovsdb.py | 13 +- neutron/agent/ovn/metadata_agent.py | 3 + neutron/agent/ovsdb/impl_idl.py | 4 +- neutron/agent/resource_cache.py | 8 +- neutron/agent/rpc.py | 15 +- neutron/agent/securitygroups_rpc.py | 4 +- neutron/api/converters.py | 37 -- neutron/api/extensions.py | 6 +- .../api/rpc/agentnotifiers/dhcp_rpc_agent_api.py | 27 +- neutron/api/rpc/callbacks/resources.py | 6 + neutron/api/rpc/handlers/dhcp_rpc.py | 34 +- neutron/api/rpc/handlers/l3_rpc.py | 17 +- neutron/api/v2/base.py | 9 +- neutron/cmd/destroy_patch_ports.py | 10 +- neutron/cmd/eventlet/agents/dhcp.py | 2 +- neutron/cmd/eventlet/agents/l3.py | 2 +- neutron/cmd/eventlet/agents/metadata.py | 2 +- neutron/cmd/eventlet/agents/ovn_metadata.py | 2 +- .../eventlet/plugins/linuxbridge_neutron_agent.py | 2 +- .../cmd/eventlet/plugins/macvtap_neutron_agent.py | 2 +- neutron/cmd/eventlet/plugins/ovs_neutron_agent.py | 2 +- .../eventlet/plugins/sriov_nic_neutron_agent.py | 2 +- neutron/cmd/eventlet/server/__init__.py | 5 + neutron/cmd/eventlet/services/metering_agent.py | 2 +- neutron/cmd/eventlet/usage_audit.py | 1 + neutron/cmd/ipset_cleanup.py | 1 + neutron/cmd/linuxbridge_cleanup.py | 6 +- neutron/cmd/netns_cleanup.py | 1 + neutron/cmd/ovn/migration_mtu.py | 4 +- neutron/cmd/ovn/ml2ovn_trace.py | 2 +- neutron/cmd/ovn/neutron_ovn_db_sync_util.py | 7 +- neutron/cmd/ovs_cleanup.py | 1 + neutron/cmd/remove_duplicated_port_bindings.py | 71 ++ .../sanitize_port_binding_profile_allocation.py | 6 +- neutron/cmd/sanitize_port_mac_addresses.py | 2 + neutron/cmd/sanity/checks.py | 19 +- neutron/cmd/sanity_check.py | 13 +- neutron/cmd/status.py | 3 +- neutron/cmd/upgrade_checks/base.py | 2 +- neutron/cmd/upgrade_checks/checks.py | 19 +- neutron/common/_constants.py | 2 +- neutron/common/config.py | 59 +- neutron/common/experimental.py | 39 ++ neutron/common/ovn/constants.py | 36 +- neutron/common/ovn/exceptions.py | 2 +- neutron/common/ovn/extensions.py | 16 +- neutron/common/ovn/hash_ring_manager.py | 15 +- neutron/common/ovn/utils.py | 88 ++- neutron/common/utils.py | 37 +- neutron/conf/agent/common.py | 29 +- neutron/conf/common.py | 43 +- neutron/conf/experimental.py | 29 + neutron/conf/plugins/ml2/drivers/linuxbridge.py | 2 +- neutron/conf/plugins/ml2/drivers/ovn/ovn_conf.py | 30 +- neutron/conf/plugins/ml2/drivers/ovs_conf.py | 23 +- neutron/conf/policies/address_scope.py | 22 +- neutron/conf/policies/agent.py | 46 +- neutron/conf/policies/availability_zone.py | 6 +- neutron/conf/policies/base.py | 35 +- neutron/conf/policies/flavor.py | 46 +- neutron/conf/policies/floatingip.py | 18 +- neutron/conf/policies/logging.py | 22 +- neutron/conf/policies/metering.py | 16 +- neutron/conf/policies/network.py | 61 +- neutron/conf/policies/network_ip_availability.py | 6 +- neutron/conf/policies/network_segment_range.py | 18 +- neutron/conf/policies/port.py | 72 +- neutron/conf/policies/qos.py | 146 ++-- neutron/conf/policies/quotas.py | 14 +- neutron/conf/policies/rbac.py | 20 +- neutron/conf/policies/router.py | 68 +- neutron/conf/policies/segment.py | 18 +- neutron/conf/policies/service_type.py | 8 +- neutron/conf/policies/subnet.py | 14 +- neutron/conf/policies/subnetpool.py | 31 +- neutron/conf/quota.py | 9 +- neutron/db/agents_db.py | 2 +- neutron/db/agentschedulers_db.py | 5 +- neutron/db/db_base_plugin_common.py | 5 +- neutron/db/db_base_plugin_v2.py | 87 ++- neutron/db/dvr_mac_db.py | 6 +- neutron/db/external_net_db.py | 14 +- neutron/db/ipam_backend_mixin.py | 14 +- neutron/db/ipam_pluggable_backend.py | 4 +- neutron/db/l3_agentschedulers_db.py | 5 +- neutron/db/l3_db.py | 192 +++--- neutron/db/l3_dvr_db.py | 7 +- neutron/db/l3_dvrscheduler_db.py | 18 +- neutron/db/l3_fip_qos.py | 36 - neutron/db/l3_gateway_ip_qos.py | 30 +- neutron/db/l3_hamode_db.py | 4 +- neutron/db/migration/__init__.py | 2 + .../alembic_migrations/versions/EXPAND_HEAD | 2 +- ...8d6f371_rbac_target_tenant_to_target_project.py | 3 +- .../34cf8b009713_add_router_ndp_proxy_table.py | 4 + .../21ff98fabab1_add_ndp_proxy_constraint.py | 37 ++ .../4e6e655746f6_add_index_to_ports_network_id.py | 34 + .../5881373af7f5_delete_sgpb_on_sg_deletion.py | 59 ++ ...30a1_add_index_to_subnetpools_address_scope_.py | 35 + .../I43e0b669096_port_forwarding_port_ranges.py | 154 +++++ neutron/db/migration/cli.py | 5 +- neutron/db/models/ndp_proxy.py | 6 + neutron/db/models/port_forwarding.py | 25 +- neutron/db/models/securitygroup.py | 3 +- neutron/db/models_v2.py | 6 +- neutron/db/network_ip_availability_db.py | 1 + neutron/db/ovn_revision_numbers_db.py | 23 +- neutron/db/provisioning_blocks.py | 43 +- neutron/db/quota/api.py | 57 +- neutron/db/quota/driver.py | 13 +- neutron/db/quota/driver_nolock.py | 4 + neutron/db/quota/driver_null.py | 75 +++ neutron/db/securitygroups_db.py | 25 +- neutron/db/securitygroups_rpc_base.py | 4 + neutron/db/uplink_status_propagation_db.py | 6 +- neutron/debug/README | 2 +- neutron/debug/shell.py | 2 + neutron/extensions/fip_pf_detail.py | 20 + neutron/extensions/fip_pf_port_range.py | 20 + neutron/extensions/floating_ip_port_forwarding.py | 10 +- neutron/extensions/floatingip_pools.py | 10 +- neutron/extensions/l3_conntrack_helper.py | 10 +- neutron/extensions/l3_ndp_proxy.py | 10 +- neutron/extensions/logging.py | 10 +- neutron/extensions/port_mac_address_override.py | 21 + neutron/extensions/qos.py | 26 +- neutron/extensions/qos_pps_minimum_rule.py | 2 +- neutron/extensions/qos_pps_minimum_rule_alias.py | 2 +- neutron/extensions/qos_rule_type_filter.py | 20 + neutron/extensions/qos_rules_alias.py | 2 +- neutron/extensions/quotasv2.py | 13 +- .../extensions/security_groups_shared_filtering.py | 6 +- .../security_groups_shared_filtering_lib.py | 67 -- neutron/extensions/securitygroup.py | 4 +- neutron/hacking/checks.py | 2 +- neutron/ipam/driver.py | 2 +- neutron/ipam/drivers/neutrondb_ipam/db_api.py | 2 +- neutron/ipam/drivers/neutrondb_ipam/driver.py | 10 +- neutron/ipam/exceptions.py | 5 - neutron/ipam/subnet_alloc.py | 2 +- neutron/locale/de/LC_MESSAGES/neutron.po | 114 +--- neutron/locale/es/LC_MESSAGES/neutron.po | 112 +--- neutron/locale/fr/LC_MESSAGES/neutron.po | 111 +--- neutron/locale/it/LC_MESSAGES/neutron.po | 109 +-- neutron/locale/ja/LC_MESSAGES/neutron.po | 108 +-- neutron/locale/ko_KR/LC_MESSAGES/neutron.po | 102 +-- neutron/locale/pt_BR/LC_MESSAGES/neutron.po | 111 +--- neutron/locale/ru/LC_MESSAGES/neutron.po | 107 +-- neutron/locale/zh_CN/LC_MESSAGES/neutron.po | 114 +--- neutron/locale/zh_TW/LC_MESSAGES/neutron.po | 99 +-- neutron/notifiers/nova.py | 22 +- neutron/objects/address_scope.py | 2 + neutron/objects/agent.py | 31 +- neutron/objects/base.py | 38 +- neutron/objects/db/api.py | 14 +- neutron/objects/l3_hamode.py | 2 + neutron/objects/l3agent.py | 22 +- neutron/objects/network_segment_range.py | 8 +- .../objects/port/extensions/allowedaddresspairs.py | 2 +- neutron/objects/port/extensions/extra_dhcp_opt.py | 13 +- neutron/objects/port_forwarding.py | 198 +++++- neutron/objects/ports.py | 41 +- neutron/objects/qos/binding.py | 28 +- neutron/objects/qos/policy.py | 10 +- neutron/objects/qos/qos_policy_validator.py | 8 +- neutron/objects/qos/rule_type.py | 11 +- neutron/objects/quota.py | 7 +- neutron/objects/rbac.py | 2 + neutron/objects/rbac_db.py | 65 +- neutron/objects/router.py | 54 +- neutron/objects/securitygroup.py | 20 +- neutron/objects/subnet.py | 24 +- neutron/objects/subnetpool.py | 28 +- neutron/opts.py | 15 +- neutron/pecan_wsgi/hooks/policy_enforcement.py | 14 +- neutron/plugins/ml2/db.py | 25 +- neutron/plugins/ml2/drivers/l2pop/db.py | 18 +- neutron/plugins/ml2/drivers/l2pop/mech_driver.py | 17 +- .../drivers/l2pop/rpc_manager/l2population_rpc.py | 36 +- .../ml2/drivers/linuxbridge/agent/common/config.py | 1 + .../linuxbridge/agent/linuxbridge_neutron_agent.py | 2 +- .../linuxbridge/mech_driver/mech_linuxbridge.py | 4 + .../drivers/macvtap/agent/macvtap_neutron_agent.py | 1 + neutron/plugins/ml2/drivers/mech_agent.py | 30 +- .../ml2/drivers/mech_sriov/agent/common/config.py | 7 +- .../drivers/mech_sriov/agent/eswitch_manager.py | 6 +- .../drivers/mech_sriov/agent/sriov_nic_agent.py | 1 + .../ml2/drivers/openvswitch/agent/common/config.py | 8 +- .../drivers/openvswitch/agent/common/constants.py | 230 ------- .../drivers/openvswitch/agent/common/exceptions.py | 21 + .../agent/extension_drivers/qos_driver.py | 248 ++++++- .../plugins/ml2/drivers/openvswitch/agent/main.py | 1 + .../agent/openflow/native/br_dvr_process.py | 3 +- .../openvswitch/agent/openflow/native/br_int.py | 93 ++- .../openvswitch/agent/openflow/native/br_phys.py | 3 +- .../openvswitch/agent/openflow/native/br_tun.py | 2 +- .../agent/openflow/native/ovs_bridge.py | 3 +- .../drivers/openvswitch/agent/ovs_capabilities.py | 6 + .../openvswitch/agent/ovs_dvr_neutron_agent.py | 71 +- .../drivers/openvswitch/agent/ovs_neutron_agent.py | 480 +++++++------ .../ml2/drivers/openvswitch/agent/vlanmanager.py | 82 ++- .../openvswitch/mech_driver/mech_openvswitch.py | 17 +- .../plugins/ml2/drivers/ovn/agent/neutron_agent.py | 73 +- neutron/plugins/ml2/drivers/ovn/db_migration.py | 53 +- .../ml2/drivers/ovn/mech_driver/mech_driver.py | 196 ++++-- .../ml2/drivers/ovn/mech_driver/ovsdb/api.py | 16 +- .../ml2/drivers/ovn/mech_driver/ovsdb/commands.py | 29 + .../ovn/mech_driver/ovsdb/extensions/qos.py | 155 ++++- .../drivers/ovn/mech_driver/ovsdb/impl_idl_ovn.py | 84 +-- .../drivers/ovn/mech_driver/ovsdb/maintenance.py | 239 +++---- .../drivers/ovn/mech_driver/ovsdb/ovn_client.py | 301 +++++---- .../drivers/ovn/mech_driver/ovsdb/ovn_db_sync.py | 65 +- .../drivers/ovn/mech_driver/ovsdb/ovsdb_monitor.py | 365 +++++----- neutron/plugins/ml2/drivers/type_tunnel.py | 50 +- neutron/plugins/ml2/managers.py | 23 +- neutron/plugins/ml2/models.py | 1 - neutron/plugins/ml2/ovo_rpc.py | 3 +- neutron/plugins/ml2/plugin.py | 242 +++++-- neutron/plugins/ml2/rpc.py | 6 +- neutron/policy.py | 13 +- neutron/privileged/agent/linux/ip_lib.py | 95 ++- neutron/quota/__init__.py | 2 - neutron/quota/resource.py | 9 +- neutron/scheduler/base_scheduler.py | 2 +- neutron/scheduler/l3_ovn_scheduler.py | 5 +- neutron/server/__init__.py | 11 +- neutron/server/api_eventlet.py | 25 + .../externaldns/drivers/designate/driver.py | 2 + neutron/services/l3_router/l3_router_plugin.py | 2 + neutron/services/logapi/agent/l3/base.py | 4 +- .../logapi/drivers/openvswitch/ovs_firewall_log.py | 3 +- neutron/services/logapi/drivers/ovn/driver.py | 16 +- neutron/services/metering/agents/metering_agent.py | 1 + .../metering/drivers/iptables/iptables_driver.py | 2 +- neutron/services/ndp_proxy/exceptions.py | 6 +- neutron/services/ndp_proxy/plugin.py | 36 +- neutron/services/ovn_l3/plugin.py | 32 +- neutron/services/placement_report/plugin.py | 4 +- .../services/portforwarding/drivers/ovn/driver.py | 149 ++++- neutron/services/portforwarding/pf_plugin.py | 118 +++- neutron/services/qos/drivers/manager.py | 17 +- neutron/services/qos/drivers/openvswitch/driver.py | 8 + neutron/services/qos/qos_plugin.py | 59 +- neutron/services/revisions/revision_plugin.py | 33 +- neutron/services/segments/db.py | 16 +- neutron/services/tag/tag_plugin.py | 1 + .../trunk/drivers/openvswitch/agent/driver.py | 6 + .../drivers/openvswitch/agent/ovsdb_handler.py | 3 +- .../services/trunk/drivers/openvswitch/driver.py | 3 +- neutron/services/trunk/drivers/ovn/trunk_driver.py | 12 + neutron/services/trunk/rpc/agent.py | 3 + .../l2/extensions/test_ovs_agent_qos_extension.py | 2 +- .../l3/extensions/test_ndp_proxy_extension.py | 310 +++++++++ .../extensions/test_port_forwarding_extension.py | 8 + .../functional/cmd/test_destroy_patch_ports.py | 8 +- .../ovn/mech_driver/ovsdb/extensions/test_qos.py | 35 + .../drivers/ovn/mech_driver/ovsdb/test_impl_idl.py | 19 +- .../ovn/mech_driver/ovsdb/test_maintenance.py | 99 --- .../ovn/mech_driver/ovsdb/test_ovn_db_resources.py | 6 +- .../ovn/mech_driver/ovsdb/test_ovn_db_sync.py | 104 ++- .../ovn/mech_driver/ovsdb/test_ovsdb_monitor.py | 226 ++++++- .../drivers/ovn/mech_driver/test_mech_driver.py | 239 +++++-- .../privileged/agent/linux/test_ip_lib.py | 18 +- .../l3_router/test_l3_dvr_router_plugin.py | 38 +- .../functional/services/logapi/test_logging.py | 3 +- .../functional/services/ovn_l3/test_plugin.py | 61 +- .../portforwarding/test_port_forwarding.py | 19 +- .../unit/agent/l2/extensions/dhcp/test_ipv6.py | 15 +- .../agent/l2/extensions/test_fdb_population.py | 3 +- .../unit/agent/l2/extensions/test_local_ip.py | 3 +- .../unit/agent/l3/extensions/qos/test_base.py | 12 +- .../agent/l3/extensions/qos/test_gateway_ip.py | 4 +- .../agent/l3/extensions/test_conntrack_helper.py | 2 +- .../unit/agent/l3/extensions/test_ndp_proxy.py | 740 +++++++++++++++++++++ .../agent/l3/extensions/test_port_forwarding.py | 77 ++- .../linux/openvswitch_firewall/test_firewall.py | 40 +- .../linux/openvswitch_firewall/test_iptables.py | 16 +- .../agent/linux/openvswitch_firewall/test_rules.py | 3 +- .../rpc/agentnotifiers/test_dhcp_rpc_agent_api.py | 40 +- .../unit/cmd/ovn/test_neutron_ovn_db_sync_util.py | 2 +- .../unit/common/ovn/test_hash_ring_manager.py | 11 +- .../conf/policies/test_auto_allocated_topology.py | 8 +- .../unit/conf/policies/test_availability_zone.py | 59 +- .../unit/conf/policies/test_floatingip_pools.py | 8 +- .../policies/test_floatingip_port_forwarding.py | 6 +- .../unit/conf/policies/test_l3_conntrack_helper.py | 6 +- .../conf/policies/test_local_ip_association.py | 6 +- .../conf/policies/test_network_ip_availability.py | 26 +- .../conf/policies/test_network_segment_range.py | 90 +-- .../unit/conf/policies/test_security_group.py | 12 +- .../test_expose_port_forwarding_in_fip.py | 7 +- .../extensions/test_floating_ip_port_forwarding.py | 95 ++- .../unit/extensions/test_subnet_service_types.py | 5 +- .../unit/extensions/test_subnetpool_prefix_ops.py | 8 +- .../ipam/drivers/neutrondb_ipam/test_driver.py | 6 - .../l2pop/rpc_manager/l2population_rpc_base.py | 3 +- .../l2pop/rpc_manager/test_l2population_rpc.py | 2 +- .../unit/plugins/ml2/drivers/l2pop/test_db.py | 2 +- .../agent/extension_drivers/test_qos_driver.py | 2 +- .../mech_driver/test_mech_linuxbridge.py | 32 +- .../unit/plugins/ml2/drivers/mech_fake_agent.py | 2 +- .../mech_sriov/agent/test_eswitch_manager.py | 7 +- .../agent/extension_drivers/test_qos_driver.py | 98 ++- .../agent/openflow/native/ovs_bridge_test_base.py | 12 +- .../agent/openflow/native/test_br_int.py | 127 +++- .../agent/openflow/native/test_br_phys.py | 4 +- .../agent/openflow/native/test_br_tun.py | 4 +- .../openvswitch/agent/test_ovs_neutron_agent.py | 361 +++++----- .../drivers/openvswitch/agent/test_ovs_tunnel.py | 41 +- .../drivers/openvswitch/agent/test_vlanmanager.py | 41 +- .../mech_driver/test_mech_openvswitch.py | 3 +- .../unit/plugins/ml2/drivers/ovn/agent/__init__.py | 0 .../ml2/drivers/ovn/agent/test_neutron_agent.py | 69 ++ .../ovn/mech_driver/ovsdb/extensions/test_qos.py | 190 +++++- .../ovn/mech_driver/ovsdb/schemas/ovn-nb.ovsschema | 64 +- .../ovn/mech_driver/ovsdb/schemas/ovn-sb.ovsschema | 36 +- .../drivers/ovn/mech_driver/ovsdb/test_commands.py | 4 +- .../ovn/mech_driver/ovsdb/test_impl_idl_ovn.py | 40 +- .../ovn/mech_driver/ovsdb/test_maintenance.py | 134 +++- .../ovn/mech_driver/ovsdb/test_ovn_client.py | 2 + .../ovn/mech_driver/ovsdb/test_ovn_db_sync.py | 4 +- .../ovn/mech_driver/ovsdb/test_ovsdb_monitor.py | 373 +++++------ .../drivers/ovn/mech_driver/test_mech_driver.py | 600 ++++++++++++++--- .../plugins/ml2/drivers/ovn/test_db_migration.py | 1 + .../ml2/extensions/test_dns_domain_keywords.py | 4 +- .../extensions/test_uplink_status_propagation.py | 2 +- .../unit/privileged/agent/linux/test_ip_lib.py | 15 +- .../unit/services/externaldns/drivers/__init__.py | 0 .../externaldns/drivers/designate/__init__.py | 0 .../externaldns/drivers/designate/test_driver.py | 278 ++++++++ .../services/logapi/agent/test_log_extension.py | 6 +- .../drivers/openvswitch/test_ovs_firewall_log.py | 3 +- .../services/logapi/drivers/ovn/test_driver.py | 36 +- .../unit/services/metering/test_metering_plugin.py | 6 + .../portforwarding/drivers/ovn/test_driver.py | 317 ++++++++- .../unit/services/portforwarding/test_pf_plugin.py | 2 + .../unit/services/qos/drivers/test_manager.py | 108 ++- .../services/revisions/test_revision_plugin.py | 19 +- .../trunk/drivers/openvswitch/test_driver.py | 3 +- neutron/wsgi.py | 2 +- playbooks/configure_functional_job.yaml | 6 + playbooks/multinode-devstack-custom.yaml | 27 + playbooks/post_functional_job.yaml | 2 +- ...mental-features-framework-8c34291b5b0be367.yaml | 19 + ...ion-allow_overlapping_ips-49a93f56d51d6427.yaml | 5 + ...warding-using-port-ranges-085ca6ae0d3c60a6.yaml | 8 + ...d-port-provisioning-retry-8edf16a258b164a0.yaml | 8 + .../notes/bug-1942329-7687504f9b177f80.yaml | 14 + ...ange-migration-validation-b030b02c5e1acd3d.yaml | 12 + .../drop-python-3-6-and-3-7-9c79fbb80e94faaf.yaml | 5 + ...duplicate-ndp-proxy-entry-28040bc2afb3c1c7.yaml | 6 + ...ha-router-gateway-link-up-73ed5be9dec77b3d.yaml | 7 + .../notes/l3-ndp-proxy-397de144813f9396.yaml | 6 + ...vn-baremetal-provisioning-04211d04d4897833.yaml | 14 + ...ovn-qos-minimum-bandwidth-74d51f63a536440a.yaml | 6 + ...vn-refuse-bind-dead-agent-2310f9f64c2a99de.yaml | 4 + ...ed-chassis-live-migration-7d5d9d68a5d5a86c.yaml | 8 + .../ovn-router-gateway-qos-0897e5572c27fe78.yaml | 5 + ...pport-multiple-connection-122dea1ceda4e741.yaml | 7 + .../notes/ovn-update-vlan-id-749d8f17999243f5.yaml | 7 + ...les-processing-parameters-b38f7a1e88568798.yaml | 11 + ...nk_status_enabled_default-df3daba66e79d056.yaml | 7 + ...nheritance-support-in-ovn-95a53b1dbb5cbac0.yaml | 6 + .../qos-rule-type-filter-9c821e93b27fffe9.yaml | 11 + .../notes/quota_null_driver-d04af65c237e4b12.yaml | 7 + ...-duplicated-port-bindings-83b58060f3adb403.yaml | 10 + ...ove-live_migration_events-f9dd9eacfdf32f97.yaml | 7 + .../revert-ovn-stateless-nat-88076892fd6f7354.yaml | 8 + .../notes/use_random_fully-527b20bc524c308a.yaml | 15 + releasenotes/source/index.rst | 1 + .../locale/en_GB/LC_MESSAGES/releasenotes.po | 41 +- .../source/locale/fr/LC_MESSAGES/releasenotes.po | 90 --- .../locale/ko_KR/LC_MESSAGES/releasenotes.po | 103 --- releasenotes/source/yoga.rst | 6 + requirements.txt | 12 +- roles/fetch_journal_log/README.rst | 16 - roles/fetch_journal_log/defaults/main.yaml | 2 - roles/fetch_journal_log/tasks/main.yaml | 22 - .../defaults/main.yaml | 2 + setup.cfg | 9 +- tools/configure_for_func_testing.sh | 19 + tools/download_gerrit_change.py | 52 +- tools/migrate_names.py | 71 +- .../tripleo_environment/ovn_migration.sh | 60 +- .../playbooks/ovn-migration.yml | 39 +- .../tripleo_environment/playbooks/revert.yml | 4 + .../roles/delete-neutron-resources/tasks/main.yml | 1 - .../roles/migration/tasks/activate-ovn.yml | 4 +- .../roles/migration/tasks/cleanup-dataplane.yml | 11 +- .../roles/migration/tasks/clone-dataplane.yml | 4 +- .../roles/migration/templates/activate-ovn.sh.j2 | 8 +- .../roles/migration/templates/clone-br-int.sh.j2 | 2 +- .../pre-checks/ovn-controllers/tasks/main.yml | 10 - .../roles/recovery-backup/defaults/main.yml | 12 + .../playbooks/roles/recovery-backup/tasks/main.yml | 68 ++ .../playbooks/roles/revert/tasks/main.yml | 29 + .../playbooks/roles/stop-agents/tasks/cleanup.yml | 4 + .../playbooks/roles/tripleo-update/tasks/main.yml | 4 +- .../templates/generate-ovn-extras.sh.j2 | 2 +- tools/requirements.txt | 1 + tox.ini | 34 +- zuul.d/base.yaml | 75 ++- zuul.d/grenade.yaml | 36 +- zuul.d/job-templates.yaml | 74 ++- zuul.d/project.yaml | 7 +- zuul.d/rally.yaml | 12 +- zuul.d/tempest-multinode.yaml | 37 +- zuul.d/tempest-singlenode.yaml | 58 +- zuul.d/tripleo.yaml | 8 +- 654 files changed, 17167 insertions(+), 7831 deletions(-) Requirements updates -------------------- diff --git a/requirements.txt b/requirements.txt index 24886b6c30..83450edd8f 100644 --- a/requirements.txt +++ b/requirements.txt @@ -0,0 +1,4 @@ +# Requirements lower bounds listed here are our best effort to keep them up to +# date but we do not test them so no guarantee of having them all correct. If +# you find any incorrect lower bounds, let us know or propose a fix. + @@ -19 +23 @@ netifaces>=0.10.4 # MIT -neutron-lib>=2.20.0 # Apache-2.0 +neutron-lib>=3.1.0 # Apache-2.0 @@ -36 +40 @@ oslo.middleware>=3.31.0 # Apache-2.0 -oslo.policy>=3.10.1 # Apache-2.0 +oslo.policy>=3.12.0 # Apache-2.0 @@ -49 +53 @@ ovs>=2.10.0 # Apache-2.0 -ovsdbapp>=1.15.0 # Apache-2.0 +ovsdbapp>=1.16.0 # Apache-2.0 @@ -52 +56 @@ psutil>=5.3.0 # BSD -pyroute2>=0.6.4;sys_platform!='win32' # Apache-2.0 (+ dual licensed GPL2) +pyroute2>=0.6.6;sys_platform!='win32' # Apache-2.0 (+ dual licensed GPL2)
participants (1)
-
no-reply@openstack.org