We are pleased to announce the release of: neutron-lib 3.23.0 This release is part of the gazpacho release series. The source is available from: https://opendev.org/openstack/neutron-lib Download the package from: https://pypi.org/project/neutron-lib Please report issues through: https://bugs.launchpad.net/neutron/+bugs For more details, please see below. 3.23.0 ^^^^^^ New Features ************ * New base class "ovn.db_sync.BaseOvnDbSynchronizer" was added. This new class should be used by the projects providing sync plugins for the ovn_db_sync CLI tool. * New attribute "can_set_project_id" is added to the context object. Value of this attribute is set based on the API policy rule "context_can_set_project_id" and should be used in case when there are custom roles with granted permission to send project_id in the request body of the POST requests to create resources for other projects. For example, "network_admin" role which should have persmission to create networks for all projects in the cloud. By default "context.can_set_project_id" is granted to no one and only admin and service users can send project_id in the request body. * Add a new API extension, "network-ip-availability-details", that adds the "ip_availability_details" attribute to network IP availabilities. The value of this attribute contains detailed information about the network IP usage statistics. * The class "PortHardwareOffloadTypeEnumField" is now available in "neutron_lib.objects.common_types". * New extension "tap-mirror-both-direction" extends "tap_mirror" with both direction to mirror in and out traffic at the same time. Deprecation Notes ***************** * Parameter "is_advsvc" of the "context.Context" object is deprecated and will be removed in the future once support for the old RBAC API policies will be removed from Neutron. Please use "is_service_role" instead to force setting Context object as service context. Other Notes *********** * Constant "ACCESS_READONLY" which represented RBAC action *access as readonly* was removed. This constant was added as part of the RFE Allow sharing security groups as read-only (https://bugs.launchpad.net/neutron/+bug/1875516) but was never fully implemented and is not needed anymore. * Avoid the duplicated method registration in class methods decorated with "resource_extend.has_resource_extenders". Before registering a new extended method, it is first checked if this method is already registered. See bug: 2127835 (https://bugs.launchpad.net/neutron/+bug/2127835). Changes in neutron-lib 3.22.0..3.23.0 ------------------------------------- 67854d12 Add "both" direction to tap mirror definition 28a37284 Fix tap_mirror extension name in KNOWN_EXTENSIONS 62a07e9a Adding new base class 'BaseOvnDbSynchronizer' 15d8373e Service role is now considered as the one who can change project_id b5272aab Deprecate "is_advsvc" attribute in the Context object 39527e93 Rehome PortHardwareOffloadTypeEnumField 20ab081c Fix assertion in unit test b7dd86ea Add information to network ip availabilities dde9ccfe Add "can_set_project_id" attribute to the context object b116c74e Replace deprecated warn_on_missing_entrypoint 2feaec5a Fix documentation for maximum tag length 7f4285b9 Remove ACCESS_READONLY RBAC constant. ba498831 reno: Update master for unmaintained/2024.1 7d8fcafa Start running pylint on the test tree 7b3be70b Fix duplicate registration for resource_extend dbf206fe Add the localhost IPv4 and IPv6 addresses constant Diffstat (except docs and test files) ------------------------------------- .pylintrc | 2 +- api-ref/source/v2/network-ip-availability.inc | 10 ++ api-ref/source/v2/parameters.yaml | 15 ++- .../network-ip-availability-list.json | 56 +++++++-- .../network-ip-availability-show.json | 26 +++- api-ref/source/v2/tags.inc | 4 +- neutron_lib/api/attributes.py | 6 +- neutron_lib/api/definitions/__init__.py | 4 + neutron_lib/api/definitions/base.py | 3 +- .../definitions/network_ip_availability_details.py | 41 ++++++ .../api/definitions/tap_mirror_both_direction.py | 45 +++++++ neutron_lib/constants.py | 3 +- neutron_lib/context.py | 38 +++++- neutron_lib/db/model_query.py | 10 +- neutron_lib/db/resource_extend.py | 9 +- neutron_lib/objects/common_types.py | 4 + neutron_lib/ovn/__init__.py | 0 neutron_lib/ovn/db_sync.py | 78 ++++++++++++ neutron_lib/policy/_engine.py | 25 ++++ .../test_network_ip_availability_details.py | 25 ++++ .../definitions/test_tap_mirror_both_direction.py | 22 ++++ neutron_lib/utils/runtime.py | 2 +- ...ovn-db-synchronizer-class-ad5416b650dc96d5.yaml | 6 + ...ONLY-RBAC-action-constant-a775377f6393149d.yaml | 8 ++ ..._id-to-the-context-object-8a244a003b833314.yaml | 12 ++ ...rk-ip-availability-detail-5cb384b0decf347f.yaml | 7 ++ ...tribute-in-Context-object-02f6a7d261c3752e.yaml | 8 ++ .../fix-resource-extend-baf4d6418e0f1465.yaml | 7 ++ ...e_offload_type_enum_field-302f7ba68ddfef60.yaml | 5 + ...ap-mirror-both-directions-52a63c1f23ccd8a9.yaml | 5 + releasenotes/source/2024.1.rst | 2 +- requirements.txt | 2 +- 55 files changed, 704 insertions(+), 107 deletions(-) Requirements updates -------------------- diff --git a/requirements.txt b/requirements.txt index 57fb5c08..df511291 100644 --- a/requirements.txt +++ b/requirements.txt @@ -11 +11 @@ netaddr>=0.7.18 # BSD -stevedore>=1.20.0 # Apache-2.0 +stevedore>=5.6.0 # Apache-2.0