MAAS 1.9: Taking bare-metal beyond “minimal provisioning”

Complex node configuration now fully supported, including NIC bonding, tagged VLANs, bcache, LVM, software RAID devices and more

One of the (only somewhat unsung) heroes in the MAAS user community is Ante Karamatić. Ante is the lead of a consulting team which does complex deployments for telecom cloud providers, and he’s also known for being the source of many requirements (and bug reports!) in MAAS. For two years Ante has been working to deploy OpenStack on top of MAAS, and from the very beginning he’s requested networking features that are standard for telco networks: bonding, VLANs, jumbo frames. And since storage is always a big part of a cloud deployment, volume management, SSD caching and RAID are also high on his list of customer requirements. Ante has been tracking these features in MAAS for quite some time, and today, with MAAS 1.9, we are fully delivering on the promise of addressing them.

So what’s new with MAAS 1.9? Well, up until release 1.7, MAAS deployed servers with solid, but minimal configuration: each node was left with the boot interface configured, and a single ext4 partition for the root filesystem; a separate boot filesystem was also configured for UEFI-based systems. This meant that any additional networking setup needed to be performed manually, and changing storage configuration was nearly impossible.

With today’s release of MAAS 1.9, nodes are now completely configurable, both through the Web interface and the API. Administrators can start from the main node list, pick any one in the Ready state, and configure it:

Maas.io

Each node in MAAS 1.9 now has two main configuration sections. The networking section displays the network interfaces that we detected in the commissioning phase, and allows merging interfaces into a bond, defining tagged VLANs, and setting a per-interface MTU:

Maas UI

Storage is similarly configurable. Nodes start with the drives detected during commissioning, which can then be combined into logical volumes using LVM and software raid, partitioned and formatted using ext4 or XFS — with ZFS coming soon in anticipation of its inclusion in 16.04 LTS:

Maas UI

In order to deliver these features, the MAAS Datacenter Model, used to record the architecture of a bare-metal deployment, has evolved significantly; Dimiter has just posted a great description of this architecture in his Introduction to OpenStack on MAAS 1.9. That post covers all the key concepts we’ve introduced and refined — Networks, Zones, VLANs, Fabrics, Subnets and Spaces. That may sound like a lot, and to some of us, it is. But for Ante and the clouds he is deploying, they are a standard part of telco networks, and a tremendous addition to MAAS.

Want to see for yourself? Pull MAAS 1.9 from the MAAS stable PPA today, or wait for it to land in the 14.04 LTS archive, later this quarter. And for the nitty gritty detail of what made it in, check out the full 1.9.0 Changelog. Enjoy!

About MAAS

Anyone who has used the public cloud knows that bare-metal has been stuck in the 1990s since… well, the 1990s. Manually deploying a new bare-metal server involves carefully setting up and executing an installation via network boot or a USB stick — or worse, a CD-ROM. MAAS was designed to make bare-metal server deployments completely automated, as if they were cloud-hosted VMs. MAAS provides a rich API and easy to use UI that takes servers from racked bare metal to fully deployed systems with any operating system — Windows, CentOS, RHEL, SUSE or Ubuntu — installed and fully configured. We’ll even set up your SSH keys and Powershell credentials. MAAS is free, open source and commercially supported by Canonical.

If you don’t know much about MAAS, visit maas.io and be blown away by just how simple, reliable (and cheap!) your bare-metal deployment tooling could be.

About the author

Kiko's photo

Christian "kiko" Reis is responsible for storage and bare metal automation at Canonical, overseeing engineering, product development and multiple customer projects. He has been with Canonical since the very beginning, and was deeply involved with the creation of Ubuntu and Launchpad.

Kiko was VP Engineering for Linaro from its inception through 2013, and during that stint learned more about ARM and embedded systems than he'd ever expect to.

Kiko has cycled from San Francisco to Panama City, run desert marathons with zero days of training, and raced the longest expedition race ever hosted in the Amazon. He's on vacation from all that at the moment, with his hands full — along with his amazing wife Mariana — raising two wonderful boys in the Brazilian countryside.

More articles by Kiko

Posted in: