Hi all,
As per [1], in order to bootstrap and use Juju controller on Openstack, user should specify the images metadata that will be used by the controller when provisioning new machines for models running on the controller.
[2] introduced the multi-cloud controller feature of Juju, that allows deployment of Juju models to multiple cloud substrates without having to bootstrap a controller per cloud. So one would expect that a single controller to deploy models on 2 or more OpenStack clouds. Apparently those Openstack clouds will have different sets of images and Juju controller should be able to properly select images for the machines depending on the cloud.
The problem that we're seeing is that it seems likely getting into situation when the metadata of images from the cloud that we add to our multi-cloud controller overwrites metadata of the previously registered Openstack cloud making it impossible to add machines to the models running on the first cloud. juju metadata set of commands also confirm that.
The [3] suggests that the root cause is that Juju uses only Region name in the image metadata, which causes the image to be overwritten if OpenStack clouds used with the controller have the same region names (RegionOne for example).
[1] https://juju.is/docs/olm/cloud-image-metadata
[2] https://discourse.charmhub.io/t/feature-highlight-multi-cloud-controller/2219
[3] https://github.com/juju/juju/blob/5edf504b654c923215c1a04abf1cf1e61262408e/provider/openstack/provider.go#L307
Hi team,
Please fix this as this has been impacting us for some time and it is getting more urgent now.
Thanks.