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, andntpmodules; configures the VMware GuestInfo datasource; disables cloud-init network management onarm64where Ignition configuration is incompatible. - Kernel command line: sets console and VMware-specific kernel parameters.
- Ignition integration: includes the
ignition-disable.serviceunit and Ignition kernel parameter (disabled onarm64). - Image conversion:
convert.ovapackages the.vmdkinto an OVA archive using thevmware.ovf.templatedescriptor.
Files
Files present in this feature and their purpose. See the feature file reference for the semantics of each file type.
| File | Purpose |
|---|---|
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-ova | Script 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.template | OVF 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. |
Related features
Includes:
cloud— provides common cloud-init integration and base cloud configuration._ignite— provides Ignition-based first-boot configuration support.