Failed to Bootstrap - maas

Hi, I am new to this, trying to learn and understand where I am going wrong.
This is my setup:
Single host server (Xeon E5-4640 v3)
Installed and running: MAAS, KVM, LXD
Networking: Host has static internal IP (192.168.1.101) with a bridge (br0). In KVM (virt-manager) I have a nat network setup (without DHCP), vribr0.
In MAAS, I have fabric-0 network (192.168.100.0/24) DHCP enabled, and fabric-2 (192.168.1.0/24).
I use the below iptables for forwarding:

sudo sysctl -w net.ipv4.ip_forward=1
sudo sudo iptables -A FORWARD -i virbr0 -o br0 -j ACCEPT
sudo iptables -A FORWARD -i br0 -o virbr0 -m state --state ESTABLISHED,RELATED -j ACCEPT
sudo iptables -t nat -A POSTROUTING -o br0 -j MASQUERADE

At this stage I am able to provision new LXD VM’s which use the fabric-0(DHCP), ubuntu gets installed and is all accessible, etc.

Now to the bit I am stuck on…
I am trying to install and setup juju, but get stuck on bootstraping bit.
Juju is installed (2.9.8-ubuntu-amd64) on the host (same as MAAS, KVM and LXD).
THis is what i have so far…

kevin@kvm2:~$ juju add-cloud mymaas
This operation can be applied to both a copy on this client and to the one on a controller.
No current controller was detected and there are no registered controllers on this client: either bootstrap one or register one.
Cloud Types
  lxd
  maas
  manual
  openstack
  vsphere

Select cloud type: maas
Enter the API endpoint url: http://192.168.1.101:5240/MAAS/
Cloud "mymaas" successfully added to your local client.
You will need to add a credential for this cloud (`juju add-credential mymaas`)
before you can use it to bootstrap a controller (`juju bootstrap mymaas`) or
to create a model (`juju add-model <your model name> mymaas`).

kevin@kvm2:~$ juju add-credential kvm2
This operation can be applied to both a copy on this client and to the one on a controller.
No current controller was detected and there are no registered controllers on this client: either bootstrap one or register one.
Enter credential name: admin
A credential "admin" already exists locally on this client.
Replace local credential? (y/N): y
Regions
  default
Select region [any region, credential is not region specific]: 
Using auth-type "oauth1".
Enter maas-oauth: 
Credential "admin" updated locally for cloud "kvm2".

I then created an LXD VM (called juju), and tagged it with ‘juju’, ubuntu 20.04 installed, ip assigned, ready and accessible. 4GB Ram, 2CPU’s.

I then run:

kevin@kvm2:~$ juju bootstrap --bootstrap-series=focal --constraints tags=juju kvm2 maas-controller
Creating Juju controller "maas-controller" on kvm2/default
Looking for packaged Juju agent version 2.9.8 for amd64
Located Juju agent version 2.9.8-ubuntu-amd64 at https://streams.canonical.com/juju/tools/agent/2.9.8/juju-2.9.8-ubuntu-amd64.tgz
Launching controller instance(s) on kvm2/default...
ERROR failed to bootstrap model: cannot start bootstrap instance in availability zone "default": failed to acquire node: No available machine matches constraints: [('agent_name', ['51a007ad-4967-4718-8040-f0c4b5258a1b']), ('mem', ['3584']), ('tags', ['juju']), ('zone', ['default'])] (resolved to "mem=3584.0 tags=juju zone=default")

As you can see, I get an error, but dont understand why.
This is all very new to me, so most likely it’s something I am doing very worng, but not understanding the process.
If someone could assist please, would be very grateful.

Kind regards.

Can you please run the bootstrap command with the --debug flag and paste the output?

juju bootstrap --debug --bootstrap-series=focal --constraints tags=juju kvm2 maas-controller

Also, can you try also adding a KVM host and provisioning a machine with the same specs/tags and check if the bootstrap proceeds?