add config to enable convertion to raw format
image-convertion config enables image convertion to raw format this optimizes back-end capabilities while not putting the burden of converting images to their end users func-test-pr: https://github.com/openstack-charmers/zaza-openstack-tests/pull/582 Closes-Bug: 1899767 Change-Id: Id3791721f9e38899c87b88591cdc42e46ffea5c1
This commit is contained in:
parent
72cd002dd5
commit
4aaa2ce5a3
@ -525,3 +525,9 @@ options:
|
|||||||
description: |
|
description: |
|
||||||
Value of bluestore compression max blob size for solid state media on
|
Value of bluestore compression max blob size for solid state media on
|
||||||
pools requested by this charm.
|
pools requested by this charm.
|
||||||
|
image-conversion:
|
||||||
|
type: boolean
|
||||||
|
default: False
|
||||||
|
description: |
|
||||||
|
Enable conversion of all images to raw format during image upload,
|
||||||
|
only supported on stein or newer.
|
||||||
|
@ -100,6 +100,15 @@ class GlancePolicyContext(OSContextGenerator):
|
|||||||
return ctxt
|
return ctxt
|
||||||
|
|
||||||
|
|
||||||
|
class GlanceImageImportContext(OSContextGenerator):
|
||||||
|
|
||||||
|
def __call__(self):
|
||||||
|
ctxt = {}
|
||||||
|
if config('image-conversion'):
|
||||||
|
ctxt['image_conversion'] = config('image-conversion')
|
||||||
|
return ctxt
|
||||||
|
|
||||||
|
|
||||||
class CephGlanceContext(OSContextGenerator):
|
class CephGlanceContext(OSContextGenerator):
|
||||||
interfaces = ['ceph-glance']
|
interfaces = ['ceph-glance']
|
||||||
|
|
||||||
|
@ -200,7 +200,8 @@ CONFIG_FILES = OrderedDict([
|
|||||||
interface=['storage-backend'],
|
interface=['storage-backend'],
|
||||||
service=['glance-api'],
|
service=['glance-api'],
|
||||||
config_file=GLANCE_API_CONF),
|
config_file=GLANCE_API_CONF),
|
||||||
context.MemcacheContext()],
|
context.MemcacheContext(),
|
||||||
|
glance_contexts.GlanceImageImportContext()],
|
||||||
'services': ['glance-api']
|
'services': ['glance-api']
|
||||||
}),
|
}),
|
||||||
(GLANCE_SWIFT_CONF, {
|
(GLANCE_SWIFT_CONF, {
|
||||||
@ -301,6 +302,9 @@ def determine_packages():
|
|||||||
if CompareOpenStackReleases(os_release(VERSION_PACKAGE)) >= 'rocky':
|
if CompareOpenStackReleases(os_release(VERSION_PACKAGE)) >= 'rocky':
|
||||||
packages = [p for p in packages if not p.startswith('python-')]
|
packages = [p for p in packages if not p.startswith('python-')]
|
||||||
packages.extend(PY3_PACKAGES)
|
packages.extend(PY3_PACKAGES)
|
||||||
|
if CompareOpenStackReleases(os_release(VERSION_PACKAGE)) >= 'stein':
|
||||||
|
# required for image-conversion
|
||||||
|
packages.extend(['qemu-utils'])
|
||||||
return sorted(packages)
|
return sorted(packages)
|
||||||
|
|
||||||
|
|
||||||
|
7
templates/parts/section-image-import
Normal file
7
templates/parts/section-image-import
Normal file
@ -0,0 +1,7 @@
|
|||||||
|
{% if image_conversion -%}
|
||||||
|
[image_import_opts]
|
||||||
|
image_import_plugins = ['image_conversion']
|
||||||
|
|
||||||
|
[image_conversion]
|
||||||
|
output_format = raw
|
||||||
|
{% endif -%}
|
@ -111,3 +111,5 @@ auth_endpoint = {{ service_protocol }}://{{ service_host }}:{{ service_port }}/v
|
|||||||
{{ key }} = {{ val }}
|
{{ key }} = {{ val }}
|
||||||
{% endfor -%}
|
{% endfor -%}
|
||||||
{% endfor%}
|
{% endfor%}
|
||||||
|
|
||||||
|
{% include "parts/section-image-import" %}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user