How to integrate VMware images

Deploying VMware ESXi with MAAS 2.5+

Errors or typos? Topics missing? Hard to read? Let us know!

To deploy VMware ESXi through MAAS, you’ll need to create a specialised image using an official VMware ISO. Canonical offers a GitHub repository^’ of community-contributed packer^ templates to automate this process.

Note: VMware does not support cloning boot devices^. This may lead to issues^ like data corruption on VMFS datastores with cloned boot devices.

Prerequisites

To create and deploy a VMware image, you’ll need:

  • MAAS 2.5.0+
  • A machine running Ubuntu 18.04+
  • CPU: 4 cores at 2GHz
  • Memory: 8GB RAM (16GB recommended)
  • Disk space: 11GB
  • VMware ESXi ISO^
  • Packer^
  • Tested with Packer 1.3.4 64-bit Linux binaries
  • Packer template for MAAS^ custom image

Features and limits

Cloning VMware images

As previously mentioned, VMware does not support cloning boot devices^. This limitation may cause data corruption issues on VMFS datastores.

VMware + MAAS networks

  • ESXi doesn’t support Linux bridges.
  • Supported bond modes are mapped as follows:
    • balance-rr to portid
    • active-backup to explicit
    • 802.3ad to iphash
  • No other bond modes are currently supported.
  • A PortGroup with a VMK attached cannot be used for VMs.

VMware + MAAS storage

Custom storage configurations are unsupported; MAAS will extend datastore1 to the full size of the deployment disk.

ESXi H/W support

VMware has specific hardware requirements^. Running ESXi in a virtual machine or MAAS virsh Pod is not supported.

Customising images

Modify the packer-maas/vmware-esxi/http/vmware-esxi-ks.cfg file to customise the image.

Building an image

Load the nbd kernel module:

sudo modprobe nbd

Navigate to the appropriate directory:

cd /path/to/packer-maas/vmware-esxi

Build the image:

sudo packer build -var 'vmware_esxi_iso_path=/path/to/VMware-VMvisor-Installer-6.7.0-8169922.x86_64.iso' vmware-esxi.json

Uploading an image

To upload the image to MAAS, use:

maas $PROFILE boot-resources create name='esxi/6.7' title='VMware ESXi 6.7' architecture='amd64/generic' filetype='ddgz' content@=vmware-esxi.dd.gz

Last updated a month ago.