Queens Series Release Notes

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