[release-announce] neutron-lib 1.25.0 (stein)

no-reply at openstack.org no-reply at openstack.org
Thu Feb 28 17:25:00 UTC 2019


We are pleased to announce the release of:

neutron-lib 1.25.0: Neutron shared routines and utilities

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


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

* Add "NetworkSegmentRangeOverlaps" exception to prevent overlapping
  network segment ranges on creation.

* Adds API definition for "rbac-security-groups" extension, which
  allows sharing security groups between tenants via the network RBAC
  mechanism.

* Adds new L3 exception "RouterNotFoundInRouterFactory" in
  "neutron_lib.exceptions.l3".

* Adds definition of "interconnection" API extension for neutron-
  interconnection project.

* Adds "subnetpool-prefix-ops" API definition to neutron-lib. This
  extension introduces API's that provide explicit support for
  removing prefixes from a subnet pool and adding subnets to a subnet
  pool.

* The remaining "neutron.common.constants" are now available in
  "neutron_lib.constants" with the exception of
  "EXT_PARENT_RESOURCE_MAPPING" that is now available in
  "neutron_lib.services.constants".

* The "neutron_lib.tests._tools" module is now public and named
  "tools".

* The "sqlalchemytypes" module is now available in "neutron_lib.db".

* The trunk service constants are now available in
  "neutron_lib.services.trunk.constants", but now have the constant
  name prefixed with "TRUNK_".

* "neutron_lib.worker.BaseWorker" will now set the process title on
  process start, if it is a new process. By default, the name will be
  "neutron-server", and the description will be the name of the worker
  class, followed by the original process title. Both fields are
  customizable via the "name" and "desc" arguments to
  "BaseWorker.start()", and the change can be disabled via the
  "set_proctitle" argument to the "__init__" function. "neutron.conf"
  will have a setting for disabling this functionality for all in-tree
  workers, but by default, all out of tree plugin workers will set
  their name at fork time. Available settings are 'on' (described
  above, and the default), 'off' (same as today), or 'brief', which
  settings the process name to just name and description. 'brief' is
  probably most useful/simple for deployers, but 'on' is the default
  in order to prevent as many script related breakages as possible.

* Adds traffic control related constants:

  * Qdisc types: "htb", "tbf" and "ingress", used in Neutron
    "tc_lib"

  * Qdisc ID: for "ingress" type, because this one is specific only
    for ingress traffic.

  * Qdisc parents: for "root" and "ingress" types.


Upgrade Notes
*************

* Any plugin which forks worker processes from neutron-server will
  have its proctitle set to "neutron-server" plus a classname in ps
  output. Any tool used for monitoring/maintenance that watches the
  process table should be modified to only look for the string
  "neutron-server". On the plus side, it will now be possible to
  distinguish which process belongs to which plugin, based on the new
  naming. Note that the original process string is still in the
  proctitle, so as long as the scripting is not looking for a perfect
  string match, it should continue to work.


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

* Base class for upgrade checks used in checks in "neutron-status
  upgrade check" tool is now available in
  "neutron_lib.utils.upgrade_checks" and can be reused by other
  projects.

* Add the "neutron_lib.plugins.constants.NETWORK_SEGMENT_RANGE"
  constant so that it can be used elsewhere related to the
  "network_segment_range" service plugin.

* For technical reasons the "floatingip-autodelete-internal"
  extension no longer requires the "router" extension.

* New module "neutron_lib.policy" was added. It contains constants:
  "RULE_ADMIN_OR_OWNER", "RULE_ADMIN_ONLY", "RULE_ANY", "RULE_ADVSVC",
  "RULE_ADMIN_OR_NET_OWNER", "RULE_ADMIN_OR_NET_OWNER_OR_ADVSVC" and
  "RULE_ADMIN_OR_PARENT_OWNER". It contains also helper functions
  "policy_and" and "policy_or". Those constants and functions can be
  used in policy modules in Neutron related projects.

* Module "neutron_lib.db" is now removed from db profiling projects
  so database calls done from this module will not be tracked in
  osprofiler results. All db calls which are tracked by osprofiler are
  comming from Neutron and this avoids having each call logged twice
  in osprofiler report.

Changes in neutron-lib 1.24.0..1.25.0
-------------------------------------

7b5d36a rehome sqlalchemytypes
a6438f4 Introduce subnet pool prefix operations extension
d4fdf20 Add exception to prevent overlapped segment ranges
8a427f5 Add NETWORK_SEGMENT_RANGE plugin constant
cb0d01d Remove ml2's accidental dependency on l3
888a28d 'interconnection' API extension definition (neutron-interconnection)
b2d113a rehome trunk service constants
ca8026b Catch only MessageDeliveryFailure exceptions
c0a6d72 Add security-group as parameter to RBAC api
5315aa8 Rehome base upgrade checks class
e806dce Remove neutron_lib.db from db profiling projects
59c60b6 Add policy module to neutron-lib
2c1e09b Add setproctitle support to the workers module
d944884 add python 3.7 unit test job
77357d3 Bump lower version of oslo.db to one that includes jitter argument
355864d rehome remaining common constants
f8b6327 Add traffic control constants
176c09f Add RouterNotFoundInRouterFactory exception


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

