Provisioning ESXi with MAAS: An overview

by Andres Rodriguez on 12 August 2019

MAAS has supported provisioning ESXi starting from MAAS 2.5. However, MAAS 2.6 has expanded its support and provides new features that significantly improves the provisioning experience.

What is supported?

The support MAAS provides for provisioning an operating system varies depending on the operating system in use. Even though MAAS tries to support all its features on all operating systems, it is sometimes difficult for various technical reasons. In the case of ESXi we can only support what’s detailed below.

Networking

For networking, MAAS supports configuring for the following:

  • Name the interfaces with the same name in MAAS.
  • Interfaces will be configured based on the IP assignment mode in MAAS, namely:
    • DHCP
    • Auto assign
    • Static
  • MAAS also supports creating:
    • Aliases
    • VLAN interfaces
    • Bonds – MAAS maps bonds to NIC teaming as follows:
      • balance-rr – portid
      • active-backup – explicit
      • 802.3ad – MAAS ignores iphash, LACP rate and XMIT hash policy settings.
    • MTU – Allows modifying the MTU which is helpful when setting up jumbo frames.
  • Static routes

Storage

Storage support for ESXi allows for the selection of the root disk and the creation of datastore for physical disk. Other than this, MAAS cannot partitions the disk as it does with other Linux based operating systems.

Growing the default datastore

The MAAS ESXi image (as created by the Packer image generation scripts) is a DD image that comes with a partition table. MAAS will use the selected boot disk to copy the image to, during the deployment phase, and copy such image into the file system.

Once its copied, the only thing MAAS will do is to grow the size of the default datastore to occupy the whole disk. This is available starting from MAAS 2.5.

Creating new datastores

In MAAS 2.6, we expanded the storage support to allow the creation/modification of datastores. MAAS now allows deleting the default datastore, and/or creating/modifying new ones on other disks of the physical system.

This allows MAAS to better integrate and deploy VMWare’s ESXi reducing the need of having to perform post-installation configuration or customisation of the storage capabilities.

Post-installation customisation

As any other supported OS, MAAS allows the post-installation customisation of the operating system. Unlike the other supported OS’, which rely on cloud-init (cloudbase-init for Windows) for post-installation customisation, ESXi customisation can only be done with a Shell, Python or Perl scripts.

The customisation will continue to be available over ‘user_data’ when deploying ESXi over the API.

ESXi vCenter registration

MAAS now adds the ability to automatically register ESXi deployments into a vCenter. This is done in two ways: by baking the credentials into the images, or by providing the credentials to the machine via MAAS.

By baking the credentials inside the image, administrators can simply generate images that have special set of credentials that will be used to register to the vCenter provided host.

On the other hand, MAAS can now store vCenter Credentials (which should be scoped down to only have permissions to register new ESXi hosts). MAAS provides the machine with the credentials via the meta-data during the deployment process, and the hosts will use this to register themselves into the provided vCenter endpoint.

Related posts

MAAS Outside the Lines

Far from the humdrum of server setups, this is about unusual deployments – Raspberry Pis, loose laptops, cheap NUCs, home appliances, and more. What the heck is stormrider deploying this week? […]

Linux deployment tools: MAAS 3.1 for hot metal

Back a few months ago, we did a feature poll on our MAAS forum, and the most-requested new feature turned out to be “Recommission/rescan a machine after it has been deployed“. With the release of MAAS 3.1, we’ve added that feature, making MAAS an even better choice for linux deployment tools. Here’s a sample of […]

Announcing MAAS 3.1: bare metal cloud gets easier

We are happy to announce that MAAS 3.1 has been released. Bare metal provisioning just got even easier! MAAS 3.1 brings some of the most frequently-requested features into the product. A lot of this is serendipity — or maybe you could say that it’s about like minds tracking the same problem. Either way, we’re doing […]