I'm trying to deploy kubernetes-control-plane to kvm but it turns out to be difficult. I've used the following placement directive for kubernetes-control-plane in the bundle definition: to: - kvm:0 - kvm:1 - kvm:2 constraints: cores=60 mem=240G It failed to deploy, with the following message displayed for the machine: no obvious space for container "1/lxd/0", host machine has spaces: "stagnum", "undefined" MAAS shows following sppaces: stagnum untagged MAAS-provided fabric-0 192.168.3.0/24 16% No space untagged No DHCP fabric-1 192.168.122.0/24 100% I gather that "undefined" is "No space" one created for 192.168.122.0/24 likely coming from KVM/QEMU I tried changing the constraints to "cores=60 mem=240G spaces=stagnum" but now I'm getting the following deployment error: matching subnets to zones: cannot use space "alpha" as deployment target: no subnets $ juju spaces Name Space ID Subnets alpha 0 stagnum 1 192.168.3.0/24 undefined 2 192.168.122.0/24 $ juju show-space alpha space: id: "0" name: alpha subnets: [] applications: - calico - ceph-csi - ceph-fs - ceph-mon - ceph-osd - containerd - easyrsa - etcd - keepalived - kubeapi-load-balancer - kubernetes-control-plane machine-count: 0 Where did the "alpha" space come from? And why is kubernetes-control-plane assigned to it despite spaces=stagnum constraint? I didn't have to touch anything space-related until now... I went back and redeployed the cluster with unconfiened kubernetes-control-plane. Apparently all applications are assigned to "alpha" space also with this setup $ juju spaces Name Space ID Subnets alpha 0 stagnum 1 192.168.3.0/24 undefined 2 192.168.122.0/24 $ juju show-space alpha space: id: "0" name: alpha subnets: [] applications: - calico - ceph-fs - ceph-mon - ceph-osd - containerd - easyrsa - etcd - keepalived - kubeapi-load-balancer - kubernetes-control-plane machine-count: 0 $ juju show-space stagnum space: id: "1" name: stagnum subnets: - cidr: 192.168.3.0/24 provider-id: "1" vlan-tag: 0 applications: [] machine-count: 18 Despite that, all machines in the model are getting IPs in 192.168.3.0/24 block: Machine State Address Inst id Base AZ Message 0 started 192.168.3.51 stagnum1 ubuntu@22.04 default Deployed 0/lxd/0 started 192.168.3.49 juju-02d0c2-0-lxd-0 ubuntu@22.04 default Container started 0/lxd/1 started 192.168.3.64 juju-02d0c2-0-lxd-1 ubuntu@22.04 default Container started 0/lxd/2 started 192.168.3.27 juju-02d0c2-0-lxd-2 ubuntu@22.04 default Container started 0/lxd/3 started 192.168.3.39 juju-02d0c2-0-lxd-3 ubuntu@22.04 default Container started 0/lxd/4 started 192.168.3.37 juju-02d0c2-0-lxd-4 ubuntu@22.04 default Container started For the next test, I've destroyed the model, recreated it and ran `juju model-config default-space=stagnum` and redeployed the model with kvm placement for kubernetes control plane. $ juju show-space stagnum space: id: "1" name: stagnum subnets: - cidr: 192.168.3.0/24 provider-id: "1" vlan-tag: 0 applications: - calico - ceph-fs - ceph-mon - ceph-osd - containerd - easyrsa - etcd - keepalived - kubeapi-load-balancer - kubernetes-control-plane machine-count: 3 $ juju show-application kubernetes-control-plane kubernetes-control-plane: charm: kubernetes-control-plane base: ubuntu@22.04 channel: 1.28/stable constraints: arch: amd64 cores: 60 mem: 245760 principal: true exposed: false remote: false life: alive endpoint-bindings: "": stagnum aws: stagnum aws-iam: stagnum azure: stagnum ceph-client: stagnum ceph-storage: stagnum certificates: stagnum cni: stagnum container-runtime: stagnum coordinator: stagnum dns-provider: stagnum etcd: stagnum external-cloud-provider: stagnum gcp: stagnum grafana: stagnum ha: stagnum keystone-credentials: stagnum kube-api-endpoint: stagnum kube-control: stagnum kube-masters: stagnum loadbalancer: stagnum loadbalancer-external: stagnum loadbalancer-internal: stagnum nrpe-external-master: stagnum openstack: stagnum prometheus: stagnum vault-kv: stagnum vsphere: stagnum This looks better but despite of that, deployment fails: Machine State Address Inst id Base AZ Message 0 started 192.168.3.25 stagnum1 ubuntu@22.04 default Deployed 0/kvm/0 down pending ubuntu@22.04 no obvious space for container "0/kvm/0", host machine has spaces: "stagnum", "undefined" 0/lxd/0 down pending ubuntu@22.04 no obvious space for container "0/lxd/0", host machine has spaces: "stagnum", "undefined" How can I nudge it to use the the right network?