I’m trying a HomeLab experiment creating a bar metal MaaS cloud to be controlled by Juju. The next goal would be a Kubernetes cluster on the MaaS Cloud.
Lots of demos and tutorials using virtual fake bare metal machines but I am using real machines. HP-EliteDesk and HP-ProDesk mini machines.
The intention of the five machines is to have one controller node for MaaS and Juju controllers and a four node MaaS cloud.
I installed MaaS on my controller node and tinkered with commissioning and deploying to the four machines. Pretty cool.
I then went to install Juju and creating a MaaS network.
When I did, it seems like Juju is claiming one of my four nodes for some reason leaving only three remaining for deployment.
Anyone know why Juju is claiming one node when I create a MaaS Cloud?
Here is my MAAS cluster after only commissioning four nodes.
I am now going to retry and I will capture my commands and outputs…
ubuntu@juju-a:~$ sudo snap install juju
juju (3/stable) 3.5.3 from Canonical✓ installed
ubuntu@juju-a:~$ juju clouds
Since Juju 3 is being run for the first time, it has downloaded the latest public cloud information.
Only clouds with registered credentials are shown.
There are more clouds, use --all to see them.
You can bootstrap a new controller using one of these clouds...
Clouds available on the client:
Cloud Regions Default Type Credentials Source Description
localhost 1 localhost lxd 0 built-in LXD Container Hypervisor
ubuntu@juju-a:~$ juju add-cloud
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 a name for your maas cloud: home_maas
Enter the API endpoint url: http://192.168.0.1:5240/MAAS
Cloud "home_maas" successfully added to your local client.
You will need to add a credential for this cloud (`juju add-credential home_maas`)
before you can use it to bootstrap a controller (`juju bootstrap home_maas`) or
to create a model (`juju add-model <your model name> home_maas`).
ubuntu@juju-a:~$ juju add-credential home_maas
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: home_maas_admin
Regions
default
Select region [any region, credential is not region specific]:
Using auth-type "oauth1".
Enter maas-oauth:
Credential "home_maas_admin" added locally for cloud "home_maas".
ubuntu@juju-a:~$ juju bootstrap home_maas maas-controller --credential home_maas_admin
Creating Juju controller "maas-controller" on home_maas/default
Looking for packaged Juju agent version 3.5.3 for amd64
Located Juju agent version 3.5.3-ubuntu-amd64 at https://streams.canonical.com/juju/tools/agent/3.5.3/juju-3.5.3-linux-amd64.tgz
Launching controller instance(s) on home_maas/default...
- ec4d68 (arch=amd64 mem=15.8G cores=8)
Installing Juju agent on bootstrap instance
and after the bootstrap completes,
Waiting for address
Attempting to connect to 192.168.1.95:22
Attempting to connect to fd53:8e7b:2095:1061:ead8:d1ff:fe4d:33d2:22
Connected to 192.168.1.95
Running machine configuration script...
Bootstrap agent now started
Contacting Juju controller at 192.168.1.95 to verify accessibility...
Bootstrap complete, controller "maas-controller" is now available
Controller machines are in the "controller" model
Now you can run
juju add-model <model-name>
to create a new model to deploy workloads.
ubuntu@juju-a:~$
and one node is consumed.