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
participants (1)
-
no-reply@openstack.org