We want to be able to select an image programmatically (for instance, in an OpenTofu script) by its properties (such as os_distro, os_version, and os_purpose). SCS already mandates these properties. However, the pool of images can be polluted when people create a snapshot of a VM via Horizon. Then a snapshot of the image will be created with the same properties, so it cannot be distinguished from the original image, and programmatic selection becomes difficult. There is a workaround: one can look for a block_device_mapping, which won’t be present for the original image, but this seems quite ‘hacky’, and (as far as I can tell) it’s only possible on the client side.
I heard that it might be possible to have Glance (or whomever) set a property image_type=“snapshot” for each snapshot that is created. This would help with the programmatic filtering. Can we expect operators to implement such a thing?