We contentedly announce the release of: neutron-lib 1.18.0: Neutron shared routines and utilities This release is part of the rocky release series. The source is available from: https://git.openstack.org/cgit/openstack/neutron-lib Download the package from: https://pypi.org/project/neutron-lib Please report issues through launchpad: https://bugs.launchpad.net/neutron For more details, please see below. 1.18.0 ^^^^^^ New Features ************ * Add API extension "sort-key-validation". This extension indicates if the server supports validation on sorting. * Add API extension "filter-validation". This extension indicates if the server supports validation on filter parameters of the list requests. * Introduced "expose-port-forwarding-in-fip" API extension for exposing "port_forwardings" field in "FloatingIP" API response. This extension requires the "router" and "port_forwarding" service plugins. * The "neutron.common.rpc" module is now available as "neutron_lib.rpc" and automatically exposes all exception modules from "neutron_lib.exceptions" for RPC usage. * Exceptions from "neutron.common.exceptions" are now available in the "neutron_lib.exceptions" package whereupon exceptions are now in their respective module (e.g. L3 exceptions are in "neutron_lib.exceptions.l3", etc.). * The "neutron.tests.fake_notifier" is now available as "neutron_lib.tests.unit.fake_notifier". * The "neutron_lib.utils.runtime.list_package_modules" function is now available for listing all modules in a said package. * The "RPCFixture" is now available in "neutron_lib.fixtures" for setting up RPC based unit tests. * The "get_port_binding_by_status_and_host" function is now available in "neutron_lib.plugins.utils". * Adds api-extension "segments-peer-subnet-host-routes". Adds host routes to subnets on a routed network (segments). RFE: 1766380 (https://bugs.launchpad.net/neutron/+bug/1766380). Other Notes *********** * API extension "sort-key-validation" relies on the "is_sort_key" keyword in the "RESOURCE_ATTRIBUTE_MAP" to judge if an attribute can be used as sort key. Neutron plugins which want to support sort key validation needs to set "is_sort_key" to "True" for each attribute in their resource attribute map. * API extension "filter-validation" relies on the "is_filter" keyword in the "RESOURCE_ATTRIBUTE_MAP" to judge if an attribute can be used as filter. Neutron plugins which want to support filter validation needs to set "is_filter" to "True" for each attribute in their resource attribute map. * The "convert_list_to" and "default" parameters of external_fixed_ips have been removed from l3 and l3_ext_gw_mode API definitions. Changes in neutron-lib 1.17.0..1.18.0 ------------------------------------- c9fe374 Rehome get_port_binding_by_status_and_host 94516d1 Add shim extension filter-validation a37d430 rehome rpc and related plumbing befb16e Add shim extension sort-key-validation e863e8f Extend port_forwardings field in Floatingip response 51bb430 Shim extension - segments peer subnet host routes, and api-ref 5180f8f Cleanup unused key-value in the attribute of l3 Diffstat (except docs and test files) ------------------------------------- api-ref/source/v2/floatingips.inc | 11 + api-ref/source/v2/intro.inc | 12 + api-ref/source/v2/parameters.yaml | 12 + .../floatingips/floating-ips-list-response.json | 38 +- .../floatingips/floatingip-create-response.json | 3 +- .../floatingip-disassociate-response.json | 3 +- .../floatingips/floatingip-show-response.json | 4 +- .../floatingips/floatingip-update-response.json | 3 +- api-ref/source/v2/subnets.inc | 11 + neutron_lib/api/definitions/__init__.py | 8 + neutron_lib/api/definitions/base.py | 3 + .../definitions/expose_port_forwarding_in_fip.py | 40 ++ neutron_lib/api/definitions/filter_validation.py | 25 ++ neutron_lib/api/definitions/l3.py | 3 - neutron_lib/api/definitions/l3_ext_gw_mode.py | 2 - .../segments_peer_subnet_host_routes.py | 27 ++ neutron_lib/api/definitions/sort_key_validation.py | 27 ++ neutron_lib/exceptions/__init__.py | 229 ++++++++++ neutron_lib/exceptions/l3.py | 20 + neutron_lib/exceptions/qos.py | 87 ++++ neutron_lib/fixture.py | 26 ++ neutron_lib/plugins/utils.py | 34 ++ neutron_lib/rpc.py | 357 +++++++++++++++ .../test_expose_port_forwarding_in_fip.py | 21 + .../unit/api/definitions/test_filter_validation.py | 18 + .../test_segment_peer_subnet_host_routes.py | 18 + .../api/definitions/test_sort_key_validation.py | 18 + neutron_lib/utils/runtime.py | 19 + ...nsion-sort-key-validation-b42f5839671fe5f5.yaml | 12 + ...-validation-api-extension-15cc667d5498f163.yaml | 12 + ...leanup-unused-l3-attr-def-f0eab40813d17a2d.yaml | 5 + ...se-port-forwarding-in-fip-a7880506cea0ad1d.yaml | 6 + .../notes/rehome-common-rpc-5d84a9fe0faa71b7.yaml | 15 + .../rehome-get-port-binding-98765e77c627e57d.yaml | 4 + ...outed-networks-hostroutes-fb43abf942b154ff.yaml | 6 + tox.ini | 3 +- 42 files changed, 1883 insertions(+), 12 deletions(-)