Release-announce
Threads by month
- ----- 2025 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2024 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2023 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2022 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2021 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2020 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2019 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2018 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2017 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2016 -----
- December
- November
- 1 participants
- 17236 discussions
We are tickled pink to announce the release of:
openstack-cyborg 6.0.0: Distributed Acceleration Management as a
Service
This release is part of the wallaby release series.
The source is available from:
https://opendev.org/openstack/openstack-cyborg
Download the package from:
https://tarballs.openstack.org/cyborg/
For more details, please see below.
Changes in openstack-cyborg 5.0.0.0rc1..6.0.0
---------------------------------------------
7fbae95 Remove personal name in the docs
4040843 Revert device_profile key to show device profile API
8ac560b tools: Allow check-cherry-picks.sh to be disabled by an env var
cbb9857 [stable-only] Update TOX_CONSTRAINTS_FILE for stable/wallaby
cc87094 [stable-only] Update .gitreview for stable/wallaby
453e4ac Remove ARQInvalidState exception
15b1d62 improve drivers with enumerate()
8d56b2b bug-fix: correct the comment for each vendor driver
19b7d14 Add NVMe SSD driver
7b1b9fb Update server operations support in matrix
0605fe3 support configuring multiple vgpu types in cyborg
ce88d4e Add tags to .gitignore
e3caf5c Add intel NIC driver
3d53b7a Add newline to enable lists
ced87f7 Revert "remove py37"
8fcc050 Trival: Fix the key error in log msg
683c26e Installation document improvement
d4ca2df Remove __unicode in CyborgException
4f04cfa remove py37
39d51a0 remove unicode from code
cacf914 Use TOX_CONSTRAINTS_FILE
583cc45 Refresh cyborg-api link
3965593 Change the dependency with the testenv:docs
54b4fa5 Dep's should be restricted by upper-constraints
0e5b370 refresh device profile link in API doc
acac833 Import HTTPStatus instead of http_client
a069962 Add project_id description in api_ref
38d395d Remove cyborg-dbsync unsupport argument
eabd6e1 Add microversion instructions
7f28d54 Add intel_qat_driver for enabled_drivers help
332c959 Add packages required for pdf-docs run to bindep.txt
0da7417 Add index page for contributors guide
2b50fd9 Remove tmp bitstream file always
71f790e Correct some small errors
4da09b9 Refactor device_profile retrieve in ARQ post API
f7bc91e Bump py37 to py38 in tox.ini
bdc1aab Add releasenote for policy refresh base and device profile policies
bb4fd10 improve pep8 check logic
02e573b Remove usage of six
c61e8ef Add fast8 check for cybrog
68c1f06 add document for cyborg new policy
addd88d Add Python3 wallaby unit tests
8966c57 Update master for stable/victoria
1a45115 Signal to conductor service to apply patch accelerator requests.
3fe4c76 Add rc check for POST Device Profile
315e147 Add trait check for POST Device Profile
99fd79e fix cyborg uwsgi doc error
af49d0b Change default policy file from JSON to YAML
a5e6b0e Replace wsme to `convert_with_links` for device profile API
Diffstat (except docs and test files)
-------------------------------------
.gitignore | 2 +
.gitreview | 1 +
.zuul.yaml | 2 +-
api-ref/source/conf.py | 6 +-
api-ref/source/v2/arqs.inc | 7 +-
api-ref/source/v2/device_profile.inc | 2 +-
api-ref/source/v2/parameters.yaml | 9 +-
bindep.txt | 7 +-
cyborg.conf.intelnic.sample | 69 +++++
cyborg/accelerator/common/exception.py | 10 +-
cyborg/accelerator/common/utils.py | 82 ++++-
cyborg/accelerator/drivers/driver.py | 4 +-
cyborg/accelerator/drivers/fpga/inspur/driver.py | 6 +-
cyborg/accelerator/drivers/fpga/intel/driver.py | 6 +-
cyborg/accelerator/drivers/fpga/intel/sysinfo.py | 11 +-
cyborg/accelerator/drivers/gpu/nvidia/driver.py | 6 +-
cyborg/accelerator/drivers/nic/__init__.py | 0
cyborg/accelerator/drivers/nic/base.py | 51 ++++
cyborg/accelerator/drivers/nic/intel/__init__.py | 0
cyborg/accelerator/drivers/nic/intel/driver.py | 34 +++
cyborg/accelerator/drivers/nic/intel/sysinfo.py | 253 ++++++++++++++++
cyborg/accelerator/drivers/qat/intel/driver.py | 6 +-
cyborg/accelerator/drivers/qat/intel/sysinfo.py | 4 +-
cyborg/accelerator/drivers/ssd/__init__.py | 0
cyborg/accelerator/drivers/ssd/base.py | 62 ++++
cyborg/accelerator/drivers/ssd/inspur/__init__.py | 0
cyborg/accelerator/drivers/ssd/inspur/driver.py | 28 ++
cyborg/accelerator/drivers/ssd/inspur/sysinfo.py | 27 ++
cyborg/accelerator/drivers/ssd/utils.py | 172 +++++++++++
cyborg/agent/manager.py | 11 +-
cyborg/api/controllers/v2/arqs.py | 46 ++-
cyborg/api/controllers/v2/device_profiles.py | 127 ++++++--
cyborg/api/middleware/parsable_error.py | 8 +-
cyborg/cmd/status.py | 30 +-
cyborg/common/authorize_wsgi.py | 43 ++-
cyborg/common/constants.py | 13 +-
cyborg/common/exception.py | 41 +--
cyborg/common/policy.py | 2 +-
cyborg/common/utils.py | 9 +-
cyborg/conductor/manager.py | 17 +-
cyborg/conductor/rpcapi.py | 11 +
cyborg/conf/__init__.py | 2 +
cyborg/conf/agent.py | 4 +-
cyborg/conf/devices.py | 104 +++++++
cyborg/context.py | 3 +-
cyborg/db/api.py | 4 +-
.../db/sqlalchemy/alembic/{README => README.rst} | 1 -
.../alembic/versions/4cc1d79978fc_add_ssd_type.py | 22 ++
.../alembic/versions/899cead40bc9_add_nic_type.py | 22 ++
cyborg/db/sqlalchemy/models.py | 4 +-
cyborg/image/glance.py | 22 +-
cyborg/objects/ext_arq.py | 7 +-
cyborg/objects/extarq/ext_arq_job.py | 29 +-
cyborg/quota.py | 3 +-
.../drivers/fpga/intel/prepare_test_data.py | 20 --
.../unit/accelerator/drivers/nic/intel/__init__.py | 0
.../drivers/nic/intel/prepare_test_data.py | 245 +++++++++++++++
.../accelerator/drivers/nic/intel/test_driver.py | 140 +++++++++
.../unit/accelerator/drivers/nic/test_base.py | 31 ++
.../accelerator/drivers/ssd/inspur/__init__.py | 0
.../unit/accelerator/drivers/ssd/test_base.py | 32 ++
.../unit/accelerator/drivers/ssd/test_utils.py | 137 +++++++++
.../api/controllers/v2/test_device_profiles.py | 101 ++++++-
.../unit/api/controllers/v2/test_fpga_program.py | 4 +-
devstack/settings | 2 +-
...=> accelerator_requests-after-update-resp.json} | 29 +-
.../accelerator_requests-before-update-resp.json | 21 ++
.../{sample_config.rst => sample-config.rst} | 0
.../{sample_policy.rst => sample-policy.rst} | 9 +
...ADME.policy.json.txt => README.policy.yaml.txt} | 2 +-
etc/cyborg/{policy.json => policy.yaml} | 0
...igure-multiple-vgpu-types-a60d09dfb5b7be4b.yaml | 8 +
.../notes/inspur-nvme-ssd-faeddc0b09250acc.yaml | 7 +
.../notes/intel-nic-driver-f93adad86a23ceb9.yaml | 10 +
...file-default-value-change-de14a3688357b081.yaml | 14 +
...h_base_and_device_profile-cef00fca580d2323.yaml | 87 ++++++
releasenotes/source/conf.py | 12 +-
releasenotes/source/index.rst | 1 +
releasenotes/source/victoria.rst | 6 +
requirements.txt | 5 +-
setup.cfg | 4 +-
tools/check-cherry-picks.sh | 47 +++
tools/config/cyborg-policy-generator.conf | 2 +-
tools/flake8wrap.sh | 27 ++
tox.ini | 52 +++-
112 files changed, 3161 insertions(+), 353 deletions(-)
Requirements updates
--------------------
diff --git a/requirements.txt b/requirements.txt
index 787850d..1e74cb2 100644
--- a/requirements.txt
+++ b/requirements.txt
@@ -8 +7,0 @@ WSME>=0.8.0 # MIT
-six>=1.8.0 # MIT
@@ -20 +19 @@ oslo.upgradecheck>=0.1.0 # Apache-2.0
-oslo.utils>=3.33.0 # Apache-2.0
+oslo.utils>=4.5.0 # Apache-2.0
@@ -22 +21 @@ oslo.versionedobjects>=1.31.2 # Apache-2.0
-oslo.policy>=2.3.0 # Apache-2.0
+oslo.policy>=3.4.0 # Apache-2.0
1
0
We are pleased to announce the release of:
aodh 12.0.0: OpenStack Telemetry Alarming
This release is part of the wallaby release series.
The source is available from:
https://opendev.org/openstack/aodh
Download the package from:
https://tarballs.openstack.org/aodh/
Please report issues through:
https://bugs.launchpad.net/aodh/+bugs
For more details, please see below.
Changes in aodh 11.0.0..12.0.0
------------------------------
418d17c3 Imported Translations from Zanata
6635dc0c Imported Translations from Zanata
5e7a0519 [goal] Deprecate the JSON formatted policy file
2710b600 Update TOX_CONSTRAINTS_FILE
a2d9f3ce Remove six
7779da49 Implement secure RBAC for alarms and quota policies
5df5505c Add common personas to base policies
b99761d3 Update requirements to implement secure RBAC
857e5a19 Remove deprecated tail_log function
1c579763 Imported Translations from Zanata
267f07ed Add Python3 wallaby unit tests
3399daec Update master for stable/victoria
31777297 Fix pygments style
Diffstat (except docs and test files)
-------------------------------------
.zuul.yaml | 2 +-
aodh/api/controllers/v2/alarms.py | 9 +-
aodh/api/controllers/v2/base.py | 3 +-
aodh/api/controllers/v2/capabilities.py | 7 +-
aodh/api/controllers/v2/utils.py | 5 +-
aodh/api/hooks.py | 8 +
aodh/api/middleware.py | 10 +-
aodh/api/policies.py | 194 ++++++++++++++++++---
aodh/cmd/status.py | 13 +-
aodh/conf/defaults.py | 16 ++
aodh/coordination.py | 3 +-
aodh/evaluator/__init__.py | 4 +-
aodh/evaluator/ceilometer.py | 3 +-
aodh/evaluator/composite.py | 5 +-
aodh/evaluator/event.py | 6 +-
aodh/evaluator/loadbalancer.py | 3 +-
aodh/evaluator/threshold.py | 3 +-
aodh/locale/en_GB/LC_MESSAGES/aodh.po | 12 +-
aodh/locale/ru/LC_MESSAGES/aodh.po | 5 +-
aodh/notifier/__init__.py | 4 +-
aodh/notifier/heat.py | 3 +-
aodh/notifier/rest.py | 2 +-
aodh/notifier/trust.py | 2 +-
aodh/notifier/zaqar.py | 2 +-
aodh/queue.py | 3 +-
aodh/service.py | 2 +-
aodh/storage/__init__.py | 2 +-
aodh/storage/base.py | 8 +-
aodh/storage/sqlalchemy/models.py | 3 +-
.../functional/api/v2/test_alarm_scenarios.py | 18 +-
.../storage/sqlalchemy/test_migrations.py | 8 +-
.../functional/storage/test_get_connection.py | 4 +-
aodh/utils.py | 7 +-
devstack/plugin.sh | 2 -
...son-formatted-policy-file-fgb26387a9bdb3b9.yaml | 20 +++
releasenotes/source/index.rst | 1 +
.../locale/en_GB/LC_MESSAGES/releasenotes.po | 43 ++++-
releasenotes/source/victoria.rst | 6 +
requirements.txt | 12 +-
setup.cfg | 2 +-
tox.ini | 8 +-
58 files changed, 419 insertions(+), 240 deletions(-)
Requirements updates
--------------------
diff --git a/requirements.txt b/requirements.txt
index 73671d67..54dabb67 100644
--- a/requirements.txt
+++ b/requirements.txt
@@ -9 +9 @@ jsonschema>=3.2.0 # MIT
-keystonemiddleware>=2.2.0,!=4.19.0
+keystonemiddleware>=5.1.0 # Apache-2.0
@@ -13 +13,2 @@ oslo.db>=4.8.0,!=4.13.1,!=4.13.2,!=4.15.0 # Apache-2.0
-oslo.config>=2.6.0 # Apache-2.0
+oslo.config>=6.8.0 # Apache-2.0
+oslo.context>=2.22.0 # Apache-2.0
@@ -15,3 +16,3 @@ oslo.i18n>=1.5.0 # Apache-2.0
-oslo.log>=1.2.0 # Apache-2.0
-oslo.policy>=0.5.0 # Apache-2.0
-oslo.upgradecheck>=0.1.1 # Apache-2.0
+oslo.log>=4.3.0 # Apache-2.0
+oslo.policy>=3.6.0 # Apache-2.0
+oslo.upgradecheck>=1.3.0 # Apache-2.0
@@ -27 +27,0 @@ requests>=2.5.2
-six>=1.9.0
1
0
We high-spiritedly announce the release of:
ec2-api 12.0.0: OpenStack Ec2api Service
This release is part of the wallaby release series.
The source is available from:
https://opendev.org/openstack/ec2-api
Download the package from:
https://pypi.org/project/ec2-api
Please report issues through:
https://bugs.launchpad.net/ec2-api/+bugs
For more details, please see below.
Changes in ec2-api 11.0.0..12.0.0
---------------------------------
faf3cc0 Handle binary userdata (like gzip format)
eb3b485 Use volume v3 API by default
87bf822 Bump mccabe in lower-constraints.txt
a37a4a1 Add Python3 wallaby unit tests
Diffstat (except docs and test files)
-------------------------------------
.zuul.yaml | 2 +-
ec2api/clients.py | 2 +-
ec2api/metadata/api.py | 5 ++++-
lower-constraints.txt | 2 +-
releasenotes/notes/use-volumev3-by-default-fa726fed293d94bb.yaml | 6 ++++++
7 files changed, 15 insertions(+), 6 deletions(-)
1
0
We are pleased to announce the release of:
python-adjutant 2.0.0: An admin task workflow service for openstack.
This release is part of the wallaby release series.
The source is available from:
https://opendev.org/openstack/python-adjutant
Download the package from:
https://tarballs.openstack.org/adjutant/
For more details, please see below.
2.0.0
^^^^^
Upgrade Notes
* Adjutant no longer includes mysqlclient in its requirements file.
Going forward you will have to install that yourself as part of your
build/deployment processes.
Changes in python-adjutant 1.0.0..2.0.0
---------------------------------------
ad19ed1 remove mysqlclient from requirements
d703a63 Fix a bug with feature set config not being added as expected
758a140 Rename git-blame-ignore-revs
6f5a59a Fix pluralisation of quotas in api-ref
1795ac7 Fix an issue when username_is_email=False for Quotas
45160d3 Add service helper for trove quota management
84270ad Make identity interface configurable
d2fbd63 Fixed typos in nova and neutron quota output
eda6558 Add Victoria release info
a325ba8 Add Python3 wallaby unit tests
136ba20 Update master for stable/victoria
Diffstat (except docs and test files)
-------------------------------------
.git-blame-ignore-revs => .git-blame-ignore-revs | 0
.zuul.yaml | 2 +-
adjutant/actions/v1/resources.py | 4 +-
adjutant/common/openstack_clients.py | 5 ++
adjutant/common/quota.py | 30 +++++++-
adjutant/config/__init__.py | 2 +
adjutant/config/feature_sets.py | 2 +-
adjutant/config/identity.py | 8 ++
adjutant/config/quota.py | 15 ++++
adjutant/wsgi.py | 1 +
api-ref/source/delegate-apis.inc | 6 +-
.../add-trove-quota-helper-9c5c96a941ac740c.yaml | 5 ++
.../notes/remove_mysqlclient-74299a42f0d0483e.yaml | 6 ++
releasenotes/source/index.rst | 1 +
releasenotes/source/victoria.rst | 6 ++
requirements.txt | 2 +-
19 files changed, 238 insertions(+), 20 deletions(-)
Requirements updates
--------------------
diff --git a/requirements.txt b/requirements.txt
index f39647c..1fe6a23 100644
--- a/requirements.txt
+++ b/requirements.txt
@@ -15,0 +16 @@ python-octaviaclient>=1.8.0
+python-troveclient>=6.0.1
@@ -18 +18,0 @@ confspirator>=0.2.2
-mysqlclient>=1.4.6
\ No newline at end of file
1
0
We are pumped to announce the release of:
magnum-ui 8.0.0: Magnum User Interface
This release is part of the wallaby release series.
The source is available from:
https://opendev.org/openstack/magnum-ui
Download the package from:
https://tarballs.openstack.org/magnum-ui/
Please report issues through:
https://bugs.launchpad.net/magnum-ui/+bugs
For more details, please see below.
Changes in magnum-ui 7.0.0..8.0.0
---------------------------------
e551887 Imported Translations from Zanata
5be62ae Use TOX_CONSTRAINTS_FILE
a09bcb0 Update lower-constraints for new pip
086d137 Imported Translations from Zanata
ade04f4 Add Python3 wallaby unit tests
bbb6783 Update master for stable/victoria
de13159 [goal] Migrate testing to ubuntu focal
Diffstat (except docs and test files)
-------------------------------------
.zuul.yaml | 2 +-
bindep.txt | 4 ++++
lower-constraints.txt | 11 +++++------
magnum_ui/locale/en_GB/LC_MESSAGES/djangojs.po | 7 +++++--
magnum_ui/locale/{zh_CN => zh_Hans}/LC_MESSAGES/django.po | 2 +-
magnum_ui/locale/{zh_CN => zh_Hans}/LC_MESSAGES/djangojs.po | 2 +-
releasenotes/source/index.rst | 1 +
releasenotes/source/locale/en_GB/LC_MESSAGES/releasenotes.po | 10 +++++-----
releasenotes/source/victoria.rst | 6 ++++++
setup.cfg | 1 +
test-requirements.txt | 6 +-----
tools/install_venv.py | 1 +
tox.ini | 6 +++---
13 files changed, 35 insertions(+), 24 deletions(-)
Requirements updates
--------------------
diff --git a/test-requirements.txt b/test-requirements.txt
index c9bfa73..e261ca2 100644
--- a/test-requirements.txt
+++ b/test-requirements.txt
@@ -10,5 +10 @@
-hacking>=1.1.0,<1.2.0 # Apache-2.0
-# remove this pyflakes from here once you bump the
-# hacking to 3.2.0 or above. hacking 3.2.0 takes
-# care of pyflakes version compatibilty.
-pyflakes>=2.1.1
+hacking>=4.0.0,<4.1.0 # Apache-2.0
1
0
We are delighted to announce the release of:
cinder 18.0.0: OpenStack Block Storage
This release is part of the wallaby release series.
The source is available from:
https://opendev.org/openstack/cinder
Download the package from:
https://tarballs.openstack.org/cinder/
Please report issues through:
https://bugs.launchpad.net/cinder/+bugs
For more details, please see below.
18.0.0
^^^^^^
Prelude
*******
Welcome to the Wallaby release of the OpenStack Block Storage service
(cinder). With this release, the Block Storage API version 3 has
reached microversion **3.64**.
New Features
************
* The cinder-manage command now includes a new "quota" category with
two possible actions "check" and "sync" to help administrators
manage out of sync quotas on long running deployments.
Known Issues
************
* **Anomalies with encrypted volumes**
For the most part, users are happy with the cinder feature Volume
encryption supported by the key manager
(https://docs.openstack.org/cinder/wallaby/configuration/block-
storage/volume-encryption.html). There are, however, some edge cases
that have revealed bugs that you and your users should be aware of.
First, some background. The Block Storage API supports the creation
of volumes in gibibyte (GiB) units. When a volume of a non-
encrypted volume type of size *n* is created, the volume contains
*n* GiB of usable space. When a volume of an encrypted type is
requested, however, the volume contains less than *n* GiB of usable
space because the encryption metadata that must be stored within
that volume in order for the volume to be usable consumes an amount
of the otherwise usable space.
Although the encryption metadata consumes less than 1% of the
volume, suppose that a user wants to retype a volume of a non-
encrypted type to an encrypted type of the same size. If the non-
encrypted volume is "full", we are in the position of trying to fit
101% of its capacity into the encrypted volume, which is not
possible under the current laws of physics, and the retype should
fail (see Known Issues
(https://docs.openstack.org/cinder/wallaby/configuration/block-
storage/volume-encryption.html) for volume encryption in the cinder
documentation).
(Note that whether a volume should be considered "full", even if it
doesn't contain exactly *n* GiB of data for an *n* GiB volume, can
depend upon the storage backend technology used.)
A similar situation can arise when a user creates a volume of an
encrypted volume type from an image in Glance. If the image happens
to be sized very close to the gibibyte boundary given by the
requested volume size, the operation may fail if the image data plus
the encryption metadata exceeds the requested volume size.
So far, the behavior isn't anomalous; it's basically what you'd
expect once you are aware that the encryption metadata must be
stored in the volume and that it consumes some space.
We recently became aware of the following anomalies, however, when
using the current RBD driver with a Ceph storage backend.
* When creating an encrypted volume from an image in Glance that
was created from a non-encrypted volume uploaded as an image, or
an image that just happens to be sized very close to the gibibyte
boundary given by the requested volume size, the space consumed by
the encryption header may not leave sufficient space for the data
contained in the image. In this case, the data is silently
truncated to fit within the requested volume size.
* Similarly, when creating an encrypted volume from a snapshot of
an encrypted volume, if the amount of data in the original volume
at the time the snapshot was created is very close to the gibibyte
boundary given by the volume's size, it is possible for the data
in the new volume to be silently truncated.
Not to put too fine a point on it, silent truncation is worse than
failure, and the Cinder team will be addressing these issues in the
next release. Additionally (as if that isn't bad enough!), we
suspect that the above anomalies will also occur when using volume
encryption with NFS-based storage backends, though this has not yet
been reported or confirmed.
Upgrade Notes
*************
* New configuration options have been added to enable mTLS between
cinder and glance: use "glance_certfile" and "glance_keyfile" in the
"[DEFAULT]" section of the cinder configuration file.
Bug Fixes
*********
* PowerStore driver Bug #1920729
(https://bugs.launchpad.net/cinder/+bug/1920729) Fix iSCSI targets
not being returned from the REST API call if targets are used for
multiple purposes (iSCSI target, Replication target, etc.).
* Bug #1913054 (https://bugs.launchpad.net/cinder/+bug/1913054) Fix
for creating a clone of an encrypted volume for drivers that require
additional information to attach.
* Bug #1917574 (https://bugs.launchpad.net/cinder/+bug/1917574)
Fixed issue when cinderclient requests to show volume by name for
non- admin users would result in the volume not being found for
microversions 3.31 or later.
* LVM driver bug #1901783
(https://bugs.launchpad.net/cinder/+bug/1901783) Fix unexpected
delete volume failure due to unexpected exit code 139 on "lvs"
command call.
* Bug #1917797 (https://bugs.launchpad.net/cinder/+bug/1917797) Fix
Cinder's communication with the Glance API to correctly load mTLS
certificates from config ("glance_certfile" and "glance_keyfile" in
the "[DEFAULT]" section).
* Bug #1877164 (https://bugs.launchpad.net/cinder/+bug/1877164) Fix
retyping volume with snapshots leaves the snapshots with the old
type, making the quotas wrong inmediately for snapshots, and
breaking them even more after those snapshots are deleted.
* Bug #1919161 (https://bugs.launchpad.net/cinder/+bug/1919161) Fix
automatic quota refresh to correctly account for temporary volumes.
During some cinder operations, such as create a backup from a
snapshot, temporary volumes are created and are not counted towards
quota usage, but the sync mechanism was counting them, thus
incorrectly updating volume usage.
* Bug #1697906 (https://bugs.launchpad.net/cinder/+bug/1697906) Fix
"until_refresh" configuration changes not taking effect in a timely
fashion or at all.
* Bug #1484343 (https://bugs.launchpad.net/cinder/+bug/1484343) Fix
creation of duplicated quota usage entries in DB.
Other Notes
***********
* This note applies to deployments that are using the cinder
configuration option "volume_copy_bps_limit" in its non-default
value (the default is 0).
The cinder-volume service currently depends on Linux Kernel Control
Groups (cgroups) version 1 (https://www.kernel.org/doc/html/latest
/admin-guide/cgroup-v1/cgroups.html) to control i/o throttling
during some volume-copy and image-convert operations. At the time
of this release, some Linux distributions may have changed to using
cgroups v2 (https://www.kernel.org/doc/html/latest/admin-
guide/cgroup-v2.html) by default. Thus, you may need to take
explicit steps to ensure that **cgroups v1** is enabled on any
OpenStack nodes running the cinder-volume service. This may entail
setting specific Linux kernel parameters for these nodes. Consult
your Linux distribution's documentation for details.
For more information:
* The cinder options associated with throttling are
"volume_copy_blkio_cgroup_name" and "volume_copy_bps_limit". They
are described in the sample cinder configuration file
(https://docs.openstack.org/cinder/wallaby/configuration/block-
storage/samples/cinder.conf.html) for the Wallaby release.
* For an example of distribution-specific information about
cgroups, see OpenStack and cgroups v1
(https://www.debian.org/releases/bullseye/amd64/release-notes/ch-
information.en.html#openstack-cgroups) in the Debian 11
("bullseye") release notes.
Changes in cinder 17.0.0.0rc1..18.0.0
-------------------------------------
4eb95de87 Add known issue note about encrypted volumes
4ceb0f14a Add releasenote for glance mTLS fix
f87090b86 Add release note about cgroups v1
36cfe7813 Fix: show volume by name for non-admins
b4f1ff89a Quota: Fix multiple race conditions
d12003c81 Prevent quota and reservations to go into negative
d4fcefb94 Update cinder manage quota commands
95fcb50a4 Fix quota usage duplicate entries
1b702ec11 Remove nested quota leftovers
6f2e7a543 Quota: Fix until_refresh config changes
c8cc7979c Remove unused quota python classes
26919f3f8 LVM: Fix delete volume error due to lvs failure
59d08ca2a Add quota utils to cinder-manage
460095744 Change snapshots type with volume retype
a9a9e5400 Cinder - Creating clone of encrypted volume fails
0c9512f94 Use os-brick 4.3.1
ebc12b940 Add prelude for Wallaby release notes
87a933846 Fix automatic quota sync for temporary volumes
80adbda09 Fix PowerStore iSCSI targets filtering
9623f83e0 Update TOX_CONSTRAINTS_FILE for stable/wallaby
5a0d07391 Update .gitreview for stable/wallaby
b14cb5e13 Use os-brick 4.3.0
1fba4a9e9 NetApp ONTAP: Fix FlexGroup replication
3f33542ab Imported Translations from Zanata
b406e6d35 Support mTLS when calling the glance API
bb444d4a4 Follow up NetApp ONTAP FlexGroup feature
d6895f9d2 Backup manager: Synchronously call remove_export
77127e7d4 Bug fix for revert to snapshot feature
d501d1a88 JovianDSS: add certs and snapshot restore
5be622681 Update code layout and missing Zadara features
14032d0a1 doc: Remove cryptsetup reference for compute setup
bb8771436 Add explanations on safe delete
bea458663 Fix volume OVO create method
9607e2e6e Remove unnecessary save call
779b0249f Fix old attach method
e55043ff0 Fix automatic quota sync for migrating volumes
6f1531ab1 [SVF]: Volume name is not validated for host
7576313b9 Changed whitelist to allowlist in tox
fd77dfa22 [SVF]:Storwize hyperswap volume is not deleting.
09124fa68 Resolve SADeprecationWarning for joinedload_all
5ad7fe926 Always constraint dependencies in tox
0d06d497c Add support for consistency groups in the Nimble Storage driver
81e5a9290 NFS: Fix for groups and cloning
f89d1b7b8 Dropping explicit unicode literal
6ff5591fc Add virtualenv requirement to tox.ini
0cb7322ac NetApp ONTAP: Implement FlexGroup pool
0e8807388 Add support for RBD fast-diff feature for backups stored in Ceph
8da91b74d API validation: Use cinder_host for services checks
ace174821 Support format info in fs type drivers
ec1bb005b PowerMax Driver - Release notes for 761643 and 767172
ae00a173b Add Consistency Groups support in PowerStore driver
f328341ed Add OpenStack volume replication v2.1 support in PowerStore driver
8687925ce API validation: Add cinder_host type to support ipv6 in manage
886c5b4c8 [SVF] Set volume IOPS based on volume size
79b2a4f46 Add QoS Suport for Pure Storage
24c9065df Imported Translations from Zanata
7d9dc8dec NetApp ONTAP: Add support for dynamic Adaptive QoS policy group creation
fb358e45f NetApp ONTAP: Add support for QoS minimums specs
4489ca332 PowerMax Driver - Initiator group contents check
b2f696361 PowerMax Driver - Allowing for all types of boolean in extra specs
cb02f9dfe PowerMax Driver - Offline r1 promotion fixes
8bb3f55db api-ref: Don't list HTTP 500 for backup create
2f5885e4b [SVF]: Fixed host and group failback issues
bb219d6b9 Pure Storage: check volumename length does not exceed maximum
17a25eafc [DS8K]: Support revert to snapshot
234f3358c [Pure] Add missing FC host personality support
9f0be9994 Tests: Don't assert notifier not called
cead51cea [Storwize] Provide IOPS based storage offering
6fc8086df doc: add specs repo maintenance tasks
881f72569 PowerMax Driver - Extend replicated volume
5e5ae0764 Hitachi: Trace REST API input/output logs
281dd75d3 PowerMax Driver - Fix pylint errors in test_common and provision
d57a40680 PowerMax Driver - U4P Failover SerialNumber KeyError fix
3343ca773 Hitachi: Use get_volume_stats in the base driver
2c99acd1f Fix in api-ref
41101463a [Pure] Fix failing consistency group tempest tests
ee84dd780 Resolve SAWarning SQLAlchemy warning
868646d28 Fix CI_WIKI_NAME entries
dc938a405 Use TOX_CONSTRAINTS_FILE
d99322ede Drop policy check failures to DEBUG
40d93a611 Fusionstorage Cinder Driver Support OceanStor 100D Storage.(dsware)
ca11345dc image_utils: Use QEMU_IMG_FORCE_SHARE_VERSION constant
01c9aba1f [SVF] Update volume replication properties
9b418e76a smbfs: set VHD UUID using volume UUID
11185189b TOYOU: Abandon the target parameter and Report SAN driver options
f8e569864 Simplify composite check strings for project personas
0c87d14f5 Make sure we pass context objects directly to policy enforcement
118da903b Properly handle InvalidScope exceptions
9fc6fab79 Update secure RBAC check strings with descriptions
3836a4927 Tests: Improve RBD v2 clone API unit tests
e175d64ca Add ports filtering support to Dell EMC XtremIO driver
2ae735bff Update to hacking 4.0.0
f26c6cac5 HPE: Add Peer Persistence support for Primera backend
4f5e9fd28 Use os-brick 4.2.0
e28e1a2f4 Move trace methods from utils to volume_utils
692b59185 Imported Translations from Zanata
2563dd3a1 Bump pylint to 2.6.0
02521d19f LVM: fix _create_vg
e7b467051 Move brick calls from cinder.utils to volume_utils
bc0fdbc7e vmware: Use cookiejar from oslo.vmware client directly
698ab86a7 mypy: annotate volume manager
5b3304cfc Add KIOXIA KumoScale NVMeOF driver
28fd75e9a Fix irrelevant-files for two devstack jobs
ff677d5ad doc: add rbd-iscsi-client info
bdbf5db85 Fix RBD_OPERATION_FEATURE_CLONE_PARENT in unittest
a99648424 Require oslo.serialization 4.1.0
85986751a Update ceph driver docs, mentioning Hyper-V support
f04140610 PowerMax Driver - Check for missing port group
f91aec586 Add encryption_key_id to volume and backup details
11704d0e8 RBD: Pass bytes type for mon_command inbuf
7dc8e486f Change the CLI document for the extend-attached-volume
203eb2cf8 Correct format string in error message
6cabe11c9 3PAR: Allow iSCSI driver to be enabled for Primera 4.2 onwards.
677ee75d5 Imported Translations from Zanata
efd836757 Log information about the Ceph v2 clone API
337248138 created s3 cinder backup driver
01f010011 Tests: Add another mock psutil in quobyte tests
56eaf475a Add ceph iscsi volume driver
fe0822b1b Add Cinder driver for TOYOU ACS5000
aa77afe31 Remove NestedQuotaDriver
3ce9d773a Label temporary files created by image_utils
1156c89c2 Update SolidFire Storage assisted migration in support-matrix
69f4f5ffe Pure: Add default value to pure_host_personality
e9d1bf8f6 Add driver for Dell EMC PowerVault ME Series
f3d116885 Imported Translations from Zanata
e9c848f5f Introduces MV to add volume type ID in volumes details
f19a92064 LVM: Support only LVM 2.02.107+
83e511e01 LVM: Use --readonly for lvs
5e2d30bd4 NetApp SolidFire: Refactor DuplicateSfVolumeNames exception
d3f4c5559 Tests: Fix rbd unit test failure due to ceph keyring file
723f1a242 Remove __unicode__() from CinderException
300353de8 doc: update release cycle tasks
d9c90cf48 tox mypy: Call mypywrap.sh directly
ce060323f pylint: run coding-checks.sh with bash
acfb3361c Hitachi: Wait until the volume can be deleted
7d705fcea Basic volume QoS doc.
f0652209f PowerMax Driver - Promotion RDF Group number fix
96f09aae5 Add docs and update support matrix for Hitachi driver
482e6a3cc Imported Translations from Zanata
f04d905a6 [RBD] Fix snapshot backup name
1631742f4 Correct group:reset_group_snapshot_status policy
d5750ea09 Imported Translations from Zanata
325001045 [goal] Deprecate the JSON formatted policy file
4ba6664de RBD: Change rbd_exclusive_cinder_pool's default
f845f9021 Imported Translations from Zanata
6231d2666 RBD: Retry delete if VolumeIsBusy in _copy_image_to_volume
d3ffa90ba Update requirements and lower-constraints
7d50d58b6 Add CHAP support to Dell EMC PowerStore driver
514ae3040 add openstack-python3-wallaby-jobs-arm64 job
114556934 [SVF]:Fix in change_vdisk_iogrp during retype
0a11cac11 Exception type is not iterable so should change it to string type
d729522ac [IBM DS8000]: Fix compatability issue in get_host
c0983a8e8 Imported Translations from Zanata
00ad39a60 PowerMax Driver - Fix assign SRP during promotion retype
6f5a3e1c2 Imported Translations from Zanata
0f04930fb Pure Storage FlashArray: Add active/active support
d56b47d33 [SVF]: Fixed host and group failover issues
3570a79a1 [SVF]:Fix clone fcmap not being deleted in cleanup
25cded9d1 Fix volume rekey during clone
e6ec3e9bf Pure Storage - bump version numbers for Wallaby
ceb502254 Tests: Move glance_stubs to glance dir
562cabc3f Clarify 'supported' reinstatement policy
a791d3032 [IBM DS8000] Support volume name template
3e607f1d8 Update doc contributor doc
ebcd36eda [Trivial]Add missing white space in the log message
c400c6d95 Imported Translations from Zanata
471a2790d Add Python3 wallaby unit tests
bb25e9550 Replace md5 with oslo version
2f5179147 doc: restrict supported Ceph versions
563c7e05f Tests: Improve get_qemu_img_version coverage
b62f250bc PowerMax Driver - Port status check
42c92cc40 NetApp SolidFire: Fix duplicate volume when API response is lost
8d0c08b4b NetApp SolidFire: Fix error on cluster workload rebalancing
0e2c5b7eb Add common RBAC personas to cinder/policies/base.py
fdc3711c9 Fix cinder-manage <category> traceback
03a8ca07d Imported Translations from Zanata
cddcc6e50 Delete TSM Backup driver
efce9c74d Update Development Environment documentation for Ubuntu
a5883f493 Doc:Storwize to Spectrum Virtualize Family
bf5e79c3c PowerMax Docs - Victoria new features and supported software
1c5fa1921 Imported Translations from Zanata
22e008bf9 [Trivial]Fix unncessary "import xx as xx" renaming
d47aa082b Fix invalid asert_called_with statement
4394a027b [doc]Fix an invalid url link in docs
8d8d242c3 Do not fail when depth is greater than rbd_max_clone_depth
8ea6f8031 Imported Translations from Zanata
9fc2b031c Bump minimum version of oslo.log
06523d30a [SVF] RevertToSnapshot support for GM volumes
e68d33ef6 Make docs build parallel
8f28d9565 [Trivial] Fix missing print format and missing white spaces
c607a82a9 NetApp SolidFire: Fix clone and request timeout issues
d6df2c20c Remove collections.abc backwards compatibility
0359acf05 Imported Translations from Zanata
50a4592ef Fix cinder-manage cluster remove raising NoSuchOptError
6e53c264b Add mypy tox env
5f8acb5f9 Refactor some unit tests
72c6dc564 Remove six of files under cinder/test/unit
e02d90943 Remove six of dir cinder/volume/*
bafe440b9 RBD: Run flatten in a different thread when cloning a volume
dbcba9485 Import HTTPStatus instead of http_client (policy tests)
dea710d1e Preparing for removal of six.reraise()
a78a85181 Remove six of dir cinder/image/*
56ee0971b Nimble: Add support for revert to snapshot
e1e289ca8 Add Cinder driver for Open-E JovianDSS data storage
113026765 Remove six of dir cinder/tests/unit/api/*
d2346f8c6 Remove six of dir cinder/tests/unit/backup/*
6b067f2b4 Import HTTPStatus instead of http_client
04a2683b2 Remove six in files under cinder/*
02615bfe3 Remove six of dir cinder/tests/unit/volume&zonemanager/*
84975cce3 Remove six of dir cinder/tests/unit/policies&scheduler&targets/*
919cbbd4d Remove six of dir cinder/tests/functional&hacking/*
58108e1b6 Remove six of dir cinder/backup/*
b49bef7dd Remove six of dir cinder/scheduler/*
b477632a6 [IBM DS8K]: Fixed rest API issue to get bundle
18d869276 Remove six of dir cinder/brick,cinder/common,cinder/interface,cinder/objects
7be58ba69 Remove six of dir cinder/db/*
a85ce6c81 Remove six of dir cinder/api/*
6736945fe Reno: Use customized template
dc8d70908 Backup: Fix formatting errors
d739b8671 Critical fix for MSA 2060 and MSA 1060
d680a237e Fix service_get_log tests
acfc148d7 Imported Translations from Zanata
3adeb5c42 doc: update Brocade FCZM documentation
d7ff87ae5 Update new contributor doc
528af66ff [SVF]:changes in create_group_from_src for replicated groups
30571246b [Trivial]Add missing print format in log message
7d8989070 [SVF]:Reduce slowness by caching pool information
c8ce118f0 Imported Translations from Zanata
b746468b3 doc: update new driver merge deadline
91da9df53 Update master for stable/victoria
5032a6db0 [SVF]:Fixed create_flashcopy_to_consistgrp
4bb162e5e PowerMax Driver - Feedback on review 746486
568b279a8 Add support for system and domain scoped tokens
8d7a98b3e [SVF]: Support for retype operation on GM volumes
a7f9eda38 PowerMax Driver - Fix non-temporary snapshot delete
57892623d Disallow extension of attached volumes for NFS & Quobyte drivers
e1f517927 Remove install unnecessary packages
3d56b6dfd Don't create LOG if not logging
c7148b804 [api-ref]Add replication_status(optional) to List groups with details response
99d51ff67 Fix a typo in the explanatory note
a42a8e63d Stop configuring install_command in tox.
d72f738c0 Correcting the response status range in WsgiLimiterProxy
61d612e64 PowerMax Docs - Incorrect property set on volume group
a21bf4141 Fixed an issue with creating a backup from snapshot with NFS volume driver.
9893b1c95 Race in Cinder backup manager
941bf1f1a Switch from unittest2 compat methods to py3 methods
de8d05dff Remove unneeded arg from _clean_db (vol manager)
90be2b425 Add links to package metadata
e4582400b Remove lxml deprecated methods
d52ce1d53 tox: remove bash from whitelist_externals
0e92a480b Synology: Improve session expired error handling
951ffa437 3PAR: Workaround SSH logging issue
c6fc88a54 Doc: Add notes on create_cloned_volume locking
713b3572f Doc: Add max MV update step to cycle tasks
Diffstat (except docs and test files)
-------------------------------------
.gitignore | 1 +
.gitreview | 1 +
.zuul.yaml | 6 +-
api-ref/source/v3/ext-backups.inc | 3 +-
api-ref/source/v3/groups.inc | 1 +
api-ref/source/v3/parameters.yaml | 64 +-
api-ref/source/v3/quota-sets.inc | 30 -
.../v3/samples/versions/version-show-response.json | 4 +-
.../v3/samples/versions/versions-response.json | 4 +-
.../volumes/volumes-list-detailed-response.json | 8 +-
api-ref/source/v3/volumes-v3-snapshots.inc | 2 +-
api-ref/source/v3/volumes-v3-volumes.inc | 4 +
cinder/api/api_utils.py | 5 +-
cinder/api/common.py | 6 +-
cinder/api/contrib/admin_actions.py | 12 +-
cinder/api/contrib/backups.py | 10 +-
cinder/api/contrib/cgsnapshots.py | 9 +-
cinder/api/contrib/consistencygroups.py | 10 +-
cinder/api/contrib/qos_specs_manage.py | 31 +-
cinder/api/contrib/quotas.py | 256 +--
cinder/api/contrib/services.py | 7 +-
cinder/api/contrib/snapshot_actions.py | 4 +-
cinder/api/contrib/snapshot_manage.py | 4 +-
cinder/api/contrib/snapshot_unmanage.py | 6 +-
cinder/api/contrib/types_extra_specs.py | 5 +-
cinder/api/contrib/types_manage.py | 11 +-
cinder/api/contrib/volume_actions.py | 32 +-
cinder/api/contrib/volume_image_metadata.py | 5 +-
cinder/api/contrib/volume_manage.py | 4 +-
cinder/api/contrib/volume_transfer.py | 8 +-
cinder/api/contrib/volume_type_access.py | 9 +-
cinder/api/contrib/volume_type_encryption.py | 4 +-
cinder/api/contrib/volume_unmanage.py | 6 +-
cinder/api/microversions.py | 4 +
cinder/api/middleware/auth.py | 5 +-
cinder/api/middleware/fault.py | 9 +-
cinder/api/openstack/api_version_request.py | 10 +-
cinder/api/openstack/rest_api_version_history.rst | 13 +-
cinder/api/openstack/wsgi.py | 52 +-
cinder/api/schemas/services.py | 6 +-
cinder/api/schemas/volume_manage.py | 2 +-
cinder/api/v2/limits.py | 4 +-
cinder/api/v2/snapshot_metadata.py | 4 +-
cinder/api/v2/snapshots.py | 6 +-
cinder/api/v2/views/volumes.py | 10 +-
cinder/api/v2/volume_metadata.py | 4 +-
cinder/api/v2/volumes.py | 6 +-
cinder/api/v3/attachments.py | 12 +-
cinder/api/v3/consistencygroups.py | 4 +-
cinder/api/v3/default_types.py | 12 +-
cinder/api/v3/group_snapshots.py | 11 +-
cinder/api/v3/group_specs.py | 6 +-
cinder/api/v3/group_types.py | 15 +-
cinder/api/v3/groups.py | 18 +-
cinder/api/v3/messages.py | 4 +-
cinder/api/v3/snapshot_manage.py | 4 +-
cinder/api/v3/views/backups.py | 8 +
cinder/api/v3/views/volumes.py | 26 +
cinder/api/v3/volume_manage.py | 4 +-
cinder/api/v3/volume_metadata.py | 19 +-
cinder/api/v3/volume_transfer.py | 4 +-
cinder/api/v3/volumes.py | 11 +-
cinder/api/v3/workers.py | 4 +-
cinder/api/validation/parameter_types.py | 16 +-
cinder/api/validation/validators.py | 5 +-
cinder/api/versions.py | 4 +-
cinder/api/views/versions.py | 2 +-
cinder/backup/chunkeddriver.py | 22 +-
cinder/backup/driver.py | 4 +-
cinder/backup/drivers/ceph.py | 53 +-
cinder/backup/drivers/gcs.py | 17 +-
cinder/backup/drivers/s3.py | 376 ++++
cinder/backup/drivers/swift.py | 10 +-
cinder/backup/drivers/tsm.py | 515 -----
cinder/backup/manager.py | 30 +-
cinder/brick/local_dev/lvm.py | 21 +-
cinder/cmd/backup.py | 7 +-
cinder/cmd/manage.py | 222 ++-
cinder/cmd/status.py | 17 +-
cinder/common/config.py | 6 +
cinder/common/constants.py | 3 +
cinder/common/sqlalchemyutils.py | 1 -
cinder/context.py | 5 +-
cinder/db/api.py | 26 +-
cinder/db/base.py | 3 +-
cinder/db/sqlalchemy/api.py | 766 ++++----
.../versions/132_create_default_volume_type.py | 3 +-
.../141_add_quota_usage_unique_constraint.py | 37 +
cinder/db/sqlalchemy/models.py | 19 +
cinder/exception.py | 17 +-
cinder/image/accelerator.py | 7 +-
cinder/image/cache.py | 9 +-
cinder/image/glance.py | 19 +-
cinder/image/image_utils.py | 20 +-
cinder/interface/base.py | 5 +-
cinder/interface/volume_driver.py | 4 +
cinder/locale/de/LC_MESSAGES/cinder.po | 214 +-
cinder/locale/es/LC_MESSAGES/cinder.po | 216 +-
cinder/locale/fr/LC_MESSAGES/cinder.po | 213 +-
cinder/locale/it/LC_MESSAGES/cinder.po | 224 +--
cinder/locale/ja/LC_MESSAGES/cinder.po | 230 +--
cinder/locale/ko_KR/LC_MESSAGES/cinder.po | 209 +-
cinder/locale/pt_BR/LC_MESSAGES/cinder.po | 206 +-
cinder/locale/ru/LC_MESSAGES/cinder.po | 204 +-
cinder/locale/zh_CN/LC_MESSAGES/cinder.po | 199 +-
cinder/locale/zh_TW/LC_MESSAGES/cinder.po | 180 +-
cinder/manager.py | 23 +-
cinder/objects/base.py | 10 +-
cinder/objects/cleanable.py | 6 +-
cinder/objects/volume.py | 10 +-
cinder/objects/volume_type.py | 3 +-
cinder/opts.py | 28 +-
cinder/policies/base.py | 53 +
cinder/policies/group_snapshot_actions.py | 2 +-
cinder/policies/quotas.py | 12 -
cinder/policy.py | 20 +-
cinder/quota.py | 288 +--
cinder/quota_utils.py | 147 +-
cinder/rpc.py | 5 +-
cinder/scheduler/base_weight.py | 4 +-
cinder/scheduler/evaluator/evaluator.py | 3 +-
cinder/scheduler/filter_scheduler.py | 2 +-
cinder/scheduler/filters/driver_filter.py | 3 +-
cinder/scheduler/filters/json_filter.py | 3 +-
cinder/scheduler/manager.py | 8 +-
cinder/scheduler/weights/goodness.py | 3 +-
cinder/ssh_utils.py | 3 +-
.../volumes-list-detailed-response.json.tpl | 8 +-
.../unit/api/contrib/test_consistencygroups.py | 142 +-
.../contrib/test_extended_snapshot_attributes.py | 6 +-
.../unit/api/contrib/test_qos_specs_manage.py | 8 +-
.../unit/api/contrib/test_snapshot_actions.py | 10 +-
.../unit/api/contrib/test_snapshot_unmanage.py | 6 +-
.../api/contrib/test_volume_encryption_metadata.py | 33 +-
.../unit/api/contrib/test_volume_image_metadata.py | 18 +-
.../unit/api/contrib/test_volume_type_access.py | 6 +-
.../api/contrib/test_volume_type_encryption.py | 59 +-
.../unit/api/openstack/test_api_version_request.py | 3 +-
.../unit/api/openstack/test_versioned_method.py | 4 +-
.../{glance/stubs.py => image/glance_stubs.py} | 0
.../unit/policies/test_default_volume_types.py | 25 +-
.../{glance => volume/drivers/ceph}/__init__.py | 0
.../volume/drivers/ceph/fake_rbd_iscsi_client.py | 25 +
.../ceph/fake_rbd_iscsi_client_exceptions.py | 116 ++
.../unit/volume/drivers/ceph/test_rbd_iscsi.py | 246 +++
.../test_initialize_connection_snapshot.py | 4 +-
.../powerflex/test_revert_volume_to_snapshot.py | 4 +-
.../drivers/dell_emc/powermax/powermax_data.py | 35 +-
.../dell_emc/powermax/test_powermax_common.py | 162 +-
.../dell_emc/powermax/test_powermax_masking.py | 180 +-
.../dell_emc/powermax/test_powermax_replication.py | 35 +-
.../dell_emc/powermax/test_powermax_rest.py | 6 +-
.../dell_emc/powermax/test_powermax_utils.py | 50 +-
.../volume/drivers/dell_emc/powerstore/__init__.py | 4 +-
.../drivers/dell_emc/powerstore/test_base.py | 95 +-
.../dell_emc/powerstore/test_replication.py | 121 ++
.../test_snapshot_create_delete_revert.py | 16 +-
.../powerstore/test_volume_attach_detach.py | 103 +-
.../powerstore/test_volume_create_delete_extend.py | 9 +-
.../powerstore/test_volume_create_from_source.py | 26 +-
.../test_volume_group_create_delete_update.py | 144 ++
.../test_volume_group_create_from_source.py | 112 ++
.../test_volume_group_snapshot_create_delete.py | 101 +
.../unit/volume/drivers/dell_emc/test_xtremio.py | 50 +-
.../volume/drivers/dell_emc/unity/test_adapter.py | 6 +-
.../volume/drivers/dell_emc/vnx/test_client.py | 2 +-
.../drivers/hitachi/test_hitachi_hbsd_rest_fc.py | 42 +
.../unit/volume/drivers/ibm/test_ds8k_proxy.py | 157 +-
.../volume/drivers/ibm/test_ibm_flashsystem.py | 2 +-
.../unit/volume/drivers/ibm/test_storwize_svc.py | 1407 ++++++++++---
.../drivers/inspur/instorage/test_fc_driver.py | 2 +-
.../inspur/instorage/test_helper_routines.py | 10 +-
.../drivers/netapp/dataontap/client/fakes.py | 261 ++-
.../drivers/netapp/dataontap/client/test_api.py | 4 +-
.../netapp/dataontap/client/test_client_base.py | 12 +
.../netapp/dataontap/client/test_client_cmode.py | 685 ++++++-
.../unit/volume/drivers/netapp/dataontap/fakes.py | 129 ++
.../dataontap/performance/test_perf_cmode.py | 9 +-
.../drivers/netapp/dataontap/test_block_base.py | 19 +-
.../drivers/netapp/dataontap/test_block_cmode.py | 50 +-
.../dataontap/test_block_driver_interfaces.py | 7 +-
.../drivers/netapp/dataontap/test_nfs_base.py | 285 ++-
.../drivers/netapp/dataontap/test_nfs_cmode.py | 281 ++-
.../volume/drivers/netapp/dataontap/utils/fakes.py | 27 +-
.../netapp/dataontap/utils/test_capabilities.py | 118 +-
.../netapp/dataontap/utils/test_data_motion.py | 249 ++-
.../drivers/nexenta/test_nexenta5_jsonrpc.py | 4 +-
.../volume/drivers/nexenta/test_nexenta5_nfs.py | 4 +-
.../unit/volume/drivers/open_e/test_rest_proxy.py | 325 +++
.../volume/drivers/solidfire/test_solidfire.py | 24 +-
.../drivers/synology/test_synology_common.py | 7 +-
.../unit/volume/drivers/test_macrosan_drivers.py | 17 +-
.../unit/volume/drivers/toyou/test_acs5000.py | 1362 +++++++++++++
.../drivers/veritas_access/test_veritas_iscsi.py | 8 +-
.../volume/drivers/vmware/test_vmware_datastore.py | 2 +-
.../unit/volume/drivers/vmware/test_vmware_vmdk.py | 2 +-
.../unit/volume/flows/test_create_volume_flow.py | 59 +-
.../zonemanager/test_brcd_http_fc_zone_client.py | 3 +-
.../zonemanager/test_cisco_fc_zone_client_cli.py | 1 -
.../unit/zonemanager/test_cisco_fc_zone_driver.py | 4 +-
cinder/utils.py | 271 +--
cinder/volume/api.py | 39 +-
cinder/volume/driver.py | 57 +-
cinder/volume/drivers/ceph/__init__.py | 0
cinder/volume/drivers/ceph/rbd_iscsi.py | 492 +++++
cinder/volume/drivers/datera/datera_api21.py | 3 +-
cinder/volume/drivers/datera/datera_api22.py | 3 +-
cinder/volume/drivers/datera/datera_common.py | 2 +-
cinder/volume/drivers/datera/datera_iscsi.py | 6 +-
cinder/volume/drivers/dell_emc/powermax/common.py | 85 +-
cinder/volume/drivers/dell_emc/powermax/fc.py | 5 +-
cinder/volume/drivers/dell_emc/powermax/iscsi.py | 5 +-
cinder/volume/drivers/dell_emc/powermax/masking.py | 232 ++-
.../volume/drivers/dell_emc/powermax/provision.py | 2 +-
cinder/volume/drivers/dell_emc/powermax/rest.py | 10 +-
cinder/volume/drivers/dell_emc/powermax/utils.py | 14 +-
.../volume/drivers/dell_emc/powerstore/adapter.py | 803 +++++---
.../volume/drivers/dell_emc/powerstore/client.py | 436 ++++-
.../volume/drivers/dell_emc/powerstore/driver.py | 171 +-
.../volume/drivers/dell_emc/powerstore/options.py | 7 +-
cinder/volume/drivers/dell_emc/powerstore/utils.py | 44 +
.../volume/drivers/dell_emc/powervault/__init__.py | 0
.../volume/drivers/dell_emc/powervault/client.py | 24 +
.../volume/drivers/dell_emc/powervault/common.py | 68 +
cinder/volume/drivers/dell_emc/powervault/fc.py | 48 +
cinder/volume/drivers/dell_emc/powervault/iscsi.py | 51 +
.../drivers/dell_emc/sc/storagecenter_api.py | 10 +-
.../volume/drivers/dell_emc/sc/storagecenter_fc.py | 2 +-
.../drivers/dell_emc/sc/storagecenter_iscsi.py | 2 +-
cinder/volume/drivers/dell_emc/unity/adapter.py | 14 +-
cinder/volume/drivers/dell_emc/unity/driver.py | 2 +-
cinder/volume/drivers/dell_emc/vnx/client.py | 2 +-
cinder/volume/drivers/dell_emc/vnx/driver.py | 2 +-
cinder/volume/drivers/dell_emc/xtremio.py | 72 +-
.../fujitsu/eternus_dx/eternus_dx_common.py | 4 +-
cinder/volume/drivers/hitachi/hbsd_common.py | 16 +-
cinder/volume/drivers/hitachi/hbsd_fc.py | 48 +-
cinder/volume/drivers/hitachi/hbsd_iscsi.py | 48 +-
cinder/volume/drivers/hitachi/hbsd_rest.py | 3 +
cinder/volume/drivers/hitachi/hbsd_rest_api.py | 2 +
cinder/volume/drivers/hpe/hpe_3par_base.py | 56 +-
cinder/volume/drivers/hpe/hpe_3par_common.py | 4 +
cinder/volume/drivers/hpe/hpe_3par_fc.py | 6 +-
cinder/volume/drivers/hpe/hpe_3par_iscsi.py | 26 +-
cinder/volume/drivers/huawei/huawei_utils.py | 8 +-
cinder/volume/drivers/ibm/flashsystem_common.py | 24 +-
cinder/volume/drivers/ibm/gpfs.py | 4 +-
.../volume/drivers/ibm/ibm_storage/ds8k_helper.py | 53 +-
.../volume/drivers/ibm/ibm_storage/ds8k_proxy.py | 42 +-
.../volume/drivers/ibm/ibm_storage/ibm_storage.py | 4 +
cinder/volume/drivers/ibm/ibm_storage/proxy.py | 5 +
.../volume/drivers/ibm/storwize_svc/replication.py | 120 +-
.../drivers/ibm/storwize_svc/storwize_const.py | 5 +
.../ibm/storwize_svc/storwize_svc_common.py | 833 +++++---
cinder/volume/drivers/infinidat.py | 8 +-
.../drivers/inspur/as13000/as13000_driver.py | 66 +-
.../drivers/inspur/instorage/instorage_common.py | 24 +-
.../drivers/inspur/instorage/instorage_fc.py | 8 +-
.../drivers/inspur/instorage/instorage_iscsi.py | 12 +-
.../volume/drivers/inspur/instorage/replication.py | 5 +-
.../volume/drivers/kaminario/kaminario_common.py | 54 +-
cinder/volume/drivers/kaminario/kaminario_fc.py | 10 +-
cinder/volume/drivers/kaminario/kaminario_iscsi.py | 11 +-
cinder/volume/drivers/kioxia/entities.py | 467 +++++
cinder/volume/drivers/kioxia/kumoscale.py | 490 +++++
cinder/volume/drivers/kioxia/rest_client.py | 1055 ++++++++++
cinder/volume/drivers/macrosan/driver.py | 34 +-
cinder/volume/drivers/nec/volume_helper.py | 3 +-
.../volume/drivers/netapp/dataontap/block_base.py | 20 +-
.../volume/drivers/netapp/dataontap/block_cmode.py | 26 +-
.../volume/drivers/netapp/dataontap/client/api.py | 4 +-
.../drivers/netapp/dataontap/client/client_base.py | 8 +-
.../netapp/dataontap/client/client_cmode.py | 448 ++++-
cinder/volume/drivers/netapp/dataontap/nfs_base.py | 207 +-
.../volume/drivers/netapp/dataontap/nfs_cmode.py | 153 +-
.../netapp/dataontap/performance/perf_cmode.py | 18 +-
.../drivers/netapp/dataontap/utils/capabilities.py | 90 +-
.../drivers/netapp/dataontap/utils/data_motion.py | 177 +-
.../volume/drivers/netapp/dataontap/utils/utils.py | 6 +-
cinder/volume/drivers/netapp/options.py | 14 +-
cinder/volume/drivers/netapp/utils.py | 224 ++-
cinder/volume/drivers/nexenta/nfs.py | 4 +-
cinder/volume/drivers/nexenta/ns5/jsonrpc.py | 4 +-
cinder/volume/drivers/nexenta/ns5/nfs.py | 4 +-
cinder/volume/drivers/nfs.py | 19 +-
cinder/volume/drivers/nimble.py | 283 ++-
cinder/volume/drivers/open_e/__init__.py | 0
cinder/volume/drivers/open_e/iscsi.py | 1028 ++++++++++
.../drivers/open_e/jovian_common/__init__.py | 0
.../drivers/open_e/jovian_common/exception.py | 88 +
.../drivers/open_e/jovian_common/jdss_common.py | 112 ++
cinder/volume/drivers/open_e/jovian_common/rest.py | 893 +++++++++
.../drivers/open_e/jovian_common/rest_proxy.py | 201 ++
cinder/volume/drivers/open_e/options.py | 48 +
cinder/volume/drivers/pure.py | 241 ++-
cinder/volume/drivers/quobyte.py | 6 +
cinder/volume/drivers/rbd.py | 67 +-
cinder/volume/drivers/remotefs.py | 43 +-
cinder/volume/drivers/rsd.py | 23 +-
cinder/volume/drivers/solidfire.py | 145 +-
cinder/volume/drivers/storpool.py | 2 +-
cinder/volume/drivers/stx/client.py | 87 +-
cinder/volume/drivers/stx/common.py | 4 +-
cinder/volume/drivers/synology/synology_common.py | 8 +-
cinder/volume/drivers/toyou/__init__.py | 0
cinder/volume/drivers/toyou/acs5000/__init__.py | 0
.../volume/drivers/toyou/acs5000/acs5000_common.py | 827 ++++++++
.../volume/drivers/toyou/acs5000/acs5000_iscsi.py | 108 +
.../volume/drivers/veritas_access/veritas_iscsi.py | 8 +-
cinder/volume/drivers/vmware/vmdk.py | 2 +-
cinder/volume/drivers/windows/smbfs.py | 21 +-
cinder/volume/drivers/zadara.py | 753 -------
cinder/volume/drivers/zadara/__init__.py | 0
cinder/volume/drivers/zadara/common.py | 517 +++++
cinder/volume/drivers/zadara/exception.py | 53 +
cinder/volume/drivers/zadara/zadara.py | 729 +++++++
cinder/volume/flows/api/create_volume.py | 3 +-
cinder/volume/flows/common.py | 3 +-
cinder/volume/flows/manager/create_volume.py | 8 +-
cinder/volume/group_types.py | 3 +-
cinder/volume/manager.py | 506 +++--
cinder/volume/rpcapi.py | 7 +-
cinder/volume/targets/driver.py | 4 +-
cinder/volume/targets/nvmet.py | 3 +-
cinder/volume/volume_types.py | 8 +-
cinder/volume/volume_utils.py | 259 ++-
.../admin/blockstorage-consistency-groups.rst | 49 +-
.../admin/blockstorage-volume-multiattach.rst | 17 +-
.../configuration/block-storage/backup-drivers.rst | 2 +-
.../block-storage/backup/s3-backup-driver.rst | 20 +
.../block-storage/backup/tsm-backup-driver.rst | 34 -
.../block-storage/block-storage-overview.rst | 15 +-
.../drivers/ceph-rbd-volume-driver.rst | 59 +-
.../drivers/dell-emc-powermax-driver.rst | 463 ++++-
.../drivers/dell-emc-powerstore-driver.rst | 107 +-
.../drivers/dell-emc-powervault-me.rst | 172 ++
.../drivers/dell-emc-xtremio-driver.rst | 11 +
.../block-storage/drivers/hitachi-vsp-driver.rst | 160 ++
.../block-storage/drivers/hp-msa-driver.rst | 6 +-
.../block-storage/drivers/hpe-3par-driver.rst | 10 +-
.../drivers/ibm-storwize-svc-driver.rst | 155 +-
.../drivers/kioxia-kumoscale-driver.rst | 67 +
.../block-storage/drivers/nimble-volume-driver.rst | 4 +-
.../drivers/open-e-joviandss-driver.rst | 198 ++
.../block-storage/drivers/pure-storage-driver.rst | 14 +
.../block-storage/drivers/toyou-acs5000-driver.rst | 72 +
.../block-storage/drivers/zadara-volume-driver.rst | 8 +-
.../configuration/block-storage/fc-zoning.rst | 10 +-
.../configuration/block-storage/nested-quota.rst | 172 --
.../block-storage/policy-config-HOWTO.rst | 7 +
.../block-storage/samples/policy.yaml.rst | 19 +-
.../configuration/block-storage/volume-drivers.rst | 2 +
.../block-storage/volume-encryption.rst | 5 +-
.../configuration/tables/cinder-storwize.inc | 48 +-
.../contributor/drivers_locking_examples.rst | 28 +
driver-requirements.txt | 3 +
etc/cinder/rootwrap.d/volume.filters | 3 -
lower-constraints.txt | 250 ++-
mypy-files.txt | 6 +
releasenotes/notes/1899512-7a872a2c19e53536.yaml | 4 +
releasenotes/notes/1918099-18b26dd9107f19c0.yaml | 6 +
...abled-or-snapshot_enabled-72f669fe2719ce3d.yaml | 6 +
...evert-to-snapshot-support-ea0e06e14a8710ee.yaml | 4 +
...er_Support_OceanStor_100D-d21a300fd27b2440.yaml | 5 +
...ewlayout-support-features-ffa20694c008ba86.yaml | 14 +
...ryption-key-id-to-details-e721977fba0f2b51.yaml | 6 +
...announce-ceph-min-version-4eddb0def1c39928.yaml | 32 +
.../notes/backup_s3_driver-238e3612acd7cc06.yaml | 7 +
...-cert-and-snapshot-revert-b34f352754ad07de.yaml | 7 +
.../bp-kumoscale-driver-3a01460f1aa83939.yaml | 5 +
...-netapp-flexgroup-support-c462fca33f0d8906.yaml | 37 +
...netapp-ontap-adaptive-qos-45891585a91eab75.yaml | 11 +
...-ontap-min-throughput-qos-cd3812df5c7da8fd.yaml | 13 +
.../bp-powerstore-cg-support-ac1842d2041dcbfd.yaml | 4 +
...store-replication-support-700016b83437602e.yaml | 10 +
.../bp-toyou-acs5000-driver-16449ca18280def3.yaml | 5 +
...onsistency_group_failures-bb2a976dfe9454a4.yaml | 6 +
.../notes/bug-1870103-013e314e9a5b8e08.yaml | 7 +
...port_volume_name_template-91e1b70ece172ef8.yaml | 6 +
...ug-1887859-backup-manager-fb8dbf289eedc4b0.yaml | 6 +
.../notes/bug-1887962-643379faf20f01cf.yaml | 7 +
...-backup-from-nfs-snapshot-2e06235eb318b852.yaml | 6 +
...s-not-deleting-in-cleanup-f5bbb467be1b889d.yaml | 8 +
...ashcopy_to_consistgrp_fix-9eeea4aaceb8a191.yaml | 7 +
...ion-is-not-saved-in-stats-22f302d941cd9fe2.yaml | 7 +
...is-not-validated-for-host-4ec0d1bd14281c77.yaml | 7 +
...nage-cluster-remove-raising-nosuchopterror.yaml | 6 +
...T-API-issue-to-get-bundle-198a3b89255759bb.yaml | 6 +
...vdisk_iogrp-during-retype-ef83ccf27d8829f5.yaml | 9 +
...lover-switch-relationship-9d3c58822a8c918c.yaml | 7 +
.../notes/bug-1898918-b24a93d7d5aff238.yaml | 7 +
.../notes/bug-1900979-powerstore-chap-support.yaml | 5 +
...9-xtremio-ports-filtering-e68f90d47f17a7d9.yaml | 5 +
.../notes/bug-1901241-361b1b361bfa5152.yaml | 8 +
...ype-compatability-support-a86f608d8c014a29.yaml | 6 +
.../bug-1904440-clone-rekey-fd57a2b5f6224e0f.yaml | 8 +
...g-1904892-ipv6-nfs-manage-391118115dfaaf54.yaml | 7 +
.../notes/bug-1905564-e7dcf28fd734d3b2.yaml | 7 +
...ume-iops-throttling-issue-b2b89e31af5973b2.yaml | 7 +
...lback-switch-relationship-b5b7320811688cda.yaml | 7 +
.../notes/bug-1907964-9277e5ddec2abeda.yaml | 11 +
.../notes/bug-1908315-020fea3e244d49bb.yaml | 38 +
...te-replication-properties-68c4f9ea56df212d.yaml | 7 +
...ap-volume-is-not-deleting-a94291248f8f59cd.yaml | 6 +
.../notes/bug-1913449-4796b366ae7e871b.yaml | 7 +
...backup-remove-export-race-941e2ab1f056e54c.yaml | 8 +
...e-iscsi-targets-filtering-9623ac03da5c6721.yaml | 8 +
.../notes/bug_1870367-49b74d10a9bfcf07.yaml | 7 +
.../notes/ceph-iscsi-driver-b515bd7fb73ce13b.yaml | 6 +
.../cgroups-v1-status-note-b1eff0e1907aa0f2.yaml | 30 +
...rbd_exclusive_cinder_pool-e59c528c7f728780.yaml | 17 +
.../cinder-clone-encrypted-a28338e2b1838a63.yaml | 6 +
.../cinder-manage-quota-ed4ee17f7097d11f.yaml | 6 +
.../delete-tsm-backup-driver-725e33f7c213fd50.yaml | 4 +
.../dell-emc-pvme-driver-9333594b2cc1e0b5.yaml | 4 +
...son-formatted-policy-file-dc3441a7b1dbfb47.yaml | 12 +
.../fix-manage-no-action-46b023476e8cd938.yaml | 7 +
...ix-show-volume-non-admins-1bc5238398e73981.yaml | 7 +
...-fix-delete-volume-issues-e648525e597505fd.yaml | 6 +
.../hpe-3par-pp-primera-a3442d004545b3a9.yaml | 5 +
...pe-3par-primera-add-iscsi-5af339643dfa0928.yaml | 5 +
...Ps-based-storage-offering-1b7532f42fd6d76e.yaml | 6 +
.../joviandss-iscsi-driver-0becc6ee6a0b3c0a.yaml | 6 +
.../notes/lvm-delete-error-f12da00c1b3859dc.yaml | 6 +
...-minimum-version-2-02-107-df4551d088f8b5a3.yaml | 4 +
releasenotes/notes/msa2060-99150398a9c416f6.yaml | 7 +
...-fix-for-glance-api-calls-469b992adc5f49ff.yaml | 12 +
...v-volume-type-name-and-id-5f4fd8480874fe9b.yaml | 7 +
...onsistency-groups-support-7c932d5557fa725e.yaml | 4 +
...-expand-replicated-volume-124c62ea78b1c347.yaml | 6 +
.../powermax_initiator_check-249279d30e3f8322.yaml | 6 +
...ax_port-check_enhancement-c95dd94328f31524.yaml | 6 +
.../promotion_offline_r1_fix-f7a008d0d13a3eff.yaml | 8 +
.../promotion_rdfg_num_fix-65a5838277ac8edf.yaml | 6 +
...ure-active-active-support-dbd0d3da3ab64e64.yaml | 7 +
.../pure-storage-add-qos-37958a90beff12d6.yaml | 4 +
.../pure_fc_personality-3cada97fc940e498.yaml | 5 +
.../pure_tempest_cg_fix-913d405f7487de00.yaml | 5 +
...-on-retype-with-snapshots-2d9fc7b2c75f899d.yaml | 7 +
.../quota-sync-migrating-2c99e134e117a945.yaml | 7 +
.../quota-sync-temporary-b4103ebc2c484c89.yaml | 8 +
...ota-until_refresh-updated-d35e8530f30c5522.yaml | 6 +
.../quota-usage-duplicates-c00725089da7bbd8.yaml | 5 +
...emove-nested-quota-driver-8b56f03694e3a694.yaml | 6 +
...nd-request-timeout-issues-56f7a7659c7ec775.yaml | 7 +
...icate-volume-request-lost-adefacda1298dc62.yaml | 14 +
...or-on-cluster-rebalancing-515bf41104cd181a.yaml | 8 +
.../store-volume-format-info-1e17e029a9a9e578.yaml | 11 +
...for-global-mirror-volumes-e7091ac130e41cbd.yaml | 5 +
...pshot-globalmirror-volume-e70fdb9115020283.yaml | 4 +
...y-encryption-known-issues-4078b6b066e51553.yaml | 64 +
.../notes/wallaby-prelude-661b619978e1b339.yaml | 5 +
releasenotes/source/index.rst | 1 +
.../locale/en_GB/LC_MESSAGES/releasenotes.po | 2059 +++++++++++++++++++-
releasenotes/source/victoria.rst | 6 +
reno.yaml | 84 +
requirements.txt | 117 +-
setup.cfg | 18 +
test-requirements.txt | 22 +-
tools/coding-checks.sh | 2 +-
tools/mypywrap.sh | 24 +
tox.ini | 34 +-
601 files changed, 35170 insertions(+), 12129 deletions(-)
Requirements updates
--------------------
diff --git a/driver-requirements.txt b/driver-requirements.txt
index 2330f305b..307153250 100644
--- a/driver-requirements.txt
+++ b/driver-requirements.txt
@@ -29,0 +30,3 @@ rbd # LGPLv2.1
+# RBD-iSCSI
+rbd-iscsi-client # Apache-2.0
+
diff --git a/requirements.txt b/requirements.txt
index 98695d376..48af461c4 100644
--- a/requirements.txt
+++ b/requirements.txt
@@ -5,6 +5,6 @@
-pbr!=2.1.0,>=5.4.1 # Apache-2.0
-decorator>=4.1.0 # BSD
-eventlet>=0.26.0 # MIT
-greenlet>=0.4.15 # MIT
-httplib2>=0.9.1 # MIT
-importlib_metadata>=1.7.0;python_version<'3.8' # Apache-2.0
+pbr>=5.5.1 # Apache-2.0
+decorator>=4.4.2 # BSD
+eventlet>=0.30.1 # MIT
+greenlet>=0.4.16 # MIT
+httplib2>=0.18.1 # MIT
+importlib_metadata>=3.1.1;python_version<'3.8' # Apache-2.0
@@ -13,21 +13,21 @@ jsonschema>=3.2.0 # MIT
-keystoneauth1>=3.14.0 # Apache-2.0
-keystonemiddleware>=4.21.0 # Apache-2.0
-lxml>=4.2.0 # BSD
-oauth2client!=4.0.0,>=1.5.0 # Apache-2.0
-oslo.config>=6.11.0 # Apache-2.0
-oslo.concurrency>=3.26.0 # Apache-2.0
-oslo.context>=2.23.0 # Apache-2.0
-oslo.db>=6.0.0 # Apache-2.0
-oslo.log>=3.44.0 # Apache-2.0
-oslo.messaging>=6.4.0 # Apache-2.0
-oslo.middleware>=3.31.0 # Apache-2.0
-oslo.policy>=1.44.1 # Apache-2.0
-oslo.privsep>=2.3.0 # Apache-2.0
-oslo.reports>=1.18.0 # Apache-2.0
-oslo.rootwrap>=5.8.0 # Apache-2.0
-oslo.serialization>=2.25.0 # Apache-2.0
-oslo.service>=2.0.0 # Apache-2.0
-oslo.upgradecheck>=0.1.0 # Apache-2.0
-oslo.utils>=3.40.2 # Apache-2.0
-oslo.versionedobjects>=1.31.2 # Apache-2.0
-osprofiler>=1.4.0 # Apache-2.0
+keystoneauth1>=4.2.1 # Apache-2.0
+keystonemiddleware>=9.1.0 # Apache-2.0
+lxml>=4.5.2 # BSD
+oauth2client>=4.1.3 # Apache-2.0
+oslo.config>=8.3.2 # Apache-2.0
+oslo.concurrency>=4.4.0 # Apache-2.0
+oslo.context>=3.1.1 # Apache-2.0
+oslo.db>=8.4.0 # Apache-2.0
+oslo.log>=4.4.0 # Apache-2.0
+oslo.messaging>=12.5.0 # Apache-2.0
+oslo.middleware>=4.1.1 # Apache-2.0
+oslo.policy>=3.6.2 # Apache-2.0
+oslo.privsep>=2.4.0 # Apache-2.0
+oslo.reports>=2.2.0 # Apache-2.0
+oslo.rootwrap>=6.2.0 # Apache-2.0
+oslo.serialization>=4.1.0 # Apache-2.0
+oslo.service>=2.5.0 # Apache-2.0
+oslo.upgradecheck>=1.1.1 # Apache-2.0
+oslo.utils>=4.8.0 # Apache-2.0
+oslo.versionedobjects>=2.3.0 # Apache-2.0
+osprofiler>=3.4.0 # Apache-2.0
@@ -35,17 +35,17 @@ packaging>=20.4
-paramiko>=2.7.1 # LGPLv2.1+
-Paste>=2.0.2 # MIT
-PasteDeploy>=1.5.0 # MIT
-psutil>=3.2.2 # BSD
-pyparsing>=2.2.1 # MIT
-python-barbicanclient>=4.9.0 # Apache-2.0
-python-glanceclient>=2.15.0 # Apache-2.0
-python-keystoneclient>=3.15.0 # Apache-2.0
-python-novaclient>=9.1.0 # Apache-2.0
-python-swiftclient>=3.2.0 # Apache-2.0
-pytz>=2015.7 # MIT
-requests>=2.18.0,!=2.20.0 # Apache-2.0
-Routes>=2.3.1 # MIT
-taskflow>=3.8.0 # Apache-2.0
-rtslib-fb>=2.1.65 # Apache-2.0
-six>=1.11.0 # MIT
-SQLAlchemy>=1.3.0 # MIT
+paramiko>=2.7.2 # LGPLv2.1+
+Paste>=3.4.3 # MIT
+PasteDeploy>=2.1.0 # MIT
+psutil>=5.7.2 # BSD
+pyparsing>=2.4.7 # MIT
+python-barbicanclient>=5.0.1 # Apache-2.0
+python-glanceclient>=3.2.2 # Apache-2.0
+python-keystoneclient>=4.1.1 # Apache-2.0
+python-novaclient>=17.2.1 # Apache-2.0
+python-swiftclient>=3.10.1 # Apache-2.0
+pytz>=2020.1 # MIT
+requests>=2.25.1 # Apache-2.0
+Routes>=2.4.1 # MIT
+taskflow>=4.5.0 # Apache-2.0
+rtslib-fb>=2.1.74 # Apache-2.0
+six>=1.15.0 # MIT
+SQLAlchemy>=1.3.19 # MIT
@@ -53,14 +53,15 @@ sqlalchemy-migrate>=0.13.0 # Apache-2.0
-stevedore>=1.31.0 # Apache-2.0
-tabulate>=0.8.5 # MIT
-tenacity>=6.1.0 # Apache-2.0
-WebOb>=1.7.1 # MIT
-oslo.i18n>=3.24.0 # Apache-2.0
-oslo.vmware>=2.35.0 # Apache-2.0
-os-brick>=4.0.1 # Apache-2.0
-os-win>=4.2.0 # Apache-2.0
-tooz>=1.58.0 # Apache-2.0
-google-api-python-client>=1.4.2 # Apache-2.0
-castellan>=1.3.0 # Apache-2.0
-cryptography>=2.1.4 # BSD/Apache-2.0
-cursive>=0.2.1 # Apache-2.0
-zstd>=1.4.5.0 # BSD
+stevedore>=3.2.2 # Apache-2.0
+tabulate>=0.8.7 # MIT
+tenacity>=6.3.1 # Apache-2.0
+WebOb>=1.8.6 # MIT
+oslo.i18n>=5.0.1 # Apache-2.0
+oslo.vmware>=3.8.0 # Apache-2.0
+os-brick>=4.3.1 # Apache-2.0
+os-win>=5.4.0 # Apache-2.0
+tooz>=2.7.1 # Apache-2.0
+google-api-python-client>=1.11.0 # Apache-2.0
+castellan>=3.6.0 # Apache-2.0
+cryptography>=3.1 # BSD/Apache-2.0
+cursive>=0.2.2 # Apache-2.0
+zstd>=1.4.5.1 # BSD
+boto3>=1.16.51 # Apache-2.0
diff --git a/test-requirements.txt b/test-requirements.txt
index 251ba522c..591debf04 100644
--- a/test-requirements.txt
+++ b/test-requirements.txt
@@ -6 +6 @@
-hacking>=3.1.0,<3.2.0 # Apache-2.0
+hacking>=4.0.0,<4.1.0 # Apache-2.0
@@ -10,3 +10,3 @@ flake8-logging-format>=0.6.0 # Apache-2.0
-stestr>=2.2.0 # Apache-2.0
-coverage!=4.4,>=4.1 # Apache-2.0
-ddt>=1.2.1 # MIT
+stestr>=3.1.0 # Apache-2.0
+coverage>=5.5 # Apache-2.0
+ddt>=1.4.1 # MIT
@@ -14,4 +14,4 @@ fixtures>=3.0.0 # Apache-2.0/BSD
-oslotest>=3.2.0 # Apache-2.0
-PyMySQL>=0.8.0 # MIT License
-psycopg2>=2.8 # LGPL/ZPL
-SQLAlchemy-Utils>=0.36.1 # BSD License
+oslotest>=4.4.1 # Apache-2.0
+PyMySQL>=0.10.0 # MIT License
+psycopg2>=2.8.5 # LGPL/ZPL
+SQLAlchemy-Utils>=0.36.8 # BSD License
@@ -23,3 +23,3 @@ bandit==1.6.0 # Apache-2.0
-doc8>=0.6.0 # Apache-2.0
-reno>=3.1.0 # Apache-2.0
-Pygments>=2.2.0 # BSD license
+doc8>=0.8.1 # Apache-2.0
+mypy>=0.782 # MIT
+moto>=1.3.15 # Apache-2.0
1
0
We are stoked to announce the release of:
barbican 12.0.0: OpenStack Secure Key Management
This release is part of the wallaby release series.
The source is available from:
https://opendev.org/openstack/barbican
Download the package from:
https://tarballs.openstack.org/barbican/
Please report issues through:
https://bugs.launchpad.net/barbican/+bugs
For more details, please see below.
Changes in barbican 11.0.0..12.0.0
----------------------------------
c8d3c580 Fix RBAC and ACL access for managing secret containers
ed8de959 Fix transport key policies
b211dec0 Add ACL default to allow project read
9c31e868 Update TOX_CONSTRAINTS_FILE for stable/wallaby
0e11b9c4 Update .gitreview for stable/wallaby
0d98c189 Fix RBAC for transportkeys resource
a0bc52c8 Implement secure RBAC for quota API
060ca2ee Implement secure RBAC for secretstore API
f2456aa2 Optimize conditional statements
3be848d0 Implement secure RBAC for ACLs API
9a16e911 Implement secure RBAC for transport key API
f02d81be Implement secure RBAC for secretmeta API
265908ec Implement secure RBAC for orders API
e2c8e537 Implement secure RBAC for consumers API
0faf2246 Implement secure RBAC for containers API
eade0cfc Implement secure RBAC for secrets API
1ca03610 Allow multiple token labels for PKCS#11 driver
fa7722bf Fix PKCS#11 reinitialization after failure
b5b350b4 Use system locks in pkcs11 library
d6c01bba [goal] Deprecate the JSON formatted policy file
089f748a Switch to collections.abc.MutableMapping
80c2a960 Imported Translations from Zanata
a1a21a7a Imported Translations from Zanata
7562dda2 [doc] Fix hmac/mkek generation commands
cb64ae82 remove unicode from code
0fcfe426 Imported Translations from Zanata
d9ec7dd6 Update doc8 version
75b19cad Update requirements for secure RBAC work
5734539d Imported Translations from Zanata
960c5ef5 [doc] Adjust documentation for Thales Luna
90cae5ae Imported Translations from Zanata
dbda8ecb Fix hacking min version to 3.0.1
66603447 Use barbican.conf in barbican-manage
c6d50003 Imported Translations from Zanata
69459a0e Use serial number or label for PKCS#11 tokens
e3bb9572 Python 3.9: use base64.{decode,encode}bytes
85b52526 corrects typo in cp command
9dbeefb5 Update hacking for Python3
49de1a9d Bump py37 to py38 in tox.ini
4d017c4c [doc] Add documentation for Vault plugin
a3acde74 Delete deprecated url of readme.rst ask.openstack.org is read-only and cannot raise a new question
b0ec7edf Fix admin can not delete other user's secrets
6be43dff Imported Translations from Zanata
f0bb09da Remove six.add_metaclass
0e041689 Add Python3 wallaby unit tests
30b07c2a Update master for stable/victoria
3fc072d9 Add a /healthcheck URL
Diffstat (except docs and test files)
-------------------------------------
.gitreview | 1 +
.zuul.yaml | 2 +-
README.rst | 3 -
api-guide/source/conf.py | 1 -
barbican/api/controllers/__init__.py | 22 ++-
barbican/api/controllers/containers.py | 6 +
barbican/api/controllers/secrets.py | 6 +
barbican/cmd/barbican_manage.py | 198 ++++++++++++---------
barbican/cmd/keystone_listener.py | 1 +
barbican/cmd/pkcs11_kek_rewrap.py | 1 +
barbican/cmd/pkcs11_migrate_kek_signatures.py | 1 +
barbican/cmd/status.py | 10 +-
barbican/cmd/worker.py | 1 +
barbican/common/config.py | 20 +++
barbican/common/policies/acls.py | 47 +++--
barbican/common/policies/consumers.py | 38 +++-
barbican/common/policies/containers.py | 40 +++--
barbican/common/policies/orders.py | 21 +--
barbican/common/policies/quotas.py | 20 ++-
barbican/common/policies/secretmeta.py | 17 +-
barbican/common/policies/secrets.py | 40 +++--
barbican/common/policies/secretstores.py | 22 +--
barbican/common/policies/transportkeys.py | 18 +-
barbican/common/policy.py | 8 +
barbican/common/utils.py | 4 +-
barbican/common/validators.py | 3 +-
barbican/hacking/checks.py | 80 ++-------
barbican/locale/en_GB/LC_MESSAGES/barbican.po | 24 ++-
barbican/locale/zh_CN/LC_MESSAGES/barbican.po | 5 +-
barbican/model/clean.py | 4 +-
barbican/model/repositories.py | 26 +--
barbican/plugin/castellan_secret_store.py | 3 +-
barbican/plugin/crypto/base.py | 5 +-
barbican/plugin/crypto/p11_crypto.py | 85 +++++++--
barbican/plugin/crypto/pkcs11.py | 150 +++++++++++++++-
barbican/plugin/crypto/simple_crypto.py | 3 +-
barbican/plugin/dogtag.py | 1 +
barbican/plugin/interface/certificate_manager.py | 7 +-
barbican/plugin/interface/secret_store.py | 4 +-
barbican/plugin/snakeoil_ca.py | 2 +-
barbican/tasks/resources.py | 5 +-
etc/barbican/barbican-api-paste.ini | 6 +
.../api/v1/functional/test_containers.py | 1 +
.../api/v1/functional/test_secretstores.py | 15 +-
.../add-new-pkcs11-options-fc7bb625998e91fc.yaml | 14 ++
.../add-os-locking-ok-option-d0cfc5883355632a.yaml | 6 +
...tiple-pkcs11-token-labels-61b63e34b7c8cc1a.yaml | 14 ++
...son-formatted-policy-file-b135aa7551e81066.yaml | 20 +++
.../notes/fix-story-2006978-aa5f2r9cqpfa0tm8.yaml | 6 +
...einitialize-pkcs11-object-4c0dc51c83288c21.yaml | 5 +
.../secure-rbac-acl-policy-b534614ee7190108.yaml | 15 ++
...cure-rbac-consumer-policy-5ff67280dc2a2c09.yaml | 9 +
...ure-rbac-container-policy-f7814e65dc2ab130.yaml | 13 ++
.../secure-rbac-order-policy-2068c64cb6830c6c.yaml | 15 ++
...secure-rbac-quotas-policy-f725a2752d1ba3f4.yaml | 11 ++
...re-rbac-secretmeta-policy-587cdad4e2ecee3a.yaml | 17 ++
...ecure-rbac-secrets-policy-61d49439a043f865.yaml | 13 ++
...e-rbac-secretstore-policy-ffa782850082add8.yaml | 9 +
...-rbac-transportkey-policy-3e904787694f8471.yaml | 10 ++
...n-conf-in-barbican-manage-52035c1cdbfc5a26.yaml | 10 ++
releasenotes/source/conf.py | 14 +-
releasenotes/source/index.rst | 1 +
.../locale/en_GB/LC_MESSAGES/releasenotes.po | 84 ++++++++-
releasenotes/source/victoria.rst | 6 +
requirements.txt | 10 +-
setup.cfg | 2 +-
test-requirements.txt | 5 +-
tox.ini | 29 ++-
80 files changed, 1306 insertions(+), 506 deletions(-)
Requirements updates
--------------------
diff --git a/requirements.txt b/requirements.txt
index 031dbcc7..61a1ed72 100644
--- a/requirements.txt
+++ b/requirements.txt
@@ -10 +10 @@ oslo.config>=6.4.0 # Apache-2.0
-oslo.context>=2.19.2 # Apache-2.0
+oslo.context>=2.22.0 # Apache-2.0
@@ -15,2 +15,2 @@ oslo.middleware>=3.31.0 # Apache-2.0
-oslo.log>=3.36.0 # Apache-2.0
-oslo.policy>=1.33.0 # Apache-2.0
+oslo.log>=4.3.0 # Apache-2.0
+oslo.policy>=3.6.0 # Apache-2.0
@@ -19 +19 @@ oslo.service!=1.28.1,>=1.24.0 # Apache-2.0
-oslo.upgradecheck>=0.1.1 # Apache-2.0
+oslo.upgradecheck>=1.3.0 # Apache-2.0
@@ -28 +28 @@ ldap3>=1.0.2 # LGPLv3
-keystonemiddleware>=4.17.0 # Apache-2.0
+keystonemiddleware>=5.1.0 # Apache-2.0
diff --git a/test-requirements.txt b/test-requirements.txt
index 4a70342e..1a40c4f8 100644
--- a/test-requirements.txt
+++ b/test-requirements.txt
@@ -6 +6 @@
-hacking!=0.13.0,<0.14,>=0.12.0 # Apache-2.0
+hacking>=3.0.1,<3.1.0 # Apache-2.0
@@ -10 +9,0 @@ coverage!=4.4,>=4.0 # Apache-2.0
-ddt>=1.0.1 # MIT
@@ -24 +23 @@ bandit!=1.6.0,>=1.1.0 # Apache-2.0
-doc8>=0.6.0 # Apache-2.0
+doc8>=0.8.1 # Apache-2.0
1
0
We are pleased to announce the release of:
heat-dashboard 5.0.0: Heat Management Dashboard
This release is part of the wallaby stable release series.
The source is available from:
https://opendev.org/openstack/heat-dashboard
Download the package from:
https://tarballs.openstack.org/heat-dashboard/
Please report issues through:
https://storyboard.openstack.org/#!/project/openstack/heat-
dashboard
For more details, please see below.
5.0.0
^^^^^
Upgrade Notes
* The default configuration file has been updated and now includes
the required parameters to use the new policy-in-code feature in
Horizon. Because of this change, the defualt policy.json is no
longer included in this repo but replaced with policy.yaml. Please
refer to the release note and documentation of Horizon to find
details about this feature.
Changes in heat-dashboard 4.0.0..5.0.0
--------------------------------------
8e7914f Support policy-in-code and deprecated policy
15b787e Imported Translations from Zanata
934c8e1 Run npm nodejs job with Firefox browser
a36e451 Imported Translations from Zanata
3f779b6 Add Python3 wallaby unit tests
9874d37 Update master for stable/victoria
953369c Move image_field_data method in-tree
Diffstat (except docs and test files)
-------------------------------------
.zuul.yaml | 2 +-
devstack/plugin.sh | 3 +-
heat_dashboard/conf/default_policies/heat.yaml | 1356 ++++++++++++++++++++
heat_dashboard/conf/heat_policy.json | 92 --
heat_dashboard/conf/heat_policy.yaml | 96 ++
heat_dashboard/content/stacks/forms.py | 33 +-
.../_1699_orchestration_settings.py | 6 +-
heat_dashboard/locale/de/LC_MESSAGES/django.po | 16 +-
heat_dashboard/locale/en_GB/LC_MESSAGES/django.po | 14 +-
.../{zh_CN => zh_Hans}/LC_MESSAGES/django.po | 2 +-
.../{zh_CN => zh_Hans}/LC_MESSAGES/djangojs.po | 2 +-
.../{zh_TW => zh_Hant}/LC_MESSAGES/django.po | 2 +-
karma.conf.js | 2 +-
package.json | 3 +-
.../policy-in-code-support-42c02d6b73e770ff.yaml | 8 +
releasenotes/source/index.rst | 1 +
.../locale/en_GB/LC_MESSAGES/releasenotes.po | 7 +-
releasenotes/source/victoria.rst | 6 +
18 files changed, 1542 insertions(+), 109 deletions(-)
1
0
We are happy to announce the release of:
freezer-web-ui 10.0.0: Freezer - Backup as a Service User Interface
This release is part of the wallaby release series.
The source is available from:
https://opendev.org/openstack/freezer-web-ui
Download the package from:
https://pypi.org/project/freezer-web-ui
Please report issues through:
https://storyboard.openstack.org/#!/project/openstack/freezer-web-
ui
For more details, please see below.
Changes in freezer-web-ui 9.0.0..10.0.0
---------------------------------------
c1c0d57 Imported Translations from Zanata
b4f7b7a Use TOX_CONSTRAINTS_FILE
312064b Bump pylint version to fix pep8 job
a18091a :Update gate job for wallaby
Diffstat (except docs and test files)
-------------------------------------
.zuul.yaml | 5 ++++-
disaster_recovery/locale/{zh_CN => zh_Hans}/LC_MESSAGES/django.po | 2 +-
lower-constraints.txt | 2 +-
test-requirements.txt | 3 +--
tox.ini | 2 +-
5 files changed, 8 insertions(+), 6 deletions(-)
Requirements updates
--------------------
diff --git a/test-requirements.txt b/test-requirements.txt
index 6d39eaf..bd38b42 100644
--- a/test-requirements.txt
+++ b/test-requirements.txt
@@ -12,2 +12 @@ sphinx>=2.0.0,!=2.1.0 # BSD
-astroid==2.1.0 # LGPLv2.1
-pylint==2.3.1 # GPLv2
+pylint>=2.6.0 # GPLv2
1
0
We are thrilled to announce the release of:
freezer-api 10.0.0: OpenStack Backup and Restore API Service
This release is part of the wallaby release series.
The source is available from:
https://opendev.org/openstack/freezer-api
Download the package from:
https://tarballs.openstack.org/freezer-api/
For more details, please see below.
10.0.0
^^^^^^
Upgrade Notes
*************
* The default value of "[oslo_policy] policy_file" config option has
been changed from "policy.json" to "policy.yaml". Operators who are
utilizing customized or previously generated static policy JSON
files (which are not needed by default), should generate new policy
files or convert them in YAML format. Use the oslopolicy-convert-
json-to-yaml (https://docs.openstack.org/oslo.policy/latest/cli
/oslopolicy-convert-json-to-yaml.html) tool to convert a JSON to
YAML formatted policy file in backward compatible way.
Deprecation Notes
*****************
* Use of JSON policy files was deprecated by the "oslo.policy"
library during the Victoria development cycle. As a result, this
deprecation is being noted in the Wallaby cycle with an anticipated
future removal of support by "oslo.policy". As such operators will
need to convert to YAML policy files. Please see the upgrade notes
for details on migration of any custom policy files.
Changes in freezer-api 9.0.0..10.0.0
------------------------------------
e02a492 [goal] Deprecate the JSON formatted policy file
719a3fe Fix a bug when unit test use the local conf O AttributeError: 'Connection' object has no attribute 'iterdump'
34641ef Fix pylint error
9ce1a11 remove unicode from code
c87d9cb Fix devstack install error
f1012d7 Update package metadata
6cf451d Remove unuseful yaml files for zuul V2 CI jobs.
b32f026 Add Python3 wallaby unit tests
58ca467 Fix a bug for api
6d66cef Update master for stable/victoria
d5d2792 [goal] Migrate testing to ubuntu focal
Diffstat (except docs and test files)
-------------------------------------
.zuul.yaml | 2 +-
api-ref/source/conf.py | 10 +--
devstack/lib/freezer-api | 8 +--
etc/freezer/freezer-api.conf.sample | 2 +-
freezer_api/cmd/status.py | 10 +--
freezer_api/common/config.py | 18 ++++-
freezer_api/context.py | 10 +--
freezer_api/db/sqlalchemy/api.py | 14 ++--
freezer_api/policy.py | 8 +++
lower-constraints.txt | 24 +++----
playbooks/legacy/freezer-api-centos-7/post.yaml | 81 ----------------------
playbooks/legacy/freezer-api-centos-7/run.yaml | 74 --------------------
playbooks/legacy/freezer-api-opensuse-15/post.yaml | 81 ----------------------
playbooks/legacy/freezer-api-opensuse-15/run.yaml | 74 --------------------
playbooks/legacy/freezer-api-ubuntu/post.yaml | 81 ----------------------
playbooks/legacy/freezer-api-ubuntu/run.yaml | 74 --------------------
...son-formatted-policy-file-d703706239831caa.yaml | 20 ++++++
releasenotes/source/conf.py | 16 ++---
releasenotes/source/index.rst | 1 +
releasenotes/source/victoria.rst | 6 ++
requirements.txt | 10 +--
setup.cfg | 11 ++-
test-requirements.txt | 4 +-
28 files changed, 123 insertions(+), 571 deletions(-)
Requirements updates
--------------------
diff --git a/requirements.txt b/requirements.txt
index 9b8aae7..308d445 100644
--- a/requirements.txt
+++ b/requirements.txt
@@ -10,3 +10,3 @@ PasteDeploy>=1.5.0 # MIT
-oslo.config>=5.2.0 # Apache-2.0
-oslo.context>=2.19.2 # Apache-2.0
-oslo.db>=4.27.0 # Apache-2.0
+oslo.config>=6.8.0 # Apache-2.0
+oslo.context>=2.22.0 # Apache-2.0
+oslo.db>=4.44.0 # Apache-2.0
@@ -16 +16 @@ oslo.middleware>=3.31.0 # Apache-2.0
-oslo.policy>=1.30.0 # Apache-2.0
+oslo.policy>=3.6.0 # Apache-2.0
@@ -18 +18 @@ oslo.serialization>=2.25.0 # Apache-2.0
-oslo.upgradecheck>=0.1.0 # Apache-2.0
+oslo.upgradecheck>=1.3.0 # Apache-2.0
diff --git a/test-requirements.txt b/test-requirements.txt
index fdde64c..6047051 100644
--- a/test-requirements.txt
+++ b/test-requirements.txt
@@ -7 +7 @@ hacking>=3.0.1,<=3.1.0 # Apache-2.0
-pylint==2.3.1 # GPLv2
+pylint>=2.4.0 # GPLv2
@@ -20 +20 @@ openstackdocstheme>=1.31.2 # Apache-2.0
-astroid==2.1.0 # LGPLv2.1
+astroid>=2.2.0,<=3 # LGPLv2.1
1
0