Release notes

2.3.1 - 2024-02-01

Fixes

  • os-brick drivers: Zed: dropped the .1 snapshot suffix, the recorded files match version 6.1.1.

Other changes:

  • os-brick drivers: added a new StorPool update with two changes:

    • Used the StorPool API for attaching and detaching volumes

    • Raised the “invalid StorPool configuration” errors early, during the driver initialization step

2.3.0 - 2024-01-26

Additions

  • Glance drivers: Bobcat: Recognized 27.0.0.0rc2.

  • kolla-rebuild: also rebuilt the glance-api container, since Glance also needs the StorPool API bindings and OpenStack helper modules installed.

2.2.1 - 2024-01-16

Fixes

  • Documentation: documented the --topdir / -d option to kolla-rebuild and reflected it in the instructions for running the tool from a virtual environment.

2.2.0 - 2024-01-16

Fixes

  • Cinder drivers: Antelope: changed the entry version: this is 22.0.0, no longer a snapshot.

  • Nova drivers: Antelope: changed the entry version: this is 27.0.0, no longer a snapshot.

  • Build infrastructure:

    • Noted the documentation URLs in the project metadata.

    • Installed the kolla_rebuild module and the kolla-rebuild executable, also updating the requirements files.

  • Documentation: fixed a couple of duplicate words as spotted by the spellintian tool

Additions

  • Cinder drivers: Bobcat: recognized 23.0.0 and add the StorPool updates

  • Nova drivers:

    • Bobcat: recognized 28.0.0, 28.0.1, and a couple of snapshots

    • Antelope: recognized some more upstream snapshots

    • Zed: recognized a couple of snapshots

    • Yoga: recognized 25.2.1

  • os-brick:

    • Added it as a new component.

    • Bobcat: recognized 6.4.0 and add the StorPool updates.

    • Antelope: recognized 6.2.0 and add the StorPool updates

    • Zed: recognized a snapshot and add the StorPool updates

    • Yoga: recognized 5.2.2 (both upstream and the Ubuntu Cloud Archive version) and add the StorPool updates

  • Documentation: added a couple of words about the MkDocs-based documentation; add a brief section about adding a detect-only component entry.

  • kolla-rebuild:

    • Handled containers that need more than one component updated (e.g. with Nova we also need to update the os-brick drivers).

    • Used the canonical 2023.1 name for Antelope and 2023.2 for Bobcat but still recognize “antelope” and “bobcat” as aliases.

    • Added the -d / --topdir option to specify the path to the storpool-openstack-integration directory so that kolla-rebuild may be invoked directly from a virtual environment.

Other changes

  • Testing infrastructure: updated the Tox configuration file to the 4.x format.

  • Documentation:

    • kolla: updated the documentation for using a virtual environment.

    • Used MkDocs 1.5 and mkdocstrings 0.24 with no changes.

  • sp-osi: updated the bundled copy of sp-variant to version 3.4.2.

  • kolla-rebuild:

    • Caught up with the changes in the changelog formatting.

    • Renamed “component” to the more specific “container”.

2.1.0 - 2023-04-04

Fixes

  • Build infrastructure:

    • Corrected the requirements path in the pyproject.toml file.

    • Corrected the sp-osi requirements, only leave the ones that are relevant to sp_osi itself.

    • Used the canonical names for the cfg-diag and sp-variant libraries.

  • sp-osi:

    • Caught more exceptions when parsing the components file.

    • Various minor fixes and refactoring as suggested by ruff.

Additions

  • Documentation:

    • Converted the CHANGES.md, HACKING.md, and README.md files into a MkDocs-based documentation site within the docs/ directory.

    • Added a brief overview blurb to the documentation main page.

  • sp-openstack: included a simplified version of the utf8-locale library to make reading commands output a bit more reliable.

  • kolla-rebuild: new tool for rebuilding the upstream Kolla container images (the cinder-volume and nova-compute ones) to support the StorPool Cinder backend.

  • Testing infrastructure:

    • Added a Python unit test suite.

    • Added separate environments for running the command-line tools other than sp-openstack itself.

    • Run ruff 0.0.260 with most of its checks enabled and satisfied.

    • Run ruff’s isort emulation in a separate Tox environment.

