Comment 1 for bug 1994053

Revision history for this message
Walid Moghrabi (walid-fdj) wrote (last edit ):

Hi,

This one is a typical example of lack of consistency.
You have 3 charms here dealing with images in Glance :
* glance charm itself
* glance-simplestreams-sync
* octavia-diskimage-retrofit

These 3 charms have their own sets of options regarding image properties/conversion and there is no way to have a consistent behavior.

1) with glance, there is a "image-conversion" option in order to force conversion to raw format that is apparently doing its job *but only when the image is uploaded through CLI or Horizon dashboard* ! Images uploaded by glance-simplestreams-sync or octavia-diskimage-retrofit are *not* converted as if they can bypass this option (which is configured at the glance level so I don't even know how they can do that).

2) glance charm has no option to configure custom image properties (such as hw properties for virtio drivers, qemu-guest-agent support, ...). This is something that is supported by glance through the image property injection plugin (image_import_plugins ) which basically relies on the same principles as image conversion plugin (where we do have a charm option available). So custom properties has to be set afterwards which can easily be done with a controlled process (pipelines, whatever ...) but in some situations (where a user can upload his own custom image), we could be in some corner case where some instances could be spawned without the properties we need.

3) glance-simplestreams-sync on the other hand *has* options to set custom properties for images *but* ... no option to do image conversion, files are uploaded as qcow which is not efficient when used with a ceph storage backend for example.

4) octavia-diskimage-retrofit has no option for both custom properties and conversion ... even though the retrofit process is based on the images uploaded by glance-simplestreams-sync (which have their own set of custom properties but those properties are not inherited by the retrofited image).

This is pure mess, can't we just have options to add default custom properties and do image conversion at the glance level and have every other "image uploader" charms such as glance-simplestreams-sync and octavia-diskimage-retrofit just comply to these rules by not doing things their own way ?
Or maybe have some hierarchical layering with image uploading charms to override or add their own options on top of what is defined at the glance level but without bypassing them ?

The current situation is just illogical and inconsistent.