Skip to content

Feature: vmware ​

Description ​

A platform feature that builds a Garden Linux image for VMware platforms. Artifacts are delivered as .vmdk and .ova files.

What it does ​

Installs cloud-init, open-vm-tools, and a custom VMware GuestInfo datasource for cloud-init, enabling instance metadata delivery via VMware GuestInfo variables. Platform-specific configuration includes:

  • Cloud-init: removes growpart, resizefs, and ntp modules; configures the VMware GuestInfo datasource; disables cloud-init network management on arm64 where Ignition configuration is incompatible.
  • Kernel command line: sets console and VMware-specific kernel parameters.
  • Ignition integration: includes the ignition-disable.service unit and Ignition kernel parameter (disabled on arm64).
  • Image conversion: convert.ova packages the .vmdk into an OVA archive using the vmware.ovf.template descriptor.

Files ​

Files present in this feature and their purpose. See the feature file reference for the semantics of each file type.

FilePurpose
convert.ova (ref)Packages the .vmdk disk image into an .ova archive using vmware.ovf.template and make-ova.
exec.config (ref)Strips growpart, resizefs, and ntp from cloud-init; removes Ignition config on arm64; marks libmspack0t64 as manually installed to prevent deborphan false positives.
file.include.markers.yaml (ref)Maps files to test-coverage marker IDs.
info.yaml (ref)Declares type: platform and included/excluded features.
make-ovaScript that assembles the .ova archive from the .vmdk and OVF descriptor.
pkg.include (ref)Installs cloud-init, open-vm-tools, dmidecode, and python3-cffi-backend.
vmware.ovf.templateOVF descriptor template used by make-ova when creating the .ova archive.
file.include/etc/cloud/cloud.cfg.d/01_debian-cloud.cfg (file.include)Debian-specific cloud-init configuration baseline.
file.include/etc/cloud/cloud.cfg.d/99_disable-network-config.cfg (file.include)Disables cloud-init network configuration management.
file.include/etc/cloud/cloud.cfg.d/99_enabled-datasources.cfg (file.include)Restricts cloud-init datasource detection to VMwareGuestInfo.
file.include/etc/kernel/cmdline.d/10-console.cfg (file.include)Sets the kernel console parameter for VMware serial consoles.
file.include/etc/kernel/cmdline.d/50-ignition.cfg (file.include)Enables Ignition-based first-boot configuration via kernel parameter.
file.include/etc/systemd/system/ignition-disable.service (file.include)Systemd service that disables the Ignition kernel parameter after first boot.
file.include/usr/bin/dscheck_VMwareGuestInfo (file.include)Helper script used by cloud-init ds-identify to detect the VMwareGuestInfo datasource.
file.include/usr/lib/python3/dist-packages/cloudinit/sources/DataSourceVMwareGuestInfo.py (file.include)Custom cloud-init datasource that reads instance metadata from VMware GuestInfo variables.

Includes:

  • cloud — provides common cloud-init integration and base cloud configuration.
  • _ignite — provides Ignition-based first-boot configuration support.

Further reading ​