[release-announce] [neutron] neutron-lib 1.1.0 (ocata)

no-reply at openstack.org no-reply at openstack.org
Mon Jan 16 15:15:27 UTC 2017


We enthusiastically announce the release of:

neutron-lib 1.1.0: Neutron shared routines and utilities

This release is part of the ocata 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.1.0
^^^^^


New Features
************

* Introduced neutron_lib.plugins.directory.is_loaded(). This can be
  used in lieu of len(plugins()) or bool(plugins()) or plugins()
  alone.

* Neutron agent extension abstract classes are moved from
  "neutron.agent" to "neutron_lib.agent"

* The constants "EXPAND_BRANCH" and "CONTRACT_BRANCH" are now
  available in "neutron_lib.db.constants". They should be used instead
  of the ones in "neutron.db.migration.cli".

* The "context" module has been made public. For example:

     from neutron_lib import context

     ctx = context.get_admin_context()

  For more examples, see: https://review.openstack.org/#/c/388157/

* Introduced neutron_lib.fixture, and added fixture for plugin
  directory "PluginDirectoryFixture". An example below:

     from neutron_lib.plugins import directory
     from neutron_lib import fixture


     def setup_test_directory_instance(self):
         """Give a private copy of the directory to each test."""
         self._plugin_directory = directory._PluginDirectory()
         self.useFixture(fixture.PluginDirectoryFixture(
             plugin_directory=self._plugin_directory))

* Neutron's callback API found in "neutron.callbacks.*" is now
  exposed in "neutron_lib.callbacks.*". In addition, a set of event
  payload objects are now available for use in transporting event
  payload data in a standardized way.

* A test fixture is provided for isolating the global callback
  manager in "neutron_lib.callbacks.registry". For more details see
  the comments in "neutron_lib.fixture.CallbackRegistryFixture".

* Adds neutron-fwaas API definitions to neutron-lib.

* Added the converter "convert_string_to_case_insensitive".

* Added the converter "convert_to_protocol".

* Added the validator "validate_port_range_or_none".

* A converter "convert_ip_to_canonical_format" has been added to
  neutron-lib which allows IPv6 addresses to be stored and displayed
  in canonical format.

* The "floating_ip" and "router" API definitions from
  "neutron.extensions.l3" have been rehomed to
  "neutron_lib.api.definitions" as the module "l3".

* The "get_random_mac" utility function from "neutron.common.utils"
  is now in "neutron_lib.utils.net" with the same name,
  "get_random_mac".

* The API definition and associated constants have been rehomed from
  "neutron.extensions.portbindings" to
  "neutron_lib.api.definitions.portbindings".

* The Neutron "Provider network" extension API definition has been
  added as "neutron_lib.api.definitions.provider_net".

* The hacking check factory "incubating_factory" has been added to
  "neutron_lib.hacking.checks" allowing adopters to test compliance on
  incubating hacking checks. See the usage documentation for
  additional details.

* The class "neutron.services.service_base.ServicePluginBase" is now
  available as "neutron_lib.services.base.ServicePluginBase".

* Added validator validate_ip_or_subnet_or_none


Deprecation Notes
*****************

* The function "neutron_lib.api.utils.populate_project_info" has
  moved to "neutron_lib.api.attributes.populate_project_info".  It
  will be removed from the old location in the future.

* The use of "neutron_lib.callbacks.registry.notify()" and
  "neutron_lib.callbacks.manager.CallbacksManager.notify()" is
  deprecated in favor of their "publish()" counterparts and will be
  removed in the "Queens" release time-frame.

* "policy.refresh()" and "policy.reset()" have been removed. The
  library policy module is not meant for public consumption, and it
  should be considered in practice a private component of the library.
  If you use it, you will do so at your own risk, as it has been
  marked as a private module.


Other Notes
***********

* OpenStack dev hacking check "H904" is now enabled in "tox.ini" via
  the "enable-extensions" configuration property. Neutron-lib adopters
  should also enable this hacking check in their "tox.ini".

Changes in neutron-lib 1.0.0..1.1.0
-----------------------------------

