We jubilantly announce the release of:
neutron-lib 1.8.0: Neutron shared routines and utilities
This release is part of the pike 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.8.0 ^^^^^
New Features ************
* A new "neutron_lib.validators" package is now available where the existing definitions from the "validators" module are now in "neutron_lib.validators.__init__" and subsequent per-component validators can be created in their own validators sub-module.
* The "bgpvpn-routes-control" API extension is introduced to enrich the base "bgpvpn" extension. It allows to control BGPVPN connectivity at the granularity of a port and the advertisement into a BGPVPN of routes corresponding to destination reachable via a given port (static routes, BGPVPN route leaking).
* The "DNS Integration" extension API definition has been added as "neutron_lib.api.definitions.dns".
* The "validate_dns_name", "validate_fip_dns_name", and "validate_dns_domain" are now available as neutron-lib validators.
* The "dns-domain-ports" extension API definition has been added as "neutron_lib.api.definitions.dns_domain_ports".
* API reference for the logging extension for "security_group" resource.
* Constants from "neutron.common.constants" are now available in neutron-lib. Note that consumers using "ROUTER_STATUS_ACTIVE" or "ROUTER_STATUS_ERROR" should now just use "ACTIVE" and "ERROR" from "neutron_lib.constants".
* The public APIs from "neutron.plugins.ml2.driver_api" are now in "neutron_lib.plugins.ml2.api".
* The neutron versioned object exceptions from "neutron.objects.exceptions" are now available in "neutron_lib.objects.exceptions".
* The "DriverBase" class from "neutron.services.qos.drivers.base" is now available in the "neutron_lib.services.qos.base" module.
* The constants defined in "neutron.services.qos.qos_consts" are now available in "neutron_lib.services.qos.constants".
* The "load_class_by_alias_or_classname" function from "neutron.common.utils" is now available in "neutron_lib.utils.runtime".
* The "synchronized" decorator from "neutron.common.utils" is now available in "neutron_lib.utils.runtime".
Other Notes ***********
* The deprecated "N523" hacking check that ensures proper oslo namespace imports has been removed.
Changes in neutron-lib 1.7.0..1.8.0 -----------------------------------
fafb101 Use flake8-import-order plugin 94d7e68 Enable warning-is-error in doc build 8efbfa6 Switch from oslosphinx to openstackdocstheme 4bcd946 api-ref: Introduce logging api reference d0c4e06 remove deprecated N523 hacking check 5c19148 Define dns-domain-ports extension ecdf878 Updated from global requirements eb7a55b rehome consumed neutron.common.constants d3b88d8 rehome ml2 driver_api 48ee2d1 rehome ovo exceptions 1412f1e Rehome dns-integration extension 30daf22 bgpvpn-routes-control extension 70524bb Add OVS_DATAPATH_TYPE in portbindings constants 870bc4e Add sanity check to receives decorator d35f7e1 rehome qos service DriverBase class 29a31c1 Make port_range validator accept an integer 441e887 Replace assertTrue(isinstance()) with assertIsInstance() ef21b57 Fix html_last_updated_fmt for Python3 d082e62 Updated from global requirements 3a86761 enforce maximum length for name and tenant_id fields 59005a0 Add validators package 87efcaa Fix rst heading while reading 30d618f Repair link in Neutron documentation 1c71771 Updated from global requirements f1e03f3 Fix API ref with regards to OR queries 1a98539 APIDefinitionFixture bugfix f7f6910 sync callbacks: Eliminate SUBNET_GATEWAY resource 7b4ade3 rehome utils: synchronized decorator and load_class_by_alias_or_classname c506c7a Trivial fix typos 75ceeeb Add AFTER_SPAWN event to callbacks
Diffstat (except docs and test files) -------------------------------------
HACKING.rst | 3 +- api-ref/source/conf.py | 3 +- api-ref/source/v2/bgpvpn-bgpvpns.inc | 20 +- api-ref/source/v2/bgpvpn-network_associations.inc | 2 +- api-ref/source/v2/bgpvpn-overview.inc | 38 +- api-ref/source/v2/bgpvpn-port_associations.inc | 248 ++++ api-ref/source/v2/bgpvpn-router_associations.inc | 69 +- api-ref/source/v2/flavors.inc | 16 +- api-ref/source/v2/index.rst | 5 + api-ref/source/v2/intro.inc | 28 +- api-ref/source/v2/logging.inc | 271 +++++ api-ref/source/v2/parameters.yaml | 239 +++- .../bgpvpn/bgpvpns/bgpvpn-create-response.json | 3 +- .../bgpvpn/bgpvpns/bgpvpn-show-response.json | 3 +- .../bgpvpn/bgpvpns/bgpvpn-update-response.json | 3 +- .../bgpvpn/bgpvpns/bgpvpns-list-response.json | 3 +- .../port_association-create-request.json | 11 + .../port_association-create-response.json | 14 + .../port_association-list-response.json | 16 + .../port_association-show-response.json | 14 + .../port_association-update-request.json | 13 + .../port_association-update-response.json | 15 + .../router_association-create-response.json | 3 +- .../router_association-list-response.json | 3 +- .../router_association-show-response.json | 11 +- .../router_association-update-request.json | 6 + .../router_association-update-response.json | 8 + .../source/v2/samples/logs/log-create-request.json | 7 + .../v2/samples/logs/log-create-response.json | 14 + .../source/v2/samples/logs/log-list-response.json | 16 + .../source/v2/samples/logs/log-show-response.json | 14 + .../source/v2/samples/logs/log-update-request.json | 5 + .../v2/samples/logs/log-update-response.json | 14 + .../logs/loggable_resources-list-response.json | 7 + neutron_lib/agent/constants.py | 9 + neutron_lib/api/definitions/__init__.py | 6 + neutron_lib/api/definitions/base.py | 2 + neutron_lib/api/definitions/bgpvpn.py | 12 +- .../api/definitions/bgpvpn_routes_control.py | 168 +++ neutron_lib/api/definitions/dns.py | 116 ++ neutron_lib/api/definitions/dns_domain_ports.py | 92 ++ neutron_lib/api/definitions/portbindings.py | 4 + neutron_lib/api/definitions/trunk.py | 5 +- neutron_lib/api/extensions.py | 1 + neutron_lib/api/validators.py | 1087 ------------------ neutron_lib/api/validators/__init__.py | 1084 ++++++++++++++++++ neutron_lib/api/validators/dns.py | 190 ++++ neutron_lib/callbacks/events.py | 1 + neutron_lib/callbacks/registry.py | 2 + neutron_lib/callbacks/resources.py | 1 - neutron_lib/constants.py | 15 + neutron_lib/db/constants.py | 5 + neutron_lib/exceptions/__init__.py | 6 +- neutron_lib/exceptions/dns.py | 34 + neutron_lib/fixture.py | 13 +- neutron_lib/hacking/checks.py | 17 - neutron_lib/objects/__init__.py | 0 neutron_lib/objects/exceptions.py | 62 + neutron_lib/plugins/ml2/api.py | 751 ++++++++++++ neutron_lib/services/qos/__init__.py | 0 neutron_lib/services/qos/base.py | 162 +++ neutron_lib/services/qos/constants.py | 56 + .../api/definitions/test_bgpvpn_routes_control.py | 25 + .../unit/api/definitions/test_dns_domain_ports.py | 26 + neutron_lib/utils/runtime.py | 59 + .../notes/add-validator-pkg-a6565a2d4fbfa1d8.yaml | 6 + .../bgpvpn-routes-control-51cd95d6ab265cb1.yaml | 8 + .../notes/dns-api-def-bc24a58f56c5fbfb.yaml | 6 + .../dns-domain-ports-ext-39a069119e79e59b.yaml | 4 + .../notes/logging-api-ref-fafb884367ca60a2.yaml | 3 + .../rehome-common-constants-8ac9580e52fd3618.yaml | 6 + .../rehome-ml2-driverapi-363db4b8fa42f8f1.yaml | 4 + .../rehome-ovo-exceptions-fbddfeea582ef3f1.yaml | 4 + .../rehome-qos-driverbase-f729875b2ad74ce0.yaml | 6 + .../rehome-runtime-utils-acb4451326cbe4d9.yaml | 6 + ...remove-hacking-check-n523-014d163a5ae23adb.yaml | 4 + releasenotes/source/conf.py | 10 +- requirements.txt | 13 +- setup.cfg | 1 + test-requirements.txt | 7 +- tox.ini | 3 +- 95 files changed, 5619 insertions(+), 2392 deletions(-)
Requirements updates --------------------
diff --git a/requirements.txt b/requirements.txt index 7f897d0..037d2b8 100644 --- a/requirements.txt +++ b/requirements.txt @@ -8,0 +9 @@ debtcollector>=1.2.0 # Apache-2.0 +stevedore>=1.20.0 # Apache-2.0 @@ -10,4 +11,4 @@ oslo.concurrency>=3.8.0 # Apache-2.0 -oslo.config>=3.22.0 # Apache-2.0 -oslo.context>=2.12.0 # Apache-2.0 -oslo.db>=4.19.0 # Apache-2.0 -oslo.i18n>=2.1.0 # Apache-2.0 +oslo.config!=4.3.0,!=4.4.0,>=4.0.0 # Apache-2.0 +oslo.context>=2.14.0 # Apache-2.0 +oslo.db>=4.23.0 # Apache-2.0 +oslo.i18n!=3.15.2,>=2.1.0 # Apache-2.0 @@ -15,2 +16,2 @@ oslo.log>=3.22.0 # Apache-2.0 -oslo.messaging>=5.19.0 # Apache-2.0 -oslo.policy>=1.17.0 # Apache-2.0 +oslo.messaging!=5.25.0,>=5.24.2 # Apache-2.0 +oslo.policy>=1.23.0 # Apache-2.0 diff --git a/test-requirements.txt b/test-requirements.txt index e6692b7..51dd0cf 100644 --- a/test-requirements.txt +++ b/test-requirements.txt @@ -8,0 +9 @@ fixtures>=3.0.0 # Apache-2.0/BSD +flake8-import-order==0.12 # LGPLv3 @@ -10,2 +11,2 @@ python-subunit>=0.0.18 # Apache-2.0/BSD -sphinx!=1.6.1,>=1.5.1 # BSD -oslosphinx>=4.7.0 # Apache-2.0 +sphinx>=1.6.2 # BSD +openstackdocstheme>=1.11.0 # Apache-2.0 @@ -15 +16 @@ os-testr>=0.8.0 # Apache-2.0 -reno>=1.8.0 # Apache-2.0 +reno!=2.3.1,>=1.8.0 # Apache-2.0