[neutron] neutron-lib 1.10.0 (queens)
We are excited to announce the release of:
neutron-lib 1.10.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.10.0 ^^^^^^
New Features
* A new converter "convert_to_string" into "neutron_lib.api.converters". This method can convert an argument which is not None into string value.
* The new "net-mtu-writable" extension API definition has been added as "neutron_lib.api.definitions.network_mtu_writable". The new extension indicates that the network "mtu" attribute is writeable. Plugins supporting the new extension are expected to also support "net-mtu".
* API reference for "extended port bindings" extension for "port" resource.
* The "allowed-address-pairs" API definition is now available in "neutron_lib.api.definitions.allowedaddresspairs".
* The address pair validation is now available via the "type:allowed_address_pairs" validation type.
* Address pair API definition exceptions are available in "neutron_lib.exceptions.allowedaddresspairs".
* The "availability_zone" extension's API definition is now available in "neutron_lib.api.definitions.availability_zone".
* A new API validation type "type:availability_zone_hint_list" has been added and validates a list of availability zone hints.
* Exceptions for the "availability_zone" are now available in "neutron_lib.exceptions.availability_zone".
* The constant "AZ_HINTS_DB_LEN" has been added to "neutron_lib.db.constants".
* The API definition for neutron extension "default-subnetpools" is now available in "neutron_lib.api.definitions.default_subnetpools".
* The API defintion for the "dvr" extension is now available in "neutron_lib.api.defintions.dvr".
* The two "MacAddressGenerationFailure" exceptions are now available as "HostMacAddressGenerationFailure" and "NetworkMacAddressGenerationFailure" for host and network MAC address generation errors respectively.
* The "external-net" API extension's API definition is now available in "neutron_lib.api.definitions.external_net".
* External network related exceptions are now available in "neutron_lib.exceptions.external_net".
* The API definition for the "extraroute" extension is now available in "neutron_lib.api.defintions.extraroute".
* Exceptions related to the "extraroute" extension are now available in "neutron_lib.exceptions.extraroute".
* The "ip_allocation" extension's API definition is now available in "neutron_lib.api.definitions.ip_allocation".
* The "l2_adjacency" extension's API definition is now available in "neutron_lib.api.definitions.l2_adjacency".
* The API definition for the "ext-gw-mode" extension is now available in "neutron_lib.api.definitions.l3_ext_gw_mode".
* The "l3-ha" extension's API definition is now available in "neutron_lib.api.definitions.l3_ext_ha_mode".
* Exceptions related to the "l3-ha" extension are available in "neutron_lib.api.exceptions.l3_ext_ha_mode".
* The "l3-flavors" extension's API definition is now available in "neutron_lib.api.definitions.l3_flavors".
* The "metering" extension's API is now available in "neutron_lib.api.definitions.metering".
* Exceptions for the "metering" extension are available in "neutron_lib.exceptions.metering".
* The "ExtensionDriver" class in "neutron_lib.plugins.ml2.api" now contains the "extension_aliases" property to match neutron's implementation.
* The API definition for neutron's "network_availability_zone" extension is now available in "neutron_lib.api.definitions.network_availability_zone".
* The "network-ip-availability" extension's API definition is now available in "neutron_lib.api.definitions.network_ip_availability".
* The "pagination" API extension's API definition is now available in "neutron_lib.api.definitions.pagination".
* The "project-id" API extension's API definition is now available in "neutron_lib.api.definitions.project_id".
* The API definition for neutron's "qos" extension is now available in "neutron_lib.api.definitions.qos".
* Neutron's "router_availability_zone" extension API definition is now available in "neutron_lib.api.definitions.router_availability_zone".
* Adds "subnet_onboard" API definition to neutron-lib.
Changes in neutron-lib 1.9.1..1.10.0 ------------------------------------
b3de3b6 Fix unit test failures due to switch to testr changes 7302628 rehome dvr extension api def 61a7912 rehome l3 flavors extension api definition dead991 api-ref for inherit trunk segmentation type 8804b32 rehome l3 ext ha mode extension api definition ab76d1e Fix some typos a45b1f9 Add exception when a synthetic field is invalid 5d79ae3 Update links in README d01e189 Remove vestigate HUDSON_PUBLISH_DOCS reference 36464de Rehome net-mtu-enh extension definition 24bdf40 Document the new net-mtu-writable extension c4a800a rehome ip allocation extension API definition 41212a5 complete api ref for std attr revisions e529fc5 api ref for standard-attr-tag extension 2e1b40c rehome l3 ext gw mode extension api definition 92ddec0 sync ml2 plugin api 7302068 Updated from global requirements 2a0d9fa api ref for dns integration 27c2622 rehome project id api definition 328f149 rehome network availability zone extension api definition 5eb85c2 rehome qos api definition 5804841 Updated from global requirements 1363612 Parameter modifications of edit-constraints d3df1b7 rehome router availability zone extension api def 1d85fc0 rehome pagination api definition ed7c83f rehome network ip availability extension api definition ca16f3d Add API Definition for Subnet Onboard 9423b33 rehome metering extension api definition 539ea2a Fix API Doc LBaaS v2 When a Listener and pool are created the parameter protocol_port is optional according to the official documentation, but in reality it is required. ddc3a48 rehome l2 adjacency extension API definition 4dc07e5 rehome extraroute api definition 6e58c98 rehome external net api definition 021a9f0 Security Groups: Fix rule docs regarding protocols 0694964 Add description about QoS minimum bandwidth rules API 6769e78 rehome allowedaddresspairs API definition 0828cad rehome default subnet pools API def e1a3c98 Add missing library into requirements.txt c9f42f3 rehome availability zone API def 1017027 Add description of API call to get QoS rule type details 611d7b6 Updated from global requirements 6d74ddd Update reno for stable/pike 6803dc6 Introduce API for port bindings extended f34b325 Removing LBaaS v1 API reference 108b74b Fix spaces in Firewall's error messages 768dcc0 Add 'convert_to_string' and apply for firewall-rule 90a8302 Update the documentation link for doc migration
Diffstat (except docs and test files) -------------------------------------
.gitignore | 1 + .stestr.conf | 3 + HACKING.rst | 2 +- README.rst | 6 +- api-ref/source/v2/floatingips.inc | 19 + api-ref/source/v2/index.rst | 1 - api-ref/source/v2/intro.inc | 18 +- api-ref/source/v2/lbaas-v1.inc | 1001 -------------------- api-ref/source/v2/lbaas-v2.inc | 58 +- api-ref/source/v2/logging.inc | 4 + api-ref/source/v2/networks.inc | 32 +- api-ref/source/v2/parameters.yaml | 166 +++- api-ref/source/v2/ports.inc | 40 + api-ref/source/v2/qos.inc | 243 ++++- api-ref/source/v2/routers.inc | 4 + .../floatingips/floating-ips-list-response.json | 6 + .../floatingips/floatingip-create-request.json | 4 +- .../floatingips/floatingip-create-response.json | 2 + .../floatingips/floatingip-show-response.json | 2 + .../floatingips/floatingip-update-response.json | 2 + .../lbaas-v1/healthmonitor-associate-request.json | 5 - .../lbaas-v1/healthmonitor-associate-response.json | 3 - .../lbaas-v1/healthmonitor-create-request.json | 13 - .../lbaas-v1/healthmonitor-create-response.json | 15 - .../lbaas-v1/healthmonitor-show-response.json | 21 - .../lbaas-v1/healthmonitor-update-request.json | 11 - .../lbaas-v1/healthmonitor-update-response.json | 21 - .../lbaas-v1/healthmonitors-list-response.json | 23 - .../v2/samples/lbaas-v1/member-create-request.json | 9 - .../samples/lbaas-v1/member-create-response.json | 13 - .../v2/samples/lbaas-v1/member-show-response.json | 13 - .../v2/samples/lbaas-v1/member-update-request.json | 5 - .../samples/lbaas-v1/member-update-response.json | 13 - .../v2/samples/lbaas-v1/members-list-response.json | 15 - .../v2/samples/lbaas-v1/pool-create-request.json | 10 - .../v2/samples/lbaas-v1/pool-create-response.json | 19 - .../v2/samples/lbaas-v1/pool-show-response.json | 29 - .../v2/samples/lbaas-v1/pool-update-request.json | 5 - .../v2/samples/lbaas-v1/pool-update-response.json | 30 - .../v2/samples/lbaas-v1/pools-list-response.json | 31 - .../v2/samples/lbaas-v1/vip-create-request.json | 10 - .../v2/samples/lbaas-v1/vip-create-response.json | 19 - .../v2/samples/lbaas-v1/vip-show-response.json | 19 - .../v2/samples/lbaas-v1/vip-update-request.json | 5 - .../v2/samples/lbaas-v1/vip-update-response.json | 19 - .../v2/samples/lbaas-v1/vips-list-response.json | 21 - .../lbaas/healthmonitor-associate-request.json | 2 +- .../lbaas/healthmonitor-associate-response.json | 2 +- .../lbaas/healthmonitor-create-request.json | 2 +- .../lbaas/healthmonitor-create-response.json | 2 +- .../samples/lbaas/healthmonitor-show-response.json | 2 +- .../lbaas/healthmonitor-update-request.json | 2 +- .../lbaas/healthmonitor-update-response.json | 2 +- .../lbaas/healthmonitors-list-response.json | 2 +- .../v2/samples/lbaas/loadbalancer-status-tree.json | 2 +- .../v2/samples/lbaas/pool-create-response.json | 4 +- .../v2/samples/lbaas/pool-show-response.json | 4 +- .../v2/samples/lbaas/pool-update-response.json | 4 +- .../v2/samples/lbaas/pools-list-response.json | 4 +- .../v2/samples/logs/log-create-response.json | 1 + .../source/v2/samples/logs/log-list-response.json | 1 + .../source/v2/samples/logs/log-show-response.json | 1 + .../v2/samples/logs/log-update-response.json | 1 + .../samples/networks/network-create-request.json | 4 +- .../samples/networks/network-create-response.json | 4 +- .../networks/network-multi-create-response.json | 3 + .../networks/network-multi-show-response.json | 2 + .../networks/network-provider-create-response.json | 2 + .../networks/network-provider-show-response.json | 2 + .../v2/samples/networks/network-show-response.json | 2 + .../samples/networks/network-update-request.json | 4 +- .../samples/networks/network-update-response.json | 4 +- .../networks/networks-bulk-create-response.json | 4 + .../samples/networks/networks-list-response.json | 4 + .../networks/networks-provider-list-response.json | 4 + .../v2/samples/ports/port-bind-create-request.json | 4 +- .../samples/ports/port-bind-create-response.json | 8 + .../v2/samples/ports/port-bind-show-response.json | 8 + .../samples/ports/port-bind-update-response.json | 8 + .../v2/samples/ports/port-create-request.json | 2 + .../v2/samples/ports/port-create-response.json | 8 + .../v2/samples/ports/port-show-response.json | 8 + .../v2/samples/ports/port-update-response.json | 8 + .../v2/samples/ports/ports-bind-list-response.json | 16 + .../samples/ports/ports-bulk-create-response.json | 7 + .../v2/samples/ports/ports-list-response.json | 16 + .../qos/minimum_bandwidth_rule-create-request.json | 5 + .../minimum_bandwidth_rule-create-response.json | 7 + .../qos/minimum_bandwidth_rule-show-response.json | 7 + .../qos/minimum_bandwidth_rule-update-request.json | 5 + .../minimum_bandwidth_rule-update-response.json | 7 + .../qos/minimum_bandwidth_rules-list-response.json | 9 + .../v2/samples/qos/policies-list-response.json | 1 + .../v2/samples/qos/policy-create-response.json | 1 + .../v2/samples/qos/policy-show-response.json | 1 + .../v2/samples/qos/policy-update-response.json | 1 + .../v2/samples/qos/rule_type-details-response.json | 63 ++ .../v2/samples/qos/rule_types-list-response.json | 3 + .../v2/samples/routers/router-create-response.json | 1 + .../v2/samples/routers/router-show-response.json | 1 + .../v2/samples/routers/router-update-response.json | 1 + .../v2/samples/routers/routers-list-response.json | 2 + .../security-group-create-response.json | 3 + .../security-group-rule-create-response.json | 1 + .../security-group-rule-show-response.json | 1 + .../security-group-rules-list-response.json | 4 + .../security-group-show-response.json | 5 + .../security-group-update-response.json | 1 + .../security-groups-list-response.json | 5 + .../samples/segments/segment-create-response.json | 1 + .../v2/samples/segments/segment-show-response.json | 1 + .../samples/segments/segment-update-response.json | 1 + .../samples/segments/segments-list-response.json | 2 + .../v2/samples/subnets/subnet-create-response.json | 2 +- .../v2/samples/subnets/subnet-update-response.json | 1 + .../subnets/subnetpool-create-response.json | 1 + .../subnets/subnets-create-bulk-response.json | 4 +- api-ref/source/v2/security-group-rules.inc | 3 + api-ref/source/v2/security-groups.inc | 4 + api-ref/source/v2/segments.inc | 4 + api-ref/source/v2/subnetpools.inc | 8 +- api-ref/source/v2/subnets.inc | 10 +- api-ref/source/v2/tags.inc | 24 +- api-ref/source/v2/trunk.inc | 2 +- neutron_lib/_i18n.py | 2 +- neutron_lib/api/converters.py | 11 + neutron_lib/api/definitions/__init__.py | 42 + neutron_lib/api/definitions/allowedaddresspairs.py | 53 ++ neutron_lib/api/definitions/availability_zone.py | 49 + neutron_lib/api/definitions/base.py | 1 + neutron_lib/api/definitions/default_subnetpools.py | 41 + neutron_lib/api/definitions/dvr.py | 45 + neutron_lib/api/definitions/external_net.py | 49 + neutron_lib/api/definitions/extraroute.py | 45 + neutron_lib/api/definitions/firewall.py | 2 + neutron_lib/api/definitions/firewall_v2.py | 2 + neutron_lib/api/definitions/ip_allocation.py | 45 + neutron_lib/api/definitions/l2_adjacency.py | 43 + neutron_lib/api/definitions/l3_ext_gw_mode.py | 59 ++ neutron_lib/api/definitions/l3_ext_ha_mode.py | 45 + neutron_lib/api/definitions/l3_flavors.py | 41 + neutron_lib/api/definitions/metering.py | 98 ++ .../api/definitions/network_availability_zone.py | 43 + .../api/definitions/network_ip_availability.py | 59 ++ .../api/definitions/network_mtu_writable.py | 82 ++ neutron_lib/api/definitions/pagination.py | 27 + .../api/definitions/portbindings_extended.py | 124 +++ neutron_lib/api/definitions/project_id.py | 26 + neutron_lib/api/definitions/qos.py | 158 +++ .../api/definitions/router_availability_zone.py | 44 + neutron_lib/api/definitions/subnet_onboard.py | 72 ++ neutron_lib/api/validators/allowedaddresspairs.py | 81 ++ neutron_lib/api/validators/availability_zone.py | 47 + neutron_lib/db/constants.py | 1 + neutron_lib/exceptions/__init__.py | 16 + neutron_lib/exceptions/allowedaddresspairs.py | 35 + neutron_lib/exceptions/availability_zone.py | 19 + neutron_lib/exceptions/external_net.py | 22 + neutron_lib/exceptions/extraroute.py | 32 + neutron_lib/exceptions/firewall_v2.py | 4 +- neutron_lib/exceptions/l3_ext_ha_mode.py | 42 + neutron_lib/exceptions/metering.py | 33 + neutron_lib/objects/exceptions.py | 5 + neutron_lib/plugins/ml2/api.py | 10 + .../api/definitions/test_allowedaddresspairs.py | 20 + .../unit/api/definitions/test_availability_zone.py | 23 + .../api/definitions/test_default_subnetpools.py | 20 + .../unit/api/definitions/test_external_net.py | 20 + .../unit/api/definitions/test_l2_adjancency.py | 20 + .../unit/api/definitions/test_l3_ext_gw_mode.py | 19 + .../unit/api/definitions/test_l3_ext_ha_mode.py | 20 + .../definitions/test_network_availability_zone.py | 21 + .../definitions/test_network_ip_availability.py | 22 + .../api/definitions/test_network_mtu_writable.py | 19 + .../api/definitions/test_portbindings_extended.py | 26 + .../definitions/test_router_availability_zone.py | 20 + .../unit/api/definitions/test_subnet_onboard.py | 19 + .../api/validators/test_allowedaddresspairs.py | 95 ++ .../unit/api/validators/test_availability_zone.py | 39 + .../add-convert-to-string-524541aa6224f66f.yaml | 5 + ...netmtu-writable-extension-284892119ef6595c.yaml | 6 + .../portbindings-extended-3a89560ee63824e1.yaml | 5 + ...e-allowedaddrpairs-apidef-cd342b9a57a2dfdf.yaml | 8 + .../notes/rehome-az-apidef-1e63cbd2359994fa.yaml | 10 + ...rehome-dftsnetpool-apidef-4de5d75d2a63dec9.yaml | 4 + .../notes/rehome-dvr-apidef-a6aa415152457c9a.yaml | 8 + ...rehome-externalnet-apidef-d377f87da900eabe.yaml | 6 + .../rehome-extraroute-apidef-e14e72e03ce18ead.yaml | 6 + .../rehome-ipalloc-apidef-dee59cfffd903b7a.yaml | 4 + ...rehome-l2adjacency-apidef-f91bf184d90122c8.yaml | 4 + ...rehome-l3extgwmode-apidef-8f83e0f6cf0515e7.yaml | 4 + ...rehome-l3exthamode-apidef-9b3ef0956edb3883.yaml | 6 + .../rehome-l3flavors-apidef-da5e9b5d46df5cc7.yaml | 4 + .../rehome-metering-apidef-d9a0e70cbecc2bcc.yaml | 6 + ...rehome-ml2-api-extaliases-4db48e113893c7a5.yaml | 5 + .../rehome-netaz-apidef-74e962ef682380bc.yaml | 5 + .../rehome-netipavail-apidef-d03558ac48b71333.yaml | 4 + .../rehome-pagination-apidef-9aebf1c7a6bcb58b.yaml | 4 + .../rehome-projid-apidef-a433b1b003f27a20.yaml | 4 + .../notes/rehome-qos-apidef-0dbe094b8b21a580.yaml | 4 + .../rehome-routeraz-apidef-efc5f202e04b8272.yaml | 4 + ...et-onboard-api-definition-f4918ff1f1d12c97.yaml | 3 + releasenotes/source/README.rst | 2 +- releasenotes/source/index.rst | 1 + releasenotes/source/pike.rst | 6 + requirements.txt | 4 +- setup.cfg | 2 +- test-requirements.txt | 5 +- tools/tox_install.sh | 6 +- 222 files changed, 3282 insertions(+), 1521 deletions(-)
Requirements updates --------------------
diff --git a/requirements.txt b/requirements.txt index 0335bf3..2d58d57 100644 --- a/requirements.txt +++ b/requirements.txt @@ -15 +15 @@ oslo.i18n!=3.15.2,>=2.1.0 # Apache-2.0 -oslo.log>=3.22.0 # Apache-2.0 +oslo.log>=3.30.0 # Apache-2.0 @@ -17,0 +18 @@ oslo.policy>=1.23.0 # Apache-2.0 +oslo.serialization!=2.19.1,>=1.10.0 # Apache-2.0 @@ -19,0 +21 @@ oslo.utils>=3.20.0 # Apache-2.0 +WebOb>=1.7.1 # MIT diff --git a/test-requirements.txt b/test-requirements.txt index 51dd0cf..d6afc0a 100644 --- a/test-requirements.txt +++ b/test-requirements.txt @@ -12 +12 @@ sphinx>=1.6.2 # BSD -openstackdocstheme>=1.11.0 # Apache-2.0 +openstackdocstheme>=1.16.0 # Apache-2.0 @@ -16,2 +16 @@ os-testr>=0.8.0 # Apache-2.0 -reno!=2.3.1,>=1.8.0 # Apache-2.0 -testrepository>=0.0.18 # Apache-2.0/BSD +reno>=2.5.0 # Apache-2.0
participants (1)
-
no-reply@openstack.org