cba0f9f Rehome providernet api-def
87e42f9 Rehome portbindings api-def into neutron-lib
9eb4d72 Rehome l3 API definitions into neutron-lib
2b354d1 api-ref: Fix api-ref for vpnaas
a039966 Rehome ServicePluginBase
6cfa2c0 api-ref: Fix descriptions of sec-grp parameters
7c3be07 Follow-up review comments
0841296 FWaaS v2 API reference
6cc186f Migrate neutron-fwaas API definitions to neutron-lib
c7871e8 Capture wider list of extension aliases
1902e2a Revisit exported policy module
6d5e550 Make neutron context available in neutron-lib
90809fd Add dummy API definitions for extension subresources
fea8bb6 Expose/Improve callback notification interface
100bc4e Add validators/converters needed by neutron-fwaas
f5620b8 Improve floatingip api-ref
a02765c api-ref: Fix api-ref for metering
1c92b53 Add fixture for plugin directory
82eddcd Updated from global requirements
6f3a5c6 Removed incorrect docstring for Context
73adf55 Add FQDN_FIELD_SIZE constant
79edae5 api-ref: Adding request parameter for sec-grp-rule
0931c5c Remove discover from test-requirements
f48adb0 Directory: fix concurreny issue
6a9e6d9 Removes unnecessary utf-8 encoding
4e4bffc Sync up bare minimum from neutron.db.api into lib
318a6b6 api-ref: project_id in req/resp body should be "body"
250551d Fix the status parameters in api-ref
1152f9d Modify API response information in API documents
d742175 [api-ref] Add max number of characters for tag
b6244f5 Migrate neutron agent extensions to neutron-lib
bddc699 Add validator to check for IP or subnet or none
c61976b Use new checks in hacking 0.12
189b98e Correcting Floating IPs
322ae30 Use constranits for api-ref target
f19d8a8 Policy: reuse common code
906e5a1 Updated from global requirements
d1a5ea0 Separate hacking check factories
a3b5e86 Provide dummy API definition for documentation purposes
a18de8b Add converter to convert IPv6 addresses to canonical format
380702c Sync latest neutron context into lib
de7aff6 Remove README from docs build
5c638b5 Explain how to use the latest neutron-lib dashboard
77c4ddb api-ref: Fix api-ref for fwaas
c26dc8d Add alembic branch constants
ca99605 Typo in ExtensionDescriptor.get_request_extensions()
ef5be1f [doc]Add sha256, sha384 and sha512 auth algorithms
3a7135e Show team and repo badges on README
4a78c72 Make the get_random_mac more versatile
4af5c97 Correcting Networking API v2.0 flavor extension
3eaa1c6 Revise status of VPNaaS in neutron
8b017d1 Update contributing doc
0c6dfdf Updated from global requirements
3193c6d Replace six.iteritems() with .items()
f639d3e api-ref: Fix api-ref for lbaas-v2
e94547d Add is_bsd() to neutron-lib
60e9415 Use api/attributes.py instead of api/utils.py
3225a57 Doc olso config option approach
dcff4ba Revert "Move wait_until_true to neutron-lib"
afa7aed Move wait_until_true to neutron-lib
113af41 api-ref: Fix api-ref for subnetpools
cabf52e Sync latest neutron callbacks into lib
ee0f5b2 Move get_random_mac into neutron-lib
8dbdb02 api-ref: Correcting Network v2.0 API extensions
96b69b2 Add missing is_loaded() method on directory's interface
a08ac59 TrivialFix: Perfect the unit test in test_utils
6178406 Fix typo for comparision => comparison
36b400a Updated from global requirements
a3f7590 Add section headings to Neutron API Reference
75ae597 Updates to API report tooling
1090701 api-ref: Fix api-ref for subnets
3c41960 Fix doc build if git is absent
5f53e32 api-ref: Update local_id configuration


Diffstat (except docs and test files)
-------------------------------------

