[release-announce] neutron 22.0.0 (antelope)
no-reply at openstack.org
no-reply at openstack.org
Wed Mar 22 12:39:31 UTC 2023
We are happy to announce the release of:
neutron 22.0.0: OpenStack Networking
This release is part of the antelope 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.
22.0.0
^^^^^^
Bug Fixes
* [bug 2003455 (https://bugs.launchpad.net/neutron/+bug/2003455)]
Previous commit
(https://review.opendev.org/c/openstack/neutron/+/871252) added a
workaround to avoid vlan provider networks traffic to be tunneled to
the compute nodes but it was still centralized. Now the traffic is
distributed thanks to using the "redirect-type" flag on the ovn
gateway port.
Changes in neutron 21.0.0.0rc1..22.0.0
--------------------------------------
17faa288ce [OVS] Allow custom ethertype traffic in the ingress table
8c89c3e5d0 Only create a frozen Row on matching events
15053cae84 Ensure vlan network traffic is not centralized
84e83eddae [OVN] Add ``get_gateway_chassis_az_hints`` method to OVN API
2e1adff90e ovs: fix regression when vlan mapping is not already registered
b79990c7a2 [OVN] Method ``get_port_qos`` should always return 2 values
bf12a5c7b5 [OVN] Use the BW values retrieved from ``get_port_qos``
7276eb6476 [OVN] Change oslo config options entry point for the OVN agent
2946d3f629 Change the release tag to use the release identification
ed0078a764 Update TOX_CONSTRAINTS_FILE for stable/2023.1
7a33a7c03d Update .gitreview for stable/2023.1
41846a6e8b [sqlalchemy-20] The Connection.connect() method is considered legacy
19482a049b Add Slawomir Kaplonski as Lieutenant in API, Client and Testing areas
51005388b8 Make retrieval of port mac column safe
6cac935824 Update lieutenants for ovn-octavia-provider
948c9e02e3 [S-RBAC] Add release note about full support for new policies
289ae97c1c Add missing osprofiler options
acb809eea4 [OVN] Ensure traffic for provider vlan networks is not tunneled
7f46ea9b6d Remove unused rbac rule
c2a02d3c69 Remove two duplicated unit tests
dbfc18d1fa Apply Ironic's server-ip-address as TFTP next-server
bdf0c8bdad Move register_common_config_options call to DietTestCase
e7c92d92e4 [sqlalchemy-20] Use the .begin() method of Engine
827fbd01c3 Normalise format of OVN agent heartbeat timestamp
e68e4162ce Prevent router_ha_interface port from being removed via API
aa40aef70f Mark fullstack TestMultiSegs.test_multi_segs_network as unstable
169ef05589 Change neutron-ovs-tempest-dvr-ha-multinode-full job's config
b00ae45140 ml2 plugin: use const from neutron-lib
f991fc2fbe [ovn][ipv6] Skip test_update_delete_extra_route
1e41558851 Reduce number of routers created in ``test_gateway_chassis_rebalance``
51d449babf Move tox-py311 job override into job-templates.yaml
f5dc708e1a Check port.tag is not DEAD_VLAN_TAG in ``DHCPAgentOVSTestFramework``
c61ce3447e Format correctly (dialect=mac_unix_expanded) the MAC addresses
502c0253de [ovn-ipv6] Temporary exclude ``TestNetworkBasicOps`` class
e9ce025a69 [dhcp agent] Fix clean_devices
d052da85cf Mark ``test_port_creation_and_deletion`` as unstable
5e15c4a4d4 Allow other kwargs in ``DhcpBase.disable``
5dac5f8c6c [ovn-ipv6] Temporary exclude test_hotplug_nic
67a232fe71 Remove tripleo related jobs from neutron queues
595c387efb [UT] Mock the retry decorator when creating duplicated NDPProxy
f9880c2013 Increase tox-py311 timeout to 3600 seconds
24152f2019 Add debugging exception messages in ``test_ovs_and_ovs_events``
fce516e346 [OVN] Bump the port revision number in trunk driver
d83e243c6d [OVN] Add missing LSP device_owner info in trunk driver
76f3b75ad6 [OVN] Skip ports with VNIC type direct and no port binding
6df75ca696 Deprecate allow_stateless_action_supported config option
5250598c80 Improve scheduling L3/DHCP agents, missing lower binding indexes
8f7cc690a9 Remove ``L3Scheduler._bind_routers`` method
47fef55e25 Add a method to retrieve and register "rpc_workers" config knob
359030f741 Do not log full network on reload_allocations
4e71675ddb rbacs: add functionl test that asserts behavior on networks/users
5c697b8d60 allow manila ports to do multiple port binding for ML2
c15313ea21 Removed duplicated job call in experimental queue
c93c31852b Adapt deploy_rootwrap filters path for tox4
61b2917a3e Filter subnets by "enable_dhcp" flag using the correct type
8be42f6d72 Enable qos extension_driver in ovn_db_sync
3c2af924d9 Add CI jobs using SQLAlchemy master branch
abfa8940b1 [OVN] Fix the OVN Agent config file location
54eff20a72 [OVN] New OVN Neutron Agent extension: QoS for HWOL
07fd743dc9 Remove extra call to config_logging() for neutron-server
e98a268de4 Propose replacement of ORM from_self()
1c27d8b5b4 [Secure RBAC] Fix policy to get flavors
17be2505d1 [Secure RBAC] Allow network owner to delete ports plugged to the network
5d505e7b7c [Secure RBAC] Add shared_security_groups rule
221cf9497f [Secure RBAC] Add shared_qos_policy rule
f7e31b4c05 [OVN] Allow logging all traffic related to an ACL
267ad86291 Add tox Python3.11 job to the testing queues
83da1e6d79 Improve message for subnet gateway out of host IP addresses range
7cb481a3dc Allow disable stateful security group extension on older OVN
48c3621292 Imported Translations from Zanata
3727103ce7 Fix get_link_devices() with index argument
67e616b238 Never raise an exception in notify()
d0c7bb653a [OVN] Implementation of OVN Neutron Agent
c609084b59 Add doc note on nf_conntrack module requirement
0ae432e717 Fullstack: Wait placement process fixtrue to really stop
910574a5cc Use SLQAlchemy ORM "relationship" instead of "relation"
1d22cfa99a Change flag check order in wait_until_address_ready()
ed68ba4a4c Do not ignore attributes in bulk port create
d73f75c551 [API] Add API extension and definition for default SG rules
1a3bdff18a Honor debug mode in keepalived-state-change script logs
ec438577bd Use dhcpcd client in the tempest slow jobs
f235ce8791 Add new debugging logs for ``ARPSpoofTestCase``
78c3d52bb4 [OVN] Introduce the new OVN Neutron Agent
feb9f2b21c ovn-migration: Stop neutron server while running db sync
2495ad2856 Avoid failure of get_device_details if net from cache is empty
b6750fb2b8 [OVN] Add vnic_type and binding profile capabilities to LSP info
a3bf74baa5 Ignore reno artefacts (RELEASENOTES.rst and reno.cache)
1d84aaf877 Bump the minimum pyroute2 version to 0.7.3
463c3df4cf [ovn] Do not create empty default route when empty gateway_ip
70a86637e7 Allow shared resources between physical and tunnelled networks
f28e416599 Add 3 secs to wait for keepalived state change
d7f68a0ce7 Set proxy_delay to one when using proxy ARP
d0e64c6617 Add auto-allocated-topology delete example to docs
3354b43d5a Increase fullstack job's timeout
e2097157bb Allow multiple IPv6 ports on router from same network ml2/ovs+dvr
de0918cea3 Add debug logs to OVSInterfaceDriver.plug_new
7751ac32a7 Add info on segments extension to contrib guide
ed048638f4 Add text to WSGI config guide for debugging
c362016620 Ensure that MAC address of the device is set correctly
3e1e2d63b3 Enable rpc notifications only when rpc_workers >= 1
1c89db495c [OVN][FT] Also update nb_cfg along with nb_cfg_timestamp
d59bf5ff6c Temporary update envlist for tox4
25ec6e7e4f Set ip_nonlocal_bind to 1 for HA routers and DVR snat
07fd0e101b Revert "Documentation for adding extra port conflict fix"
6501ebc6ca Documentation for adding extra port conflict fix
f759915ab0 Fix default value for MTUs, when not provided
02030f037a ovs-dpdk support in neutron-sanity-check
9f9478071e Bump Cirros version used in CI jobs to 0.6.1
bee07defac Track all interfaces in Keepalived
26da863ca6 Remove deprecated opt keepalived_use_no_track
4fa85b9a99 Fix incorrect mysql examples
edf48e46a1 Improve agent provision performance for large networks
5e19eaadbb [OVN] Fix availability zones changes check
3ebdfe612a Support for minimum bandwidth rules in tunnelled networks
572185e1fd Delete the PB level registers when deleting the duplicated PB
be0776d647 Add sanity check for keepalived gar on SIGHUP support
b040e6139e [Fullstack] use common assert for ncat connection
3d575f8bd0 Add an env variable "PROCESS_TAG" in ``ProcessManager``
08e485d0cd Ignore python warnings in the neutron-status functional tests
370d8bcea3 [Fullstack] Wait 10 seconds to ensure that MAC address is configured
4edf94041f Remove note about migration from lib/neutron-legacy to lib/neutron
0475a3e3f3 Fix typos in routed networks doc file
dad23fdcdb Strictly delete arp_spoofing_protection flows
faa4803302 dhcp: fix issue when network is already removed
be0996c308 segment: enable multisegments support for host
7c449f1833 Enable ML2/OVS backend in the -ovs- grenade jobs explicitly
9401da6c7c Handle if "TRUNK_SKELETON" is not loaded
b5fdad3cfb Pin OVS_BRANCH in ipv6 ovn job
14d0ff0317 Add ``devlink.get_port`` method for devlink ports
0d315d2467 Update .pylintrc
86badcfe2d Fix some pylint indentation warnings
4e75c69ab6 Add extra logs when checking if FIP GW port has been created
cbd03c7ea5 Wait until local OVS DB updates Bridge "datapath_id"
1d46b19951 Pin OVS_BRANCH to master again
4cc611d319 Fix handling the restart of ovn-controllers
44ad4bb517 Remove deprecated "list_moved_globals" script
8bcaf1632f Limit tox version to <4
c2fb0b16b6 Rename setup-mtu-t1 argument because it is misleading
135daae62d Use same ovs/ovn versions in local test setups
aaae079883 Fix homedir permissions
405414772e Fix tox.ini for tox4
ca73925f42 Pin OVS_BRANCH to working commit
f7c0f466be Fix text in OVN RevisionConflict exception to match code
c7cd387796 Amend documentation for fullstack tests
dfe69472a8 Check if port exists in ``update_port_virtual_type`` method
2fd17aa876 [OVN] Initialize the mech driver variable in ``OVNL3RouterPlugin``
06fad386ba Fix firewall_driver examples in docs
74224e79e0 Gracefully restart dnsmasq to not break tcp DNS
f22aa5dfdd Discard port with ofport -1 in _get_ofport_moves
81980146cb Add and delete multiple ip addresses in one priv call
92efd8e45b Dont raise RouterInterfaceNotFound on overlap check router ports
49eab7d308 Move registration "ChassisBandwidthConfigEvent" to OvnSbIdl init
234c5a376b [sqlalchemy-20] Add missing DB context decorator
88b7db0e0c Mock ls_get in OVN metadata delete network unit test
a8adb5aa9c [OVN] Implement abstract "post_connect" in "MetadataAgentOvnSbIdl"
81330921d8 Fix some pylint indentation warnings
cca0b3a026 Fix some pylint indentation warnings
fd423f7b1b Reset the MeterIDGenerator singleton after each test
4416706931 Use neutron-lib constants for OVS table numbers
26c55efe34 Do not emit ssl warnings in the test_ssl_connection test
f7dd7790f5 Fix bulk create without mac
895f818cb3 Do not mock the hash method for testing "get_vlan_device_name"
5f819c0767 Update neutron-tox-override-jobs template
c813b658d0 Fix duplicated routes exceptions
f629b77d3c Fix behaviour of enable/disable in OVN network log
5dad500481 Remove deprecation warning of "ovs-ofctl" usage
2272b9be95 Add address scope to the OVN LSP port registers
499ae95881 Bump pecan to fix #1829042
7a7448ead4 Configure placement credentials for segments plugin
6d8ada0ac9 [S-RBAC] Allow admin user to do all API requests by default
4d1a7bd0bc neutron-dynamic-routing now works with OVN
3b1fd52b41 Exclude neutron-dynamic-routing from abandon script
e1d70f9cb0 Disable "test_live_migration_with_trunk" execution from dvr job
eeff5b3c81 db: add segment_index to the unique constraint
67bd2badc9 Fix missing [designate] options
631ad0ce6b ovn: use dicts instead of sets of tuples
ae845d572c ovn: inline ensure_all_networks_provisioned method
686698284b Update tap ip in metadata agent when metadata port ip updated
1a9ae924fd Add VXLAN support reference in the OVN installation guide
3093aaab13 ovn: first tear down old metadata namespaces, then deploy new
0ef4f98825 Remove policy rule for get_network:router:external
2081910d6d Always create a "router_extra_attributes" register per router
5b64ac9013 Use the neutron-lib constant for PACKET_RATE_LIMIT table number (2)
9a483f02be Make MechanismDriverContext plugin_context public
33de608f04 Avoid race condition when deleting trunk bridges
c5640eee11 Use the neutron-lib constant for PACKET_RATE_LIMIT table number
bf44e70db6 OVN: Add support for DHCP option "domain-search" for IPv4
25d4e3862b Code move for metadata haproxy
c3ebefa5f7 Refactor for meter ID Generator
ff66ca9275 Execute functional test "test_get_all_devices" alone
51827d8e78 Remove "test_live_migration_with_trunk" execution
a2090e4cbc Doc: Capitalize keystone domain names
c5ee9f3495 Load the required configuration options in the UT classes
bb2d706107 [doc] Metadata service supports IPv6 networks
b7d04d5d92 Code move for metadata signature function
c6a83988ea Replace Linux Bridge with Open vSwitch in installation docs
81004125c4 [OVN] Prevent maintenance task fail resource stdattr does not exist
9e2a0ac058 Use --exclude-regex in tox.ini
609ebd9504 test: fix docstring validation function
562e9704f8 Update documentation link for openSUSE index.
b1714a2b9d Fix some pylint indentation warnings
55b16d7b7c Fix some pylint indentation warnings
3afa1b1471 Fix some pylint indentation warnings
3702575bfe Fix some pylint indentation warnings
f77c7c9584 Fix some pylint indentation warnings
291eabb0b6 Fix some pylint indentation warnings
d1c2d2c4fe dhcp: support multiple segmentations per network
01b11df1b5 Add tempest job which will run on the oldest Ubuntu release
0da328fbee Add "tempest-integrated-networking" job to the check and gate queues
1abb77d7a6 Check subnet overlapping after add router interface
304394ed77 Revert "Temporary make rally job non voting"
c871135cdd Remove xenapi from neutron ml2 config opts
8fcf00a36d Disable in-band management for bridges before setting up controllers
c33b47edc7 Do not keep gateway port when notifying for router update
7c1a894ce5 Nit: network_update in ovs_neutron_agent has a bad LOG
963f8e30d8 CI: Add tick-tick grenade jobs to check queue
da335193ef Promote neutron-ovn-rally-task job to be voting in check queue
8d5985ba6a [Docs] Remove python version from the ci jobs summary
99339a9704 Clean "ovn ipv6 only" jobs templates
b7b8f7c571 [OVN] Avoid deadlock when cleaning hash ring nodes
cb332acb29 dhcp: add/use cleanup stale devices API
1d8e3b79db dhcp: make device manager to clean only not used devices
4551718bad Add "neutron-ovn-tempest-ovs-release" job to the check and gate queue
ee7bfca937 Remove unnecessary bullet points, unify formatting.
7a5a61616a Remove reference to 'all-plugin' tox environment
72dd768a12 Revert "Since OVN 20.06, config is stored in "Chassis.other_config""
628442aed7 Spread OVN metadata agent heartbeat response in time
ca2e593177 Change grenade job names suffix to "skip-level"
240f2c6aeb Split Hash Ring probing from the maintenance task
1920f2a4e3 Add new oslo master CI jobs to the periodic queue
7b8b797dea Load the required configuration options in the UT classes
4858315286 Fix misplaced comparison constant warnings
3d0f1ef4fa Remove some unnecessary list comprehensions
70a2029ca1 [OVN] Set the default OVN metadata worker number to 0
34b81ae9b7 Remove OVN gap minimum bandwidth support
229d798a45 [OVN] Allow only one physical network per bridge
f43891bf86 [OVN] Allow to execute ``MetadataProxyHandler`` in a local thread
50eee19723 ovn: Use ovsdb-client to create neutron_pg_drop
536498a29a Since OVN 20.06, config is stored in "Chassis.other_config"
0c9e7d4e18 Update grenade skip level jobs for new release
de18dd2c2e [ovn migration] Use ecsda ssh key instead of rsa
d7b44f7218 Allow to pass EUI64 IP address as fixed ip for the port
a3e68e8f76 Fix ipam_pluggable_backend unit tests module
a8a43c8045 Execute "IpMonitorTestCase" tests always inside a namespace
f8fa909444 Since OVN 20.06, config is stored in "Chassis.other_config"
7b15ad9433 Bump minimum OVN version to v21.06.0
e4cc40f114 fix: Fix url of Floodlight
21491efd9f Port provisioning should retry only for VM ports
178ee6fd3d [Trunk] Update the trunk status with the parent status
0b2844b8a8 Add .pylintrc to irrelevant-files for non pep8 jobs
72493d1472 Add missing comma in .pylintrc
3f20cabc4f Revert "Move the "ovn_hash_ring" clean up to maintenance worker"
56f89131dd docs: Remove errant indentation, mark up literals
2f0919f7df Accept a port deletion with missing port binding information
1fe4edab80 Open Antelope DB branch
41a7479d0f Handle several dhcp agents for metadata over ipv6
819a1bb3e6 Move the "ovn_hash_ring" clean up to maintenance worker
e9b5a27001 Use "OVNMechDriver" instance in "TestOvn[Nb|Sb]IdlNotifyHandler"
9eddb132b2 Fix openstack-tox-py39-with-oslo-master job
a765b7acbb [sqlalchemy-20] Add py39 oslo master to experimental
ea11928ba0 Neutron needs oslo.config >= 9
9a1b5d1e51 Imported Translations from Zanata
46bc1e7f13 Switch to 2023.1 Python3 unit tests and generic template name
4914d7fab2 Update master for stable/zed
639257c77b Make path for tcpdump release-specific
cca48be73d Imported Translations from Zanata
f7578e51f2 Collect ovn/ovs logs in singlenode jobs
9655466763 [OVN] Rate limit the "Disallow caching" log from hash ring
Diffstat (except docs and test files)
-------------------------------------
.gitignore | 2 +
.gitreview | 1 +
.pylintrc | 21 +-
TESTING.rst | 61 +---
devstack/lib/ml2 | 2 +-
devstack/lib/segments | 1 +
devstack/plugin.sh | 7 +-
.../contributor/testing/ci_scenario_jobs.rst | 192 +++++------
.../install/common/get-started-networking.rst | 2 +-
.../install/compute-install-option1-ubuntu.rst | 36 +--
.../install/compute-install-option2-ubuntu.rst | 39 +--
.../install/controller-install-option1-obs.rst | 60 ++--
.../install/controller-install-option1-rdo.rst | 60 ++--
.../install/controller-install-option1-ubuntu.rst | 60 ++--
.../install/controller-install-option2-obs.rst | 63 ++--
.../install/controller-install-option2-rdo.rst | 59 ++--
.../install/controller-install-option2-ubuntu.rst | 57 ++--
etc/neutron/rootwrap.d/rootwrap.filters | 6 +
etc/oslo-config-generator/neutron.conf | 2 +
etc/oslo-config-generator/ovn_agent.ini | 6 +
neutron/agent/common/async_process.py | 4 +
neutron/agent/common/ovs_lib.py | 28 +-
neutron/agent/common/placement_report.py | 33 +-
neutron/agent/common/utils.py | 22 +-
neutron/agent/dhcp/agent.py | 70 +++-
neutron/agent/l2/extensions/dhcp/ipv4.py | 2 +-
neutron/agent/l2/extensions/fdb_population.py | 5 +-
neutron/agent/l2/extensions/local_ip.py | 2 +-
neutron/agent/l2/extensions/qos.py | 2 +-
neutron/agent/l3/dvr_edge_ha_router.py | 2 +-
neutron/agent/l3/dvr_edge_router.py | 6 +-
neutron/agent/l3/dvr_fip_ns.py | 7 +-
neutron/agent/l3/dvr_local_router.py | 37 ++-
neutron/agent/l3/dvr_snat_ns.py | 6 +-
neutron/agent/l3/extensions/conntrack_helper.py | 2 +-
neutron/agent/l3/extensions/ndp_proxy.py | 16 +-
neutron/agent/l3/extensions/port_forwarding.py | 4 +-
neutron/agent/l3/extensions/qos/fip.py | 13 +-
neutron/agent/l3/extensions/qos/gateway_ip.py | 2 +-
neutron/agent/l3/ha_router.py | 14 +-
neutron/agent/l3/keepalived_state_change.py | 1 -
neutron/agent/l3/namespaces.py | 4 +-
neutron/agent/l3/router_info.py | 19 +-
neutron/agent/linux/bridge_lib.py | 12 +-
neutron/agent/linux/devlink.py | 54 ++++
neutron/agent/linux/dhcp.py | 152 ++++++---
neutron/agent/linux/dibbler.py | 26 +-
neutron/agent/linux/external_process.py | 12 +-
neutron/agent/linux/interface.py | 38 ++-
neutron/agent/linux/ip_conntrack.py | 2 +-
neutron/agent/linux/ip_lib.py | 147 +++++----
neutron/agent/linux/iptables_firewall.py | 2 +-
neutron/agent/linux/keepalived.py | 28 +-
.../agent/linux/openvswitch_firewall/firewall.py | 31 +-
neutron/agent/linux/openvswitch_firewall/rules.py | 4 +-
neutron/agent/linux/tc_lib.py | 53 +--
neutron/agent/linux/utils.py | 28 +-
neutron/agent/metadata/agent.py | 15 +-
neutron/agent/metadata/driver.py | 33 +-
neutron/agent/ovn/agent/__init__.py | 0
neutron/agent/ovn/agent/ovn_neutron_agent.py | 143 +++++++++
neutron/agent/ovn/agent/ovsdb.py | 183 +++++++++++
neutron/agent/ovn/extensions/__init__.py | 0
neutron/agent/ovn/extensions/extension_manager.py | 130 ++++++++
neutron/agent/ovn/extensions/noop.py | 39 +++
neutron/agent/ovn/extensions/qos_hwol.py | 289 +++++++++++++++++
neutron/agent/ovn/metadata/agent.py | 314 ++++++++++++------
neutron/agent/ovn/metadata/driver.py | 33 +-
neutron/agent/ovn/metadata/ovsdb.py | 3 +
neutron/agent/ovn/metadata/server.py | 27 +-
neutron/agent/ovn/ovn_neutron_agent.py | 43 +++
neutron/agent/rpc.py | 3 +-
neutron/api/api_common.py | 4 +-
.../api/rpc/agentnotifiers/dhcp_rpc_agent_api.py | 9 +-
neutron/api/rpc/agentnotifiers/l3_rpc_agent_api.py | 6 +
neutron/api/rpc/handlers/dhcp_rpc.py | 2 +-
neutron/api/rpc/handlers/l3_rpc.py | 14 +-
neutron/api/rpc/handlers/resources_rpc.py | 9 +-
neutron/api/rpc/handlers/securitygroups_rpc.py | 3 +
neutron/api/v2/base.py | 9 +-
neutron/cmd/eventlet/agents/ovn_neutron_agent.py | 26 ++
neutron/cmd/ovn/migration_mtu.py | 5 +-
neutron/cmd/ovn/neutron_ovn_db_sync_util.py | 11 +-
neutron/cmd/remove_duplicated_port_bindings.py | 15 +-
neutron/cmd/runtime_checks.py | 16 +-
.../sanitize_port_binding_profile_allocation.py | 3 +-
neutron/cmd/sanity/checks.py | 28 +-
neutron/cmd/sanity_check.py | 15 +
neutron/cmd/upgrade_checks/checks.py | 6 +-
neutron/common/_constants.py | 8 +
neutron/common/cache_utils.py | 4 +-
neutron/common/metadata.py | 46 +++
neutron/common/ovn/acl.py | 2 +-
neutron/common/ovn/constants.py | 16 +-
neutron/common/ovn/exceptions.py | 2 +-
neutron/common/ovn/extensions.py | 6 +
neutron/common/ovn/hash_ring_manager.py | 15 +-
neutron/common/ovn/utils.py | 158 ++++++++-
neutron/common/utils.py | 57 +++-
neutron/conf/agent/l3/config.py | 11 -
.../conf/agent/ovn/ovn_neutron_agent/__init__.py | 0
neutron/conf/agent/ovn/ovn_neutron_agent/config.py | 56 ++++
neutron/conf/plugins/ml2/config.py | 13 +-
neutron/conf/plugins/ml2/drivers/ovn/ovn_conf.py | 9 +
neutron/conf/policies/address_group.py | 2 +-
neutron/conf/policies/address_scope.py | 12 +-
neutron/conf/policies/auto_allocated_topology.py | 4 +-
neutron/conf/policies/base.py | 8 +-
neutron/conf/policies/flavor.py | 6 +-
neutron/conf/policies/floatingip.py | 16 +-
neutron/conf/policies/floatingip_pools.py | 2 +-
.../conf/policies/floatingip_port_forwarding.py | 8 +-
neutron/conf/policies/l3_conntrack_helper.py | 8 +-
neutron/conf/policies/local_ip.py | 8 +-
neutron/conf/policies/local_ip_association.py | 6 +-
neutron/conf/policies/metering.py | 8 +-
neutron/conf/policies/ndp_proxy.py | 8 +-
neutron/conf/policies/network.py | 37 +--
neutron/conf/policies/port.py | 11 +-
neutron/conf/policies/qos.py | 41 +--
neutron/conf/policies/rbac.py | 16 +-
neutron/conf/policies/router.py | 48 +--
neutron/conf/policies/security_group.py | 22 +-
neutron/conf/policies/subnet.py | 12 +-
neutron/conf/policies/subnetpool.py | 27 +-
neutron/conf/policies/trunk.py | 14 +-
neutron/conf/service.py | 9 +
neutron/db/agents_db.py | 4 +-
neutron/db/agentschedulers_db.py | 4 +-
neutron/db/allowedaddresspairs_db.py | 2 +-
neutron/db/availability_zone/router.py | 3 +-
neutron/db/data_plane_status_db.py | 2 +-
neutron/db/db_base_plugin_common.py | 4 +-
neutron/db/db_base_plugin_v2.py | 30 +-
neutron/db/external_net_db.py | 2 +-
neutron/db/extradhcpopt_db.py | 2 +-
neutron/db/extraroute_db.py | 10 +-
neutron/db/ipam_backend_mixin.py | 18 +-
neutron/db/ipam_pluggable_backend.py | 14 +-
neutron/db/l3_agentschedulers_db.py | 30 +-
neutron/db/l3_attrs_db.py | 18 +-
neutron/db/l3_db.py | 192 +++++++----
neutron/db/l3_dvr_db.py | 30 +-
neutron/db/l3_dvrscheduler_db.py | 26 +-
neutron/db/l3_gateway_ip_qos.py | 2 +-
neutron/db/l3_hamode_db.py | 16 +-
neutron/db/migration/__init__.py | 2 +
...53938cdc1_update_segment_networks_constraint.py | 63 ++++
.../alembic_migrations/versions/EXPAND_HEAD | 2 +-
...6f5_add_unique_ha_router_agent_port_bindings.py | 2 +-
.../030a959ceafa_uniq_routerports0port_id.py | 2 +-
...61a21bcfc_uniq_floatingips0floating_network_.py | 2 +-
...0820fc498_add_unique_quotas_project_resource.py | 2 +-
.../5881373af7f5_delete_sgpb_on_sg_deletion.py | 3 +
neutron/db/migration/autogen.py | 8 +-
neutron/db/migration/cli.py | 3 +-
neutron/db/models/l3agent.py | 10 +-
neutron/db/models/network_segment_range.py | 2 +-
neutron/db/models/segment.py | 3 +-
neutron/db/models/subnet_service_type.py | 2 +-
neutron/db/network_dhcp_agent_binding/models.py | 11 +-
neutron/db/network_ip_availability_db.py | 10 +-
neutron/db/ovn_revision_numbers_db.py | 12 +-
neutron/db/quota/api.py | 6 +-
neutron/db/quota/driver.py | 4 +-
neutron/db/quota/models.py | 3 +-
neutron/db/securitygroups_db.py | 47 ++-
neutron/db/securitygroups_rpc_base.py | 18 +-
neutron/db/servicetype_db.py | 3 +-
neutron/debug/commands.py | 2 +-
.../extensions/security_groups_default_rules.py | 135 ++++++++
neutron/hacking/checks.py | 4 +-
neutron/ipam/drivers/neutrondb_ipam/db_api.py | 10 +-
neutron/ipam/drivers/neutrondb_ipam/driver.py | 2 +-
neutron/ipam/requests.py | 21 +-
neutron/ipam/subnet_alloc.py | 44 +--
neutron/ipam/utils.py | 2 +-
neutron/locale/de/LC_MESSAGES/neutron.po | 11 +-
neutron/locale/es/LC_MESSAGES/neutron.po | 11 +-
neutron/locale/fr/LC_MESSAGES/neutron.po | 11 +-
neutron/locale/it/LC_MESSAGES/neutron.po | 11 +-
neutron/locale/ja/LC_MESSAGES/neutron.po | 11 +-
neutron/locale/ko_KR/LC_MESSAGES/neutron.po | 11 +-
neutron/locale/pt_BR/LC_MESSAGES/neutron.po | 11 +-
neutron/locale/ru/LC_MESSAGES/neutron.po | 11 +-
neutron/locale/zh_CN/LC_MESSAGES/neutron.po | 10 +-
neutron/locale/zh_TW/LC_MESSAGES/neutron.po | 10 +-
neutron/notifiers/ironic.py | 4 +-
neutron/objects/l3agent.py | 3 +-
neutron/objects/ports.py | 24 +-
neutron/objects/router.py | 11 +
neutron/objects/subnet.py | 62 ++--
neutron/opts.py | 11 +-
neutron/pecan_wsgi/controllers/resource.py | 2 +-
neutron/plugins/ml2/common/constants.py | 3 +
neutron/plugins/ml2/db.py | 7 +-
neutron/plugins/ml2/driver_context.py | 20 +-
neutron/plugins/ml2/drivers/l2pop/db.py | 15 +-
neutron/plugins/ml2/drivers/l2pop/mech_driver.py | 28 +-
neutron/plugins/ml2/drivers/mech_agent.py | 10 +-
.../drivers/mech_sriov/agent/eswitch_manager.py | 2 +-
.../drivers/mech_sriov/mech_driver/mech_driver.py | 10 +-
.../agent/extension_drivers/qos_driver.py | 113 ++++---
.../openvswitch/agent/openflow/native/br_int.py | 6 +-
.../openvswitch/agent/openflow/native/ofswitch.py | 4 +-
.../agent/openflow/native/ovs_bridge.py | 34 +-
.../openvswitch/agent/ovs_dvr_neutron_agent.py | 4 +-
.../drivers/openvswitch/agent/ovs_neutron_agent.py | 69 ++--
.../plugins/ml2/drivers/ovn/agent/neutron_agent.py | 57 +++-
.../ml2/drivers/ovn/mech_driver/mech_driver.py | 202 +++++-------
.../ml2/drivers/ovn/mech_driver/ovsdb/api.py | 22 +-
.../ml2/drivers/ovn/mech_driver/ovsdb/commands.py | 9 +-
.../ovn/mech_driver/ovsdb/extensions/placement.py | 67 ++--
.../ovn/mech_driver/ovsdb/extensions/qos.py | 3 +-
.../drivers/ovn/mech_driver/ovsdb/impl_idl_ovn.py | 33 +-
.../drivers/ovn/mech_driver/ovsdb/maintenance.py | 197 ++++++++++--
.../drivers/ovn/mech_driver/ovsdb/ovn_client.py | 262 +++++++++------
.../drivers/ovn/mech_driver/ovsdb/ovn_db_sync.py | 38 +--
.../drivers/ovn/mech_driver/ovsdb/ovsdb_monitor.py | 179 +++++------
neutron/plugins/ml2/drivers/type_tunnel.py | 8 +-
.../ml2/extensions/subnet_dns_publish_fixed_ip.py | 16 +-
neutron/plugins/ml2/managers.py | 8 +-
neutron/plugins/ml2/plugin.py | 281 ++++++++--------
neutron/plugins/ml2/rpc.py | 21 +-
neutron/privileged/agent/linux/__init__.py | 25 ++
neutron/privileged/agent/linux/devlink.py | 30 ++
neutron/privileged/agent/linux/ip_lib.py | 116 ++++---
neutron/privileged/agent/linux/tc_lib.py | 14 +-
neutron/profiling/profiled_decorator.py | 2 +-
neutron/quota/resource.py | 1 +
neutron/scheduler/base_scheduler.py | 46 ++-
neutron/scheduler/dhcp_agent_scheduler.py | 14 +-
neutron/scheduler/l3_agent_scheduler.py | 16 +-
neutron/scheduler/l3_ovn_scheduler.py | 5 +-
neutron/server/__init__.py | 1 -
.../service_providers/driver_controller.py | 4 +-
neutron/services/logapi/common/db_api.py | 13 +-
neutron/services/logapi/drivers/ovn/driver.py | 100 ++++--
neutron/services/metering/drivers/utils.py | 2 +-
neutron/services/metering/metering_plugin.py | 12 +-
neutron/services/ndp_proxy/plugin.py | 4 +-
neutron/services/ovn_l3/plugin.py | 29 +-
.../services/portforwarding/drivers/ovn/driver.py | 12 +-
neutron/services/portforwarding/pf_plugin.py | 42 +--
neutron/services/qos/drivers/openvswitch/driver.py | 13 -
neutron/services/qos/qos_plugin.py | 60 ++--
neutron/services/revisions/revision_plugin.py | 2 +-
neutron/services/segments/exceptions.py | 6 -
neutron/services/segments/plugin.py | 2 +-
neutron/services/timestamp/timestamp_db.py | 4 +-
.../trunk/drivers/openvswitch/agent/driver.py | 7 +-
.../drivers/openvswitch/agent/ovsdb_handler.py | 27 +-
.../drivers/openvswitch/agent/trunk_manager.py | 16 +-
.../services/trunk/drivers/openvswitch/driver.py | 69 ++++
neutron/services/trunk/drivers/ovn/trunk_driver.py | 51 ++-
neutron/services/trunk/plugin.py | 28 +-
neutron/services/trunk/rpc/server.py | 4 +-
.../agent/l3/test_keepalived_state_change.py | 6 +-
.../agent/ovn/agent/fake_ovn_agent_extension.py | 75 +++++
.../agent/ovn/agent/test_ovn_neutron_agent.py | 89 ++++++
.../functional/agent/ovn/extensions/__init__.py | 0
.../agent/ovn/extensions/test_qos_hwol.py | 180 +++++++++++
.../agent/ovn/metadata/test_metadata_agent.py | 71 ++++-
.../mech_driver/ovsdb/extensions/test_placement.py | 51 ++-
.../drivers/ovn/mech_driver/ovsdb/test_impl_idl.py | 10 +-
.../ovn/mech_driver/ovsdb/test_ovn_db_sync.py | 16 +-
.../ovn/mech_driver/ovsdb/test_ovsdb_monitor.py | 75 ++++-
.../drivers/ovn/mech_driver/test_mech_driver.py | 94 +++---
.../privileged/agent/linux/test_ip_lib.py | 120 ++++---
.../privileged/agent/linux/test_tc_lib.py | 21 +-
.../services/logapi/drivers/ovn/test_driver.py | 66 ++++
.../functional/services/ovn_l3/test_plugin.py | 23 +-
.../openvswitch/agent/test_ovsdb_handler.py | 10 -
.../openvswitch/agent/test_trunk_manager.py | 8 +-
.../trunk/drivers/ovn/test_trunk_driver.py | 21 +-
.../unit/agent/common/test_placement_report.py | 64 +++-
.../agent/common/test_resource_processing_queue.py | 2 +-
.../linux/openvswitch_firewall/test_firewall.py | 22 ++
.../unit/agent/linux/test_external_process.py | 88 ++++-
.../unit/agent/ovsdb/native/test_connection.py | 3 +-
.../unit/common/ovn/test_hash_ring_manager.py | 11 +-
.../conf/policies/test_auto_allocated_topology.py | 26 +-
.../unit/conf/policies/test_floatingip_pools.py | 20 +-
.../policies/test_floatingip_port_forwarding.py | 54 +++-
.../unit/conf/policies/test_l3_conntrack_helper.py | 46 ++-
.../conf/policies/test_local_ip_association.py | 44 ++-
.../unit/conf/policies/test_security_group.py | 80 ++++-
.../unit/extensions/test_subnetpool_prefix_ops.py | 2 +-
.../unit/plugins/ml2/drivers/l2pop/test_db.py | 6 +-
.../ml2/drivers/macvtap/test_macvtap_common.py | 30 +-
.../agent/extension_drivers/test_qos_driver.py | 120 ++++++-
.../agent/openflow/native/ovs_bridge_test_base.py | 7 +-
.../agent/openflow/native/test_br_int.py | 116 +++++--
.../openvswitch/agent/test_ovs_neutron_agent.py | 17 +
.../ml2/drivers/ovn/agent/test_neutron_agent.py | 19 +-
.../drivers/ovn/mech_driver/ovsdb/test_commands.py | 13 +-
.../ovn/mech_driver/ovsdb/test_impl_idl_ovn.py | 2 +-
.../ovn/mech_driver/ovsdb/test_maintenance.py | 155 ++++++++-
.../ovn/mech_driver/ovsdb/test_ovn_client.py | 69 ++++
.../ovn/mech_driver/ovsdb/test_ovsdb_monitor.py | 153 ++++-----
.../drivers/ovn/mech_driver/test_mech_driver.py | 143 +++++----
.../unit/privileged/agent/linux/test___init__.py | 37 +++
.../unit/privileged/agent/linux/test_ip_lib.py | 73 ++---
.../unit/scheduler/test_dhcp_agent_scheduler.py | 2 +-
.../unit/scheduler/test_l3_agent_scheduler.py | 27 --
.../services/logapi/drivers/ovn/test_driver.py | 5 +-
.../qos/drivers/openvswitch/test_driver.py | 18 +-
.../openvswitch/agent/test_ovsdb_handler.py | 4 +-
.../trunk/drivers/openvswitch/test_driver.py | 23 ++
.../trunk/drivers/ovn/test_trunk_driver.py | 12 +-
playbooks/configure_functional_job.yaml | 4 +-
playbooks/run_functional_job.yaml | 4 +-
...he-OVN-LSP-port-registers-1f45e34815c3896d.yaml | 6 +
.../notes/bug-1996677-64851b476a0c5a37.yaml | 6 +
.../notes/bug-2003455-b502cc637427560e.yaml | 19 ++
.../notes/bug-2003455-dff0d0f00b5a18e2.yaml | 9 +
...stateless-security-groups-2cd5d9d2b21ab168.yaml | 7 +
...eartbeat-timestamp-format-dcf80badbe267c68.yaml | 6 +
...le-portbinding-for-manila-5f5232d506fe414e.yaml | 6 +
...isegs-support-for-phynets-f3c710139e26558c.yaml | 5 +
...tract-method-dhcp-cleanup-4fc973915e3723b8.yaml | 5 +
.../notes/ovn-agent-added-84fc31c0fba02be9.yaml | 8 +
...-agent-qos-hwol-extension-a282afcf3f005c80.yaml | 8 +
.../ovn-chassis-other-config-7db15b9d10bf7f04.yaml | 10 +
...stateless-security-groups-241533231a3ed9e7.yaml | 13 +
.../ovn-metadata-workers-fa8a2019f34bd572.yaml | 9 +
.../process-manager-tag-2181918518972004.yaml | 8 +
...mum-bw-tunnelled-networks-8064d6f21f7d9267.yaml | 10 +
...d-keepalived_use_no_track-5a5201e75df0271e.yaml | 4 +
...-policies-fully-supported-e95271a3ab175dca.yaml | 16 +
...l-log-related-traffic-ovn-96b304ab744de13e.yaml | 6 +
releasenotes/source/index.rst | 1 +
.../locale/en_GB/LC_MESSAGES/releasenotes.po | 197 +++++++++++-
releasenotes/source/zed.rst | 6 +
requirements.txt | 10 +-
setup.cfg | 8 +-
tools/abandon_old_reviews.sh | 4 +-
tools/configure_for_func_testing.sh | 14 +-
tools/deploy_rootwrap.sh | 9 +-
tools/list_moved_globals.py | 40 ---
.../infrared/tripleo-ovn-migration/main.yml | 4 +-
.../tripleo_environment/ovn_migration.sh | 14 +-
.../playbooks/roles/migration/defaults/main.yml | 1 +
.../playbooks/roles/migration/tasks/main.yml | 1 -
.../playbooks/roles/migration/tasks/sync-dbs.yml | 42 ++-
.../create/templates/create-resources.sh.j2 | 5 +-
tox.ini | 57 ++--
zuul.d/base.yaml | 51 ++-
zuul.d/grenade.yaml | 97 ++++--
zuul.d/job-templates.yaml | 70 ++--
zuul.d/project.yaml | 60 +++-
zuul.d/rally.yaml | 7 +-
zuul.d/tempest-multinode.yaml | 80 +++--
zuul.d/tempest-singlenode.yaml | 261 ++++++++++++---
zuul.d/tripleo.yaml | 79 -----
454 files changed, 10466 insertions(+), 4405 deletions(-)
Requirements updates
--------------------
diff --git a/requirements.txt b/requirements.txt
index 83450edd8f..2b2d62fbb9 100644
--- a/requirements.txt
+++ b/requirements.txt
@@ -16 +16 @@ eventlet>=0.26.1 # MIT
-pecan>=1.3.2 # BSD
+pecan>=1.4.0 # BSD
@@ -23 +23 @@ netifaces>=0.10.4 # MIT
-neutron-lib>=3.1.0 # Apache-2.0
+neutron-lib>=3.4.0 # Apache-2.0
@@ -33 +33 @@ oslo.concurrency>=3.26.0 # Apache-2.0
-oslo.config>=8.0.0 # Apache-2.0
+oslo.config>=9.0.0 # Apache-2.0
@@ -56 +56 @@ psutil>=5.3.0 # BSD
-pyroute2>=0.6.6;sys_platform!='win32' # Apache-2.0 (+ dual licensed GPL2)
+pyroute2>=0.7.3;sys_platform!='win32' # Apache-2.0 (+ dual licensed GPL2)
@@ -62 +62 @@ python-designateclient>=2.7.0 # Apache-2.0
-os-vif>=1.15.1 # Apache-2.0
+os-vif>=3.1.0 # Apache-2.0
More information about the Release-announce
mailing list