First experience of using Metal as a Service (MAAS) from Ubuntu

After coming into a number of servers for Project Calico I needed some way to set them up and provision them. MAAS from Canonical seems like a good place to start so I had a play.

I had a number of issues along the way (detailed below) but ultimately I got where I needed to be.

I started off with an existing Ubuntu server and decided to just install the packages on there. After realising how out of date (and messy) that server was I scrapped that idea and decided to just to the MAAS install from an Ubuntu ISO. I just wanted this to work with minimal fuss so I went for the latest and greatest - Ubuntu 15.10. The installation went smoothly but I found it confusing to learn about MAAS from the docs

  • Region controller, clusters and cluster controllers - How does this fit in to the single server install I just did?
  • What are the stages that a "node" goes through? Where is that documented?

When trying to configure my interfaces, I hit this bug which was fixed in the latest RC. (LP: #1439476 - Internal Server Error when creating/editing cluster)

So I upgraded, got an interface configured and went to configure my DHCP server. I followed the docs and got a server to PXE boot. Success!! Or not... the server immediately failed not being able to find a file... Eventually I tracked this down to me missing the next-server parameter. It really should be mentioned in the docs at

Once I got servers actually booting I ran into endless problems during the cloud-init about not being able to find files or servers. I was seeing various different errors but generally it was timing out trying to connect to servers. I was at a bit of a loss. Changing my interface settings had some effect on the IPs that the nodes were trying to connect to but still didn't resolve the problem.

I got another VLAN set up and added another interface to my MAAS server. I allowed this interface to manage DHCP and DNS and tried again PXE booting servers. They booted, they got IP addresses on this new subnet but they were still failing with strange errors trying to connect odd IPs.

I was now many hours into the process and I felt tantalizingly close but I was struggling to debug the problems I was seeing. MAAS was just too magic and the documentation didn't give me enough detail to diagnose what was going on.

I decided to take a step back and start again. This time I started from a Ubuntu 14.04.3 ISO which took me back down to a 1.7.X release. The server I used had two interfaces - the "main" one on the main LAN and another interface on the my new VLAN. After doing the initial set up I was getting errors about not being able to contact my cluster. This was my prompt to actually find the logs (under /var/log/maas) and found that something was trying to use an old IP address. It would have been really useful to be able to get this detail from within the web UI but now I knew what was wrong I needed to work out out to fix it. After some googling I found that I needed to run

sudo dpkg-reconfigure maas-region-controller
sudo dpkg-reconfigure maas-cluster-controller

And that was enough to get things working. I still needed to spent some time getting power control working (some more guidance on this would be really nice too!).

MAAS seems like it's going to be a really useful tool. The initial set up was a challenge which would have been made much easier by a few simple docs improvements.

Summary of docs issues

  • Missing detail on manual DHCP config
  • General intro/orientation - different types of controller and node lifecycle.
  • IP configuration of servers - how to reconfigure IPs and how to tell if things aren't configured correctly.
  • Troubleshooting - Linked to orientation above. What is the full flow from start to end of getting a server set up and a node provisioned. What packets should flow from where to where (e.g. DHCP, TFTP, cloud-init+Metadata etc..) Where are the logs?
  • Overview of different power options - what to use when and how to configure.


Comments (0) Trackbacks (0)

No comments yet.

Leave a comment

No trackbacks yet.