Andres Rodriguez
on 12 August 2019
Provisioning ESXi with MAAS: An overview
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.