.zuul.yaml                                         |   1 +
api-ref/source/v2/index.rst                        |   5 +
api-ref/source/v2/interconnection.inc              | 237 +++++++++++++++++++
api-ref/source/v2/parameters.yaml                  | 128 +++++++++-
api-ref/source/v2/rbac-policy.inc                  |   3 +
.../interconnection-create-request.json            |  11 +
.../interconnection-create-response.json           |  14 ++
.../interconnection-show-response.json             |  16 ++
.../interconnection-update-request.json            |   5 +
.../interconnection-update-response.json           |  16 ++
.../interconnections-list-response.json            |  18 ++
.../subnets/subnetpool-add-prefixes-request.json   |   3 +
.../subnets/subnetpool-add-prefixes-response.json  |   3 +
.../subnetpool-remove-prefixes-request.json        |   3 +
.../subnetpool-remove-prefixes-response.json       |   3 +
api-ref/source/v2/subnetpool_prefix_ops.inc        |  83 +++++++
lower-constraints.txt                              |   3 +-
neutron_lib/_policy.py                             | 110 ---------
neutron_lib/api/definitions/__init__.py            |   6 +
neutron_lib/api/definitions/base.py                |   5 +
.../definitions/floatingip_autodelete_internal.py  |   5 +-
neutron_lib/api/definitions/interconnection.py     | 125 ++++++++++
.../api/definitions/rbac_security_groups.py        |  24 ++
.../api/definitions/subnetpool_prefix_ops.py       |  53 +++++
neutron_lib/constants.py                           | 238 +++++++++++++++++++
neutron_lib/context.py                             |   7 +-
neutron_lib/db/api.py                              |  33 +--
neutron_lib/db/sqlalchemytypes.py                  |  83 +++++++
neutron_lib/exceptions/l3.py                       |   5 +
neutron_lib/exceptions/network_segment_range.py    |   5 +
neutron_lib/plugins/constants.py                   |   1 +
neutron_lib/policy/__init__.py                     |  29 +++
neutron_lib/policy/_engine.py                      | 110 +++++++++
neutron_lib/rpc.py                                 |   7 +-
neutron_lib/services/constants.py                  |  29 +++
neutron_lib/services/trunk/__init__.py             |   0
neutron_lib/services/trunk/constants.py            |  80 +++++++
.../unit/api/definitions/test_interconnection.py   |  24 ++
.../api/definitions/test_rbac_security_groups.py   |  18 ++
.../api/definitions/test_subnetpool_prefix_ops.py  |  19 ++
neutron_lib/utils/upgrade_checks.py                |  36 +++
neutron_lib/worker.py                              |  36 ++-
...base-upgrade-checks-class-f6da1d501663d8c5.yaml |   6 +
...t-range-overlap-exception-e8b4b2b425c51c80.yaml |   5 +
...ent-range-plugin-constant-9e80453919162c89.yaml |   5 +
.../add-rbac-security-groups-2e47acd9eac3a320.yaml |   4 +
...ound-in-factory-exception-e2bf9431549ff9b9.yaml |   4 +
...p-autodelete-internal-dep-8e544fad694d1275.yaml |   5 +
.../interconnection-api-def-cbec5e4f77852fe7.yaml  |   4 +
...pool_prefix_ops_extension-e37874c936d2554c.yaml |   5 +
.../notes/new-policy-module-f5638e23fe91a287.yaml  |  10 +
.../rehome-common-constants-52f39a79e8eabd7e.yaml  |   6 +
.../rehome-sqlalchemytypes-14817eb6694463db.yaml   |   5 +
.../rehome-trunk-consts-407e4590e9386d19.yaml      |   5 +
...ron-lib-from-db-profiling-38436898d8e45b37.yaml |   9 +
.../setproctitle_for_workers-e8805fcaf34026ab.yaml |  27 +++
...traffic-control-constants-b8120d1bea0681bf.yaml |   9 +
requirements.txt                                   |   3 +-
70 files changed, 2094 insertions(+), 296 deletions(-)


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

diff --git a/requirements.txt b/requirements.txt
index 8e09ff9..c34d830 100644
--- a/requirements.txt
+++ b/requirements.txt
@@ -15 +15 @@ oslo.context>=2.19.2 # Apache-2.0
-oslo.db>=4.27.0 # Apache-2.0
+oslo.db>=4.37.0 # Apache-2.0
@@ -24,0 +25 @@ osprofiler>=1.4.0 # Apache-2.0
+setproctitle>=1.1.10 # BSD






More information about the Release-announce mailing list