9073f7591e
When trying to upload volume to glance as image, currently all the format transformation is done by software and the performance is not good. Leverage hardware accelerator to do the image compression, so as to offload CPU, release CPU to do more common and complex thing. Professional hardware accelerator will get better performance and shorter conversion time than software solution. Currently hardware accelerator is getting more popular and some are integrated in server chipset by default. This patch includes: 1. Uses the new image container_format 'compressed' introduced by Glance in the Train release 2. Implemented a simple framework: if there's an accelerator detected in system, then try to use it 3. Supported Intel QAT as one of the accelerator 4. Add command filter for command 'qzip' and 'gzip' in rootwrap 5. New configuration option 'allow_compression_on_image_upload' and 'compression_format' added 6. Releasenote added Change-Id: I8460f58d2ad95a6654cf4d6a6bb367f3c537536b Implements: blueprint leverage-compression-accelerator Signed-off-by: Liang Fang <liang.a.fang@intel.com>
50 lines
2.4 KiB
YAML
50 lines
2.4 KiB
YAML
---
|
|
features:
|
|
- |
|
|
A general framework to accommodate hardware compression accelerators for
|
|
compression of volumes uploaded to the Image service (Glance) as images
|
|
and decompression of compressed images used to create volumes is
|
|
introduced.
|
|
|
|
The only accelerator supported in this release is Intel QuickAssist
|
|
Technology (QAT), which produces a compressed file in gzip format.
|
|
Refer to this `Cinder documentation
|
|
<https://docs.openstack.org/cinder/latest/admin/blockstorage-accelerate-image-compression.html>`_
|
|
for more information about using this feature.
|
|
|
|
Additionally, the framework provides software-based compression using
|
|
GUNzip tool if a suitable hardware accelerator is not available.
|
|
Because this software fallback could cause performance problems if the
|
|
Cinder services are not deployed on sufficiently powerful nodes, the
|
|
default setting is *not* to enable compression on image upload or
|
|
download.
|
|
|
|
The compressed image of a volume will be stored in the
|
|
Image service (Glance) with the ``container_format`` image property of
|
|
``compressed``. See the `Image service documentation
|
|
<https://docs.openstack.org/glance/latest>`_ for more information about
|
|
this image container format.
|
|
issues:
|
|
- |
|
|
In the Image service (Glance), the ``compressed`` container format
|
|
identifier does not indicate a particular compression technology; it is up
|
|
to the image consumer to determine what compression has been used, and
|
|
there is no requirement that OpenStack services must support arbitrary
|
|
compression technologies. For the upload and download of compressed
|
|
images, Cinder supports *only* the gzip format.
|
|
|
|
While you may expect that Cinder will be able to consume any image in
|
|
``compressed`` container format *that Cinder has created*, you should not
|
|
expect Cinder to be able to successfully use an image in ``compressed``
|
|
format that it has not created itself.
|
|
upgrade:
|
|
- |
|
|
Added string config option ``compression_format`` in [default] section of
|
|
cinder.conf to specify image compression format. Currently the only legal
|
|
value for this option is ``gzip``.
|
|
- |
|
|
Added boolean config option ``allow_compression_on_image_upload`` in
|
|
[default] section of cinder.conf to enable/disable image compression on
|
|
image upload. The default value of this option is ``false``, which means
|
|
image compression is disabled.
|