Stein Series Release Notes

18.0.0

Prelude

Stein release cycle has been without major changes to the Images API, this release does not introduce new Images API minor version.

Some work has been done on Windows compatibility and Glance Stein release is compatible running on Windows platform. Future development will be also gated on Windows based on 3rd party CI model.

Due to some unresolved issues on consuming multiple backends work the stabilisation of the feature has been pushed to Train and will stay EXPERIMENTAL on Stein.

This release also contains some feature work, life improving changes and bug fixes. Please refer the rest of the release notes and docs for details.

New Features

  • Re-introducing cache-manage utility. In Rocky the Images API v1 dependent glance-cache-manage utility was removed while removing the v1 endpoints. Stein release introduces the command refactored to utilize the Images API version 2.

  • Added oslopolicy enforcer entrypoint making it possible to utilise oslopolicy-policy-generator to get uniform information about the policies. NOTE: Glance will require policy.json being present for any meaningful output.

  • You can now list all images that are available to you. Use the ‘all’ visibility option.

  • A new common image property, ‘description’, has been added. This allows you to specify a brief human-readable description, suitable for display in a user interface, on images. It has been possible to do this previously using a custom image property; this change simply standardises the usage in order to promote interoperability. This change has no effect on any property named ‘description’ on existing images, and it is not a required image property.

  • [Community Goal] Support has been added for developers to write pre-upgrade checks. Operators can run these checks using glance-status upgrade check. This allows operators to be more confident when upgrading their deployments by having a tool that automates programmable checks against the deployment configuration or dataset.

  • Glance services can now run on Windows.

Known Issues

  • Multiple back-ends: No default back-end gets assigned when adding location via the locations API and not defining back-end ID on the call. This might affect specially Nova snapshots utilising RDB back-end.

Upgrade Notes

  • The show_multiple_locations configuration option remains deprecated in this release, but it has not been removed. (It had been scheduled for removal in the Pike release.) Please keep a watch on the Glance release notes and the glance-specs repository to stay informed about developments on this issue.

    The plan is to eliminate the option and use only policies to control image locations access. This, however, requires some major refactoring. See the draft Policy Refactor spec for more information.

    There is no projected timeline for this change, as no one has been able to commit time to it. The Glance team would be happy to discuss this more with anyone interested in working on it.

    The workaround is to continue to use the show_multiple_locations option in a dedicated “internal” Glance node that is not accessible to end users. We continue to recommend that image locations not be exposed to end users. See OSSN-0065 for more information.

Bug Fixes

  • The following are some highlights of the bug fixes included in this release.

    • Bug 1781617: Rename async package to async_ (Python 3.7)

    • Bug 1781627: Handle StopIteration for Py3.7 PEP 0479

    • Bug 1695299: Support RFC1738 quoted chars in passwords

    • Bug 1750892: Update status to active when locations replaced

    • Bug 1770410: Use WebOb 1.8.1

    • Bug 1793057: Provision to add new config options in sample config file

    • Bug 1800601: py3: fix recursion issue under py37

    • Bug 1805765: Image conversion fails

    • Bug 1803643: Fix for FK constraint violation

    • Bug 1808063: Guard __getattr__ on QuotaImageTagsProxy

    • Bug 1809462: Correct typo in config option choices (Image conversion)

    • Bug 1803299: Failure in web-dowload kept image in importing state

    • Bug 1818919: py3: Fix return type on CooperativeReader.read

    • Bug 1803498: Data remains in staging area if ‘file’ store is not enabled

Other Notes

  • Negotiation of the ‘Accept-Language’ header now follows the “Lookup” matching scheme described in RFC 4647, section 3.4. The “Lookup” scheme is one of the algorithms suggested in RFC 7231, section 5.3.5. (This is due to a change in an underlying library, which previously used a matching scheme that did not conform to RFC 7231.)