Other changes

  • Dropped the drivers for OpenStack releases earlier than Victoria. The Kilo through Queens drivers are of historical value only at this point, and they were not described in the components file or handled by the new sp-openstack tool anyway.

  • Switched to SPDX license identifiers.

  • Documentation:

    • README: split this long file into several documentation sections.

    • configure: dropped some outdated information.

    • hacking: minor updates:

      • Running the full test suite is not optional

      • Refer to tox-stages instead of tox-delay

      • Temporarily comment out the Nox parts

  • sp-openstack: sorted the import section, fold typing into the main group.

  • chroot-test:

    • Turned this file into a full-fledged Python module (not installed, only used for running the program itself).

    • Simplified the file structure using deferred type annotations.

    • Various minor fixes and refactoring as suggested by ruff.

    • Sorted the import section, fold typing into the main group.

2.0.5 - 2023-03-09

Corrected the 2.0.4 changelog entry: it is about Nova, not Cinder

2.0.4 - 2023-03-09

Nova drivers: Zed: recognized a Zed branch snapshot.

2.0.3 - 2023-03-09

  • Cinder drivers:

    • Zed: recognized and support the 21.1.0 upstream version.

    • Antelope: recognized and support a master branch snapshot.

  • Nova drivers:

    • Zed: recognized the 26.1.0 upstream version

    • Antelope: recognized a master branch snapshot

  • Testing infrastructure:

    • Added the tool.test-stages.stages pyproject setting for the tox-stages tool.

    • Updated to cfg\_diag 0.4.x and inherit from the correct base class in the chroot\_test tool.

    • Updated to pylint 2.16.x and define our own exception class in the Nox file.

    • Used black 23.x, flake8 6.x, mypy 1.x, and utf8-locale 1.x with no code changes.

2.0.2 - 2023-03-01

  • Cinder drivers:

    • Victoria:

      • Added a fix for always detaching Glance image volumes after conversions.

      • Implemented the “revert a volume to a snapshot” Cinder feature.

    • Wallaby:

      • Added a fix for always detaching Glance image volumes after conversions.

      • Implemented the “revert a volume to a snapshot” Cinder feature.

      • Dropped the copy_image_to_volume() and copy_volume_to_image() methods.

      • Fixed retyping a volume to another StorPool template.

      • Added iSCSI attach support.

      • Added multipath support when attaching a volume via iSCSI.

    • Xena:

      • Implemented the “revert a volume to a snapshot” Cinder feature.

      • Dropped the copy_image_to_volume() and copy_volume_to_image() methods.

      • Fixed retyping a volume to another StorPool template.

      • Added multipath support when attaching a volume via iSCSI.

      • Recognized the 19.1.1 upstream and Ubuntu cloud archive version.

    • Yoga:

      • Implemented the “revert a volume to a snapshot” Cinder feature.

      • Dropped the copy_image_to_volume() and copy_volume_to_image() methods.

      • Fixed retyping a volume to another StorPool template.

      • Added multipath support when attaching a volume via iSCSI.

  • Nova drivers:

    • Wallaby: recognized the 23.2.2 upstream and Ubuntu cloud archive version.

    • Xena: recognized the 24.2.0 upstream and Ubuntu cloud archive version.

    • Yoga: recognized the 25.1.0 upstream and Ubuntu cloud archive version.

  • Documentation: added the “our Cinder driver supports trim/discard operations” flag to the Cinder backend configuration example.

  • sp-openstack: convert an error object to a string before passing it to sys.exit().

  • Build infrastructure:

    • Added setuptools infrastructure for use with setuptools version 61 or later

    • Added the py.typed marker file

  • testing infrastructure:

    • Dropped the “flake8 + hacking” test environment

    • Added version constraints to the dependencies in all test environments

    • Added the “validate” test environment to make sure the components.json file remains sane

    • When validating the components.json file, make sure each outdated version has exactly one non-outdated version in the same component and branch to update to

    • Added Nox test definitions

    • Moved the lists of test environment dependencies to separate files to help Nox and Tox use the same ones

    • Do not build diagnostic messages unless we need to (use lambdas in diag calls)

  • Start a HACKING.md how-to document for developers.