HACKING.rst                                        |    1 -
README.rst                                         |    9 +
api-ref/source/conf.py                             |    2 -
api-ref/source/v2/extensions.inc                   |   44 +-
api-ref/source/v2/flavors.inc                      |  528 +--
api-ref/source/v2/floatingips.inc                  |  127 +-
api-ref/source/v2/fwaas-v2.inc                     |  847 ++++
api-ref/source/v2/fwaas.inc                        |  662 +--
api-ref/source/v2/index.rst                        |   53 +-
api-ref/source/v2/lbaas-v1.inc                     |   24 +-
api-ref/source/v2/lbaas-v2.inc                     |  746 ++--
api-ref/source/v2/metering.inc                     |  170 +-
api-ref/source/v2/network-provider.inc             |    8 +-
api-ref/source/v2/networks-multi-provider-ext.inc  |    6 +-
.../source/v2/networks-vlan-transparency-ext.inc   |    6 +-
api-ref/source/v2/networks.inc                     |   10 +-
api-ref/source/v2/parameters.yaml                  | 4435 ++++++++++++--------
api-ref/source/v2/ports.inc                        |   10 +-
api-ref/source/v2/qos.inc                          |   12 +-
api-ref/source/v2/quotas.inc                       |    8 +-
api-ref/source/v2/routers.inc                      |    8 +-
.../firewall-v2/firewall-group-create-request.json |    7 +
.../firewall-group-create-response.json            |   17 +
.../firewall-v2/firewall-group-show-response.json  |   14 +
.../firewall-v2/firewall-group-update-request.json |    5 +
.../firewall-group-update-response.json            |   16 +
.../firewall-v2/firewall-groups-list-response.json |   18 +
.../firewall-policies-list-response.json           |   16 +
.../firewall-policy-create-request.json            |    8 +
.../firewall-policy-create-response.json           |   14 +
.../firewall-policy-insert-rule-request.json       |    5 +
.../firewall-policy-insert-rule-response.json      |   12 +
.../firewall-policy-remove-rule-request.json       |    3 +
.../firewall-policy-remove-rule-response.json      |   10 +
.../firewall-v2/firewall-policy-show-response.json |   14 +
.../firewall-policy-update-request.json            |    8 +
.../firewall-policy-update-response.json           |   15 +
.../firewall-v2/firewall-rule-create-request.json  |    9 +
.../firewall-v2/firewall-rule-create-response.json |   18 +
.../firewall-v2/firewall-rule-show-response.json   |   20 +
.../firewall-v2/firewall-rule-update-request.json  |    5 +
.../firewall-v2/firewall-rule-update-response.json |   20 +
.../firewall-v2/firewall-rules-list-response.json  |   22 +
.../flavors/service-profiles-list-response.json    |    4 +-
.../floatingips/floating-ips-list-response.json    |    8 +
.../floatingips/floatingip-create-request.json     |    6 +-
.../floatingips/floatingip-create-response.json    |    6 +-
.../floatingip-disassociate-response.json          |    6 +-
.../floatingips/floatingip-show-response.json      |    6 +-
.../lbaas/healthmonitor-create-request.json        |    1 +
.../lbaas/loadbalancer-update-response.json        |    2 +
.../samples/lbaas/loadbalancers-list-response.json |    2 +
.../v2/samples/lbaas/member-create-response.json   |    4 +-
.../v2/samples/lbaas/member-show-response.json     |    4 +-
.../v2/samples/lbaas/member-update-response.json   |    4 +-
.../v2/samples/lbaas/pool-create-request.json      |    1 +
.../qos/bandwidth_limit_rule-create-response.json  |    5 +-
.../qos/bandwidth_limit_rule-show-response.json    |    5 +-
.../qos/bandwidth_limit_rule-update-response.json  |    5 +-
.../qos/bandwidth_limit_rules-list-response.json   |    5 +-
.../qos/dscp_marking_rule-create-response.json     |    3 +-
.../qos/dscp_marking_rule-show-response.json       |    3 +-
.../qos/dscp_marking_rule-update-response.json     |    3 +-
.../qos/dscp_marking_rules-list-response.json      |    3 +-
.../v2/samples/qos/policies-list-response.json     |   24 +-
.../v2/samples/qos/policy-create-response.json     |    1 +
.../v2/samples/qos/policy-show-response.json       |   18 +-
.../security-group-rule-show-request-json-http.txt |    4 +-
.../security-group-update-response.json            |    2 +-
.../v2/samples/subnets/subnet-create-request.json  |    2 +-
.../v2/samples/subnets/subnet-create-response.json |   10 +-
.../v2/samples/subnets/subnet-show-response.json   |    8 +-
.../samples/subnets/subnetpool-show-response.json  |    4 +-
.../subnets/subnetpool-update-response.json        |    4 +-
.../samples/subnets/subnetpools-list-response.json |    8 +-
.../subnets/subnets-create-bulk-response.json      |   20 +-
.../v2/samples/subnets/subnets-list-response.json  |   20 +-
api-ref/source/v2/security-group-rules.inc         |  152 +-
api-ref/source/v2/security-groups.inc              |  203 +-
api-ref/source/v2/subnetpools.inc                  |   72 +-
api-ref/source/v2/subnets.inc                      |  235 +-
api-ref/source/v2/tags.inc                         |    4 +
api-ref/source/v2/trunk.inc                        |   12 +-
api-ref/source/v2/vpnaas.inc                       | 1171 +++---
neutron_lib/__init__.py                            |    2 -
neutron_lib/_callbacks/__init__.py                 |    0
neutron_lib/_callbacks/events.py                   |   44 -
neutron_lib/_callbacks/exceptions.py               |   58 -
neutron_lib/_callbacks/manager.py                  |  169 -
neutron_lib/_callbacks/registry.py                 |   48 -
neutron_lib/_callbacks/resources.py                |   31 -
neutron_lib/_context.py                            |  142 -
neutron_lib/_policy.py                             |   67 +
neutron_lib/agent/__init__.py                      |    0
neutron_lib/agent/constants.py                     |   23 +
neutron_lib/agent/extension.py                     |   48 +
neutron_lib/agent/l2_extension.py                  |   55 +
neutron_lib/agent/l3_extension.py                  |   53 +
neutron_lib/api/attributes.py                      |   43 +
neutron_lib/api/converters.py                      |   73 +-
neutron_lib/api/definitions/_dummy.py              |  115 +
neutron_lib/api/definitions/base.py                |    4 +
neutron_lib/api/definitions/constants.py           |   23 +
neutron_lib/api/definitions/firewall.py            |  174 +
neutron_lib/api/definitions/firewall_v2.py         |  190 +
.../api/definitions/firewallrouterinsertion.py     |   69 +
neutron_lib/api/definitions/l3.py                  |  160 +
neutron_lib/api/definitions/portbindings.py        |  197 +
neutron_lib/api/definitions/provider_net.py        |  107 +
neutron_lib/api/definitions/trunk.py               |    3 +
neutron_lib/api/definitions/trunk_details.py       |   19 +-
neutron_lib/api/extensions.py                      |    2 +-
neutron_lib/api/utils.py                           |   37 +-
neutron_lib/api/validators.py                      |   67 +-
neutron_lib/callbacks/__init__.py                  |    0
neutron_lib/callbacks/events.py                    |  153 +
neutron_lib/callbacks/exceptions.py                |   58 +
neutron_lib/callbacks/manager.py                   |  202 +
neutron_lib/callbacks/registry.py                  |   54 +
neutron_lib/callbacks/resources.py                 |   32 +
neutron_lib/constants.py                           |    9 +
neutron_lib/context.py                             |  161 +
neutron_lib/db/_api.py                             |   36 +-
neutron_lib/db/constants.py                        |    5 +
neutron_lib/fixture.py                             |   61 +
neutron_lib/hacking/checks.py                      |   40 +-
neutron_lib/hacking/translation_checks.py          |   30 -
neutron_lib/plugins/directory.py                   |    7 +-
neutron_lib/policy.py                              |   96 -
neutron_lib/services/__init__.py                   |    0
neutron_lib/services/base.py                       |   92 +
.../definitions/test_firewallrouterinsertion.py    |   20 +
.../unit/api/definitions/test_portbindings.py      |   24 +
.../unit/api/definitions/test_provider_net.py      |   20 +
.../unit/api/definitions/test_trunk_details.py     |    1 +
.../unit/callbacks/test_callback_exceptions.py     |    4 +-
neutron_lib/utils/helpers.py                       |    2 +-
neutron_lib/utils/net.py                           |   16 +
.../add-directory-is-loaded-e9da5b65824dddad.yaml  |    5 +
.../notes/agent_extensions-2b497ff33c6dc3e8.yaml   |    3 +
.../notes/alembic-branches-6d5947d141efd26e.yaml   |    5 +
.../notes/context-public-6df198b77027c224.yaml     |   12 +
.../deprecate-api-utils-4f86288591c95679.yaml      |    5 +
.../notes/directory-fixture-083c5c5f365670d6.yaml  |   17 +
...enable-hacking-check-H904-f512ecc98c0a4033.yaml |    5 +
...-and-enhance-callback-api-714cce65a3c44fe7.yaml |   14 +
.../notes/fwaas-api-def-a6f03db369177b4a.yaml      |    3 +
...aas_converters_validators-c310900b4386146e.yaml |    5 +
.../notes/ipv6_address_usage-ef3d65ad5aa5798b.yaml |    6 +
.../notes/l3-apidefs-d028c708c22ef2a0.yaml         |    5 +
.../move-get-random-mac-98f47d81cb34483d.yaml      |    4 +
.../notes/policy-redux-25c26836219fd02d.yaml       |    7 +
.../portbindings-apidef-3d7893bcb94d7f61.yaml      |    5 +
.../provider-net-apidef-9ebe9f56840c79f7.yaml      |    4 +
...eparate-hacking-factories-6fc36b38de95662a.yaml |    7 +
.../service-plugin-base-a42c2241a2fe0d26.yaml      |    4 +
...ator_ip_or_subnet_or_none-0175f906a9113954.yaml |    3 +
releasenotes/source/conf.py                        |    1 -
requirements.txt                                   |   10 +-
test-requirements.txt                              |    3 +-
tools/api_report.sh                                |    4 +-
tools/pyir.py                                      |   40 +-
tox.ini                                            |   10 +-
198 files changed, 10575 insertions(+), 4476 deletions(-)


