“No available machine matches constraints” error when trying to deploy charmed-kubernetes on openstack/base on a maas cloud

I have successfully deployed an openstack/base environment on a maas-cloud. I am now trying to deploy charmed-kubernetes, but I get errors like:

3        down                    pending              bionic           No available machine matches constraints: [('agent_name', ['e2c1b014-62ed4622-8691-5e520179689d']), ('storage',['root:8']), ('zone', ['default'])] (resolved to "storage=root:8 zone=default")

This appears even if I suppress all machine constraints in the bundle.yaml file and deploy from there.

However, I can deploy instances once logged in the openstack environment. For instance, I have deployed

| ID                                   | Name        | Status | Networks               | Image  | Flavor |
+--------------------------------------+-------------+--------+------------------------+--------+--------+
| be960a39-7507-4bfc-bc9a-5de55ab574d4 | bionic-test | ACTIVE | internal=192.168.0.91  | bionic | small  |
| 982fd557-38d8-4247-b3fa-5ed738e28026 | focal-test  | ACTIVE | internal=192.168.0.186 | focal  | small  |

and created as well as attached

| ID                                   | Name          | Status | Size | Attached to                          |
+--------------------------------------+---------------+--------+------+--------------------------------------+
| 2b51416f-9571-4a55-8a8e-ec867f954afb | bionic-volume | in-use |   10 | Attached to bionic-test on /dev/vdb  |.

So the question is really how to make juju aware of the images available in the openstack environment.

A solution might be to generate another openstack cloud and take the keystone address from the openstack/base deployment as the endpoint for the new cloud. But I still have to find a way to pass authentication information to the bootstrapping process. Any suggestions how to do this properly ?

You deploying K8s inside Openstack, or bare metal side by side to you Openstack

To use Juju to deploy machines on an OpenStack cloud, you need to tell it where to find metadata for the images available in the OpenStack cloud, which involves setting up a simplestreams service in OpenStack. The procedure for doing so is documented here: https://juju.is/docs/cloud-image-metadata

Let me know if you have any questions after trying that out.

Thanks for your response. I have already started what you suggest, as you can tell from my other post. Basically, I am trying to use the openstack deployment on the MaaS as a backend cloud to an openstack frontend cloud. That was the way I interpreted the cloud image metadata and the subsequent Using Openstack with Juju instructions. Correct me if I got that wrong. Unfortunately, the problem then becomes that when I proceed to bootstrapping the other controller on the openstack cloud with the keystone ip auth as endpoint, I get the error message:
ERROR cannot set config: cannot create a client: version part of identity url https://keystone_ip:5000/v3/auth not valid