2.0.1 - 2022-08-05

  • Cinder drivers:

    • Wallaby:

      • Added an entry for the StorPool updated driver for the 18.1.0 Ubuntu cloud archive version

      • Recognized the 18.2.1 upstream version

      • Bump the StorPool Cinder driver version so that it is higher than the upstream one

    • Xena: added iSCSI support to the StorPool driver

    • Yoga:

      • Recognized the 20.0.0 and 20.0.1 upstream versions

      • Install an updated driver with iSCSI support

  • Glance drivers: Yoga: recognized the 24.0.0 upstream version

  • Nova drivers:

    • Victora:

      • Recognized the 22.4.0 upstream version

      • Recognized the 22.4.0 Ubuntu cloud archive version

    • Wallaby:

      • Recognized the 23.2.0 and 23.2.1 upstream versions

      • Recognized the 23.2.1 Ubuntu cloud archive version

    • Xena:

      • Recognized the 24.1.0 and 24.1.1 upstream versions

      • Recognized the 24.1.1 Ubuntu cloud archive version

    • Yoga:

      • Recognized the 25.0.0 upstream version

      • Recognized the 25.0.0 Ubuntu cloud archive version

2.0.0 - 2022-05-19

  • Re-implemented the sp-openstack tool in Python 3.6 or higher.

  • Let sp-openstack use the dpkg-divert tool on Debian/Ubuntu systems (unless the -D / --no-divert command-line option is specified) to make sure the local changes are not lost if the OpenStack packages are upgraded.

  • Added the “uninstall” command to the sp-openstack tool.

  • Detected the Xena release of OpenStack.

  • Added some StorPool driver fixes for the OpenStack Victoria, Wallaby, and Xena releases:

    • Dropped _attach_volume(), _detach_volume(), and backup_volume().

    • Re-implemented create_cloned_volume() in a much more efficient way.

    • Implemented clone_image().

1.5.0 - 2021-12-14

  • Added the “groups” command to the sp-openstack tool to only check, create, and set up the “spopenstack” group and the service accounts’ membership, as well as the /var/spool/storpool-spopenstack/ directory.

  • Detected the Rocky, Stein, Train, Victoria, and Wallaby releases of OpenStack.

  • Detected and set up the groups for Glance, too.

1.4.0 - 2018-06-05

  • Noted that the StorPool drivers have been included in the Queens release.

  • Detected the Queens release of OpenStack and (hopefully) just say that the StorPool integration is installed already.

1.3.0 - 2017-09-18

  • Added the Pike Cinder, Nova, and os-brick drivers.

  • Properly capitalize the 1.2.0 changelog entry.

  • Added the sp-image-to-volume tool to save a Glance image to a StorPool volume and its manual page.

1.2.0 - 2017-08-06

Added the -T txn-module option for use with the txn-install tool.

1.1.1 - 2017-08-06

  • Added the sp-openstack.1 manual page.

  • Looking for the Python modules path in a way compatible with Python 3.

1.1.0 - 2017-07-31

  • Added the Ocata Cinder volume driver and Nova attachment driver.

  • Added the Newton and Ocata os-brick connector driver.

  • Added the capability to make different changes to the same file for different OpenStack releases.

  • Removed the “probably unaligned” warnings from the documentation of the storpool volume list and storpool volume status checks, since the StorPool CLI tool aligns the output in recent versions.

  • Let the documentation use the “openstack” client tool where possible.

1.0.0 - 2016-09-07

  • Updated the Mitaka os-brick connector.

  • Updated the Liberty and Mitaka Cinder volume drivers.

  • Fixed the detection of Nova Liberty vs Mitaka.

  • Dropped support for the Juno and Kilo releases of OpenStack.

0.2.0 - 2016-07-26

Allowed the owner and group of the /var/spool/openstack-storpool/ shared state directory to be overridden using the -u and -g options of the sp-openstack tool.

0.1.0 - 2016-07-26

Initial public release.