Rocky Series Release Notes

0.26.1

Bug Fixes

    • Bug 1784420: Interface function for multihash not wrapped correctly

      The Rocky release of glance_store contains support for computing secure hash values of stored data, but the function called by Glance to store data was not wrapped correctly, thereby making the computed secure hash value unavailable to Glance.

0.26.0

Prelude

This release adds support for Glance multihash computation.

From glance_store release 0.26.0 onwards Cinder driver is no longer considered as experimental.

New Features

  • A new function, store_add_to_backend_with_multihash, has been added. This function wraps each store’s add method to provide consumers with a constant interface. It is similar to the existing store_add_to_backend function but requires the caller to specify an additional hashing_algo argument whose value is a hashlib algorithm identifier. The function returns a 5-tuple containing a multihash value, which is a hexdigest of the stored data computed using the specified hashing algorithm.

Deprecation Notes

  • The glance_store function store_add_to_backend, which is a wrapper around each store’s add() method, is deprecated in this release and is subject to removal at the beginning of the Stein development cycle, following the OpenStack standard deprecation policy.

    The function is replaced by store_add_to_backend_with_multihash, which is a similar wrapper, but which takes an additional argument allowing a caller to specify an secure hashing algorithm. The hexdigest of this algorithm is returned as one of the multiple values returned by the function. The function also returns the md5 checksum for backward compatability.

Other Notes

  • During Rocky cycle number of issues still warranting experimental status on Cinder back-end driver was addressed. The team considers the driver stable and production ready from Rocky release onwards (0.26.0).

0.25.0

Prelude

This release contains the base work for multiple back-ends changing how the back-ends get configured. Please note that in Rocky release the work is still experimental. Thus it’s not advised to utilize the new configs in production environments before Stein release even though old config options are deprecated for removal.

New Features

  • EXPERIMENTAL: Multiple back-end stores

Deprecation Notes

  • The glance_store configuration option store_capabilities_update_min_interval is deprecated in this release and is subject to removal at the beginning of the Stein development cycle, following the OpenStack standard deprecation policy.

    The option configures a stub method that has not been implemented for any existing store drivers. Hence it is non-operational. Given that it has never been operational, it will not be missed. Its presence is confusing to operators and thus it is hereby deprecated for removal.

  • ‘stores’ and ‘default_store’ config options have been deprecated for removal. As the replacements are experimental for Rocky release, migration away from these options in production environments is not advised before Stein release.

Bug Fixes

    • Bug 1606268: Failure to upload to swift when keystone uses “insecure” SSL

    • Bug 1779455: cinder backend causes BadRequest due to NULL mountpoint

    • Bug 1764200: Glance Cinder backed images & multiple regions

0.23.0

Prelude

This was a quiet development cycle for the glance_store library. One new feature was added to the Swift store driver. Several bugs were fixed and some code changes were committed to increase stability.

New Features

  • A BufferedReader has been added to the Swift store driver in order to enable better recovery from errors during uploads of large image files. Because this reader buffers image data, it could cause Glance to use a much larger amount of disk space, and so the Buffered Reader is not enabled by default.

    To use the new reader with the Swift store, you must do the following:

    • Set the glance_store configuration option swift_buffer_on_upload to True

    • Set the glance_store configuration option swift_upload_buffer_dir to a string value representing an absolute directory path. This directory will be used to hold the buffered data.

    The Buffered Reader works by taking advantage of the way Swift stores large objects by segmenting them into discrete chunks. Thus, the amount of disk space a Glance API node will require for buffering is a function of the swift_store_large_object_chunk_size setting and the number of worker threads (configured in glance-api.conf as the value of workers). Disk utilization will cap at the following value

    swift_store_large_object_chunk_size * workers * 1000

    Be aware that depending upon how the file system is configured, the disk space used for buffering may decrease the actual disk space available for the Glance image cache, which may affect overall performance.

    For more information, see the Buffered Reader for Swift Driver spec.

Upgrade Notes

  • Two new configuration options, swift_buffer_on_upload and swift_upload_buffer_dir have been introduced. These apply only to users of the Swift store and their use is optional. See the New Features section for more information.

Bug Fixes

    • Bug 1738331: Fix BufferedReader writing zero size chunks

    • Bug 1733502: Use cached auth_ref instead of getting a new one each time