We are happy to announce the release of: neutron-lib 1.12.0: Neutron shared routines and utilities This release is part of the queens release series. The source is available from: http://git.openstack.org/cgit/openstack/neutron-lib Download the package from: https://pypi.python.org/pypi/neutron-lib Please report issues through launchpad: http://bugs.launchpad.net/neutron For more details, please see below. 1.12.0 ^^^^^^ New Features ************ * Adds the IP-in-IP protocol under the name "ipip" to the list of protocols supported in security group rules. * A new "PORT_BINDING" resource definition has been added to "neutron_lib.callbacks.resources", to enable the multiple port binding service plugin to notify the core plugin and other subscribers when create, update and delete operations are performed on a port binding. * A new abstract method "ha_state_change" has been added to "L3AgentExtension". * The "multi-provider" extension's API definition is available in "neutron_lib.api.defintions.multiprovidernet". * Exceptions for the "multi-provider" extension can be found in "neutron_lib.exceptions.multiprovidernet". * The validation type "type:network_segments" is now available for API attribute validation. * The neutron placement API client is now available as "neutron_lib.clients.placement". * A new fixture for testing placement API calls has been added as "neutron_lib.fixtures.PlacementAPIClientFixture". * The "qos-default" extension's API definition is now available in "neutron_lib.api.definitions.qos_default". * The "rbac-policy" callback resource now available as "neutron_lib.callbacks.resources.RBAC_POLICY". * The "service-type" extension's API definition is now available in "neutron_lib.api.definitions.servicetype". * The "vlan-transparent" extension's API definition is now available in "neutron_lib.api.definitions.vlantransparent". * The "get_vlan_transparent" function from the "vlan-transparent" extension is available in "neutron_lib.api.definitions.vlantransparent". * The "subnet_onboard" API definition now supports creating and updating subnets * All methods defined in "APIExtensionDescriptor" are now class methods. This allows consumers to call them without a reference to an actual extension object instance. Bug Fixes ********* * Bug 1738371 (https://bugs.launchpad.net/neutron/+bug/1738371) is fixed by comparing min port and max port in port range specification as integers instead of strings, during port range validation. * The "get_extended_resources" method of the "APIExtensionDescriptor" was updated to also include the underlying API definition's "SUB_RESOURCE_ATTRIBUTE_MAP" in the returned dict. As a result, the "update_attributes_map" method now also includes the sub-resources if no "extension_attrs_map" is passed to it. Changes in neutron-lib 1.11.0..1.12.0 ------------------------------------- 695b73a fix linkcheck tox target 9ef0860 Rehome placement client to neutron-lib 5f6a125 Remove periods at the end of validator and converter messages 0996b3f update releasing doc links for zuul v3 4c49003 Fix port comparison in port range validation e462c01 Updated from global requirements ce40319 Add default value as none for vni attribute in bgpvpn resource 628f970 Add support to Create/Update subnets in subnet_onboard 43fda0f rehome service type api def 039cacc rehome vlantransparent api def 12aab81 finish qos_rule_type_details extension api-ref 9975850 rehome the qos default api def 1254fca add description in api-ref for external net extension 5f2f51d class methods and sub resources in base api ext 0603cd9 Remove setting of version/release from releasenotes 8be9765 Updated from global requirements f3a0ae4 Updated from global requirements 27a27c0 fix up dvr api def exceptions f4c4b0f Adds IPinIP protocol bf69a29 docs: Subscribing events using registry decorator d09f5f0 Add empty BGPVPN Route Target to unit test 8c02139 Check that duplicate Segmentation IDs 0 get caught 7f3a778 add api ref for agents 0bd451f rehome multi provider net extension api definition dc8c3f7 docs: Add primary_key attribute key 045c0b1 Modify the validator for segmentation_id 0 5dabcd6 Remove pep8 from test-requirements 6f7ebdc Fix RBAC POST parameter of api-ref 4c39634 Add new resource for port bindings 6503890 Remove rbac-policy callback into lib 6b5018a add DCCP, SCTP and UDP-Lite to validated protos for port ranges 4ec3240 Add a new method ha_state_change to L3 agent extension cb9db60 complete api-ref for addr pairs and port security 87eb038 Updated from global requirements b5b7131 net_utils: Speed up mac address generation 99d0fb1 Fix typos and address formatting issues 0d2cc38 Add headers for sections in LBaaS v2.0 API docs 4f43014 Remove a bogus leftover string 1b34a8d Fix value of pool_id-request required attribute Diffstat (except docs and test files) ------------------------------------- api-ref/source/v2/agents.inc | 177 ++++++++++++++++++ api-ref/source/v2/index.rst | 4 + api-ref/source/v2/intro.inc | 72 +++---- api-ref/source/v2/lbaas-v2.inc | 24 +++ api-ref/source/v2/networks.inc | 20 ++ api-ref/source/v2/parameters.yaml | 144 +++++++++----- api-ref/source/v2/ports.inc | 21 ++- api-ref/source/v2/qos.inc | 18 +- api-ref/source/v2/rbac-policy.inc | 1 - .../v2/samples/agents/agent-show-response.json | 53 ++++++ .../v2/samples/agents/agent-update-request.json | 5 + .../v2/samples/agents/agent-update-response.json | 53 ++++++ .../v2/samples/agents/agents-list-response.json | 125 +++++++++++++ .../networks/network-multi-create-response.json | 1 + .../networks/network-provider-create-response.json | 3 +- .../networks/networks-bulk-create-response.json | 6 +- .../samples/ports/port-bind-create-response.json | 10 +- .../samples/ports/port-bind-update-response.json | 3 +- .../v2/samples/ports/port-create-request.json | 9 +- .../v2/samples/ports/port-create-response.json | 7 +- .../v2/samples/ports/port-update-response.json | 3 +- .../samples/ports/ports-bulk-create-response.json | 6 +- .../v2/samples/ports/ports-list-response.json | 6 +- neutron_lib/agent/l3_extension.py | 10 + neutron_lib/api/converters.py | 2 +- neutron_lib/api/definitions/__init__.py | 10 +- .../api/definitions/bgpvpn_routes_control.py | 2 +- neutron_lib/api/definitions/bgpvpn_vni.py | 1 + neutron_lib/api/definitions/multiprovidernet.py | 71 +++++++ neutron_lib/api/definitions/qos_default.py | 41 ++++ neutron_lib/api/definitions/servicetype.py | 53 ++++++ neutron_lib/api/definitions/subnet_onboard.py | 1 + neutron_lib/api/definitions/vlantransparent.py | 60 ++++++ neutron_lib/api/extensions.py | 48 +++-- neutron_lib/api/validators/__init__.py | 17 +- neutron_lib/api/validators/multiprovidernet.py | 39 ++++ neutron_lib/callbacks/resources.py | 2 + neutron_lib/clients/__init__.py | 0 neutron_lib/clients/placement.py | 206 +++++++++++++++++++++ neutron_lib/constants.py | 3 + neutron_lib/exceptions/__init__.py | 2 +- neutron_lib/exceptions/dvr.py | 21 +++ neutron_lib/exceptions/multiprovidernet.py | 25 +++ neutron_lib/exceptions/placement.py | 39 ++++ neutron_lib/exceptions/vlantransparent.py | 21 +++ neutron_lib/fixture.py | 44 +++++ .../unit/api/definitions/test_multiprovidernet.py | 46 +++++ .../unit/api/definitions/test_vlantransparent.py | 28 +++ .../unit/api/validators/test_multiprovidernet.py | 49 +++++ neutron_lib/utils/net.py | 4 +- .../add-ipinip-protocol-ab9287f9b698f34c.yaml | 5 + ...add-port-binding-resource-73f9800dbda121ca.yaml | 7 + ...xtensions-ha-state-change-837140efe4187a99.yaml | 4 + ...ort-range-compared-as-int-4d07fe030206f818.yaml | 5 + ...e-multiprovidernet-apidef-367e57772e931758.yaml | 8 + ...home-placement-api-client-a9ac5d96ca8570aa.yaml | 6 + .../rehome-qosdft-apidef-b70596ca11c08803.yaml | 4 + ...ome-rbac-policy-callbacks-24fa12ad1ab4c443.yaml | 4 + .../rehome-svctype-apidef-9002b2e2bcbeec8e.yaml | 4 + .../rehome-vlantransp-apidef-1cd7d3ace9042686.yaml | 6 + ...low-create-update-subnets-74a4be6e9e97bbb6.yaml | 4 + ...-attrmap-and-classmethods-76accdd5c56a3bd4.yaml | 11 ++ releasenotes/source/conf.py | 11 +- requirements.txt | 11 +- test-requirements.txt | 5 +- tox.ini | 1 + 78 files changed, 1817 insertions(+), 169 deletions(-) Requirements updates -------------------- diff --git a/requirements.txt b/requirements.txt index ed700c1..9752ca8 100644 --- a/requirements.txt +++ b/requirements.txt @@ -8,0 +9 @@ debtcollector>=1.2.0 # Apache-2.0 +keystoneauth1>=3.3.0 # Apache-2.0 @@ -11,2 +12,2 @@ oslo.concurrency>=3.20.0 # Apache-2.0 -oslo.config>=4.6.0 # Apache-2.0 -oslo.context>=2.14.0 # Apache-2.0 +oslo.config>=5.1.0 # Apache-2.0 +oslo.context>=2.19.2 # Apache-2.0 @@ -17 +18 @@ oslo.messaging>=5.29.0 # Apache-2.0 -oslo.policy>=1.23.0 # Apache-2.0 +oslo.policy>=1.30.0 # Apache-2.0 @@ -19,2 +20,2 @@ oslo.serialization!=2.19.1,>=2.18.0 # Apache-2.0 -oslo.service>=1.24.0 # Apache-2.0 -oslo.utils>=3.28.0 # Apache-2.0 +oslo.service!=1.28.1,>=1.24.0 # Apache-2.0 +oslo.utils>=3.33.0 # Apache-2.0 diff --git a/test-requirements.txt b/test-requirements.txt index 7b02327..0174e08 100644 --- a/test-requirements.txt +++ b/test-requirements.txt @@ -10 +10 @@ flake8-import-order==0.12 # LGPLv3 -python-subunit>=0.0.18 # Apache-2.0/BSD +python-subunit>=1.0.0 # Apache-2.0/BSD @@ -19,2 +19 @@ testscenarios>=0.4 # Apache-2.0/BSD -testtools>=1.4.0 # MIT -pep8==1.5.7 # MIT +testtools>=2.2.0 # MIT