We are tickled pink to announce the release of: os-brick 6.0.0: OpenStack Cinder brick library for managing local volume attaches This release is part of the zed release series. The source is available from: https://opendev.org/openstack/os-brick Download the package from: https://pypi.org/project/os-brick Please report issues through: https://bugs.launchpad.net/os-brick/+bugs For more details, please see below. 6.0.0 ^^^^^ New Features ************ * Specific location for os-brick file locks using the "lock_path" configuration option in the "os_brick" configuration group. Previously, os-brick used the consuming service's lock_path for its locks, but there are some deployment configurations (for example, Nova and Cinder collocated on the same host) where this would result in anomalous behavior. Default is to use the consuming service's lock_path. This change requires a consuming service to call the "os_brick.setup" method after service configuration options have been called. * Phase 1 (Native) implementation of NVMeoF Multipathing. See the NVMeoF Multipathing (https://specs.openstack.org/openstack/cinder- specs/specs/yoga/nvme-multipath.html) spec for details. Upgrade Notes ************* * Python 3.6 & 3.7 support has been dropped. The minimum version of Python now supported is Python 3.8. * To use the os-brick specific file lock location introduced in this release, an external service using the library must call the "os_brick.setup" method. * No longer using "systool" to gather FC HBA information, so the "sysfsutils" package is no longer needed. Bug Fixes ********* * Bug #1888675 (https://bugs.launchpad.net/os-brick/+bug/1888675): Fixed in-use volume resize issues caused by the multipath-tools version. * NVMe-oF connector bug #1964379 (https://bugs.launchpad.net/os- brick/+bug/1964379): Fixed using non LUKS v1 encrypted volumes, as once one of such volumes is disconnected from a host all successive NVMe-oF attachments would fail. * Bug #1967790 (https://bugs.launchpad.net/os-brick/+bug/1967790): Fixed encryptor's connect_volume returns and the symlink is pointing to the raw block device instead of to the decrypted device mapper device. * NVMe-oF connector bug #1964389 (https://bugs.launchpad.net/os- brick/+bug/1964389): Fixed showing misleading traceback. * RBD connector bug #1981455 (https://bugs.launchpad.net/cinder/+bug/1981455): Fixed AttributeError error on disconnect for RBD encrypted volumes not using host attachments. Changes in os-brick 5.2.0..6.0.0 -------------------------------- b72c034 Support independent file lock path cf9ee24 Update README to drop py3.6 reference dde8f10 RBD: Fix disconnect_volume for encrypted volumes c5076c3 Read HBA information from sysfs 924af88 Fix Unit Test failures due to host's ANA support 4d0103d Add NVMeoF Multipathing support Phase 1 (Native) implementation of NVMeoF Multipathing. 557f386 Avoid volume extension errors caused by multipath-tools version 62adedf PEP8: Don't force name in TODO 1583a50 Fix encryption symlink issues 6ca48e7 Update python testing as per zed cycle teting runtime 1d50e67 Bump mypy version to 0.942 e17bdf9 NVMe-oF: Remove misleading exception from logs 56bf027 Update master for stable/yoga dcddb0b Update python testing classifier Diffstat (except docs and test files) ------------------------------------- .zuul.yaml | 2 +- README.rst | 5 +- os_brick/__init__.py | 33 +++ os_brick/initiator/connector.py | 3 - os_brick/initiator/connectors/base.py | 63 +++++ os_brick/initiator/connectors/fibre_channel.py | 15 +- os_brick/initiator/connectors/huawei.py | 6 +- os_brick/initiator/connectors/iscsi.py | 50 +--- os_brick/initiator/connectors/lightos.py | 11 +- os_brick/initiator/connectors/nvmeof.py | 199 ++++++++++----- os_brick/initiator/connectors/rbd.py | 3 + os_brick/initiator/connectors/scaleio.py | 9 +- os_brick/initiator/connectors/storpool.py | 4 + os_brick/initiator/initiator_connector.py | 23 ++ os_brick/initiator/linuxfc.py | 86 ++----- os_brick/initiator/linuxscsi.py | 55 ++-- os_brick/opts.py | 45 ++++ os_brick/privileged/rootwrap.py | 17 ++ .../initiator/connectors/test_fibre_channel.py | 2 +- os_brick/utils.py | 175 ++++++++++++- .../bug-1888675-mpath-resize-6013ce39fa2b8401.yaml | 5 + .../drop-python-3-6-and-3-7-1e7190189d415492.yaml | 5 + .../notes/encryption-a642889a82ff9207.yaml | 12 + releasenotes/notes/lock_path-c1c58a253391b41c.yaml | 17 ++ .../notes/multipath-nvme-f77a53eb2717a44c.yaml | 7 + .../notes/no-systool-use-b7bc430de1033670.yaml | 5 + .../nvmeof-hide-traceback-a968ab71352684e3.yaml | 6 + .../rbd-disconnect-failure-9efa6932df40271b.yaml | 6 + releasenotes/source/index.rst | 1 + releasenotes/source/yoga.rst | 6 + requirements.txt | 1 + setup.cfg | 10 +- test-requirements.txt | 2 +- tox.ini | 4 +- 43 files changed, 1327 insertions(+), 591 deletions(-) Requirements updates -------------------- diff --git a/requirements.txt b/requirements.txt index 803ad06..4a37468 100644 --- a/requirements.txt +++ b/requirements.txt @@ -7,0 +8 @@ oslo.concurrency>=4.5.0 # Apache-2.0 +oslo.config>=8.1.0 # Apache-2.0 diff --git a/test-requirements.txt b/test-requirements.txt index 7fcd33a..626c405 100644 --- a/test-requirements.txt +++ b/test-requirements.txt @@ -19 +19 @@ bandit>=1.6.0,<1.7.0 # Apache-2.0 -mypy>=0.910 # MIT +mypy>=0.942 # MIT