Requirements updates
--------------------

diff --git a/requirements.txt b/requirements.txt
index 788adf8..2e8887e 100644
--- a/requirements.txt
+++ b/requirements.txt
@@ -5 +5 @@
-pbr>=1.6 # Apache-2.0
+pbr>=1.8 # Apache-2.0
@@ -12 +12 @@ oslo.context>=2.9.0 # Apache-2.0
-oslo.db!=4.13.1,!=4.13.2,>=4.10.0 # Apache-2.0
+oslo.db>=4.15.0 # Apache-2.0
@@ -15,2 +15,2 @@ oslo.log>=3.11.0 # Apache-2.0
-oslo.messaging>=5.2.0 # Apache-2.0
-oslo.policy>=1.15.0 # Apache-2.0
+oslo.messaging>=5.14.0 # Apache-2.0
+oslo.policy>=1.17.0 # Apache-2.0
@@ -18 +18 @@ oslo.service>=1.10.0 # Apache-2.0
-oslo.utils>=3.17.0 # Apache-2.0
+oslo.utils>=3.18.0 # Apache-2.0
diff --git a/test-requirements.txt b/test-requirements.txt
index fbbf5ca..44eee12 100644
--- a/test-requirements.txt
+++ b/test-requirements.txt
@@ -5 +5 @@
-hacking<0.12,>=0.11.0 # Apache-2.0
+hacking!=0.13.0,<0.14,>=0.12.0 # Apache-2.0
@@ -8 +7,0 @@ coverage>=4.0 # Apache-2.0
-discover # BSD





More information about the Release-announce mailing list