Feature: openstack
Description
A platform feature that builds a Garden Linux image for OpenStack. Artifacts are delivered as .raw, .qcow2, and .vmdk files.
What it does
Assembles the OpenStack platform by composing the openstackCloud and openstackMetal elements, with server included to enforce correct feature ordering. The composition adapts automatically: if metal is present in the build, the platform builds as an OpenStack-on-metal image; otherwise it builds as a standard OpenStack cloud image.
Configures cloud-init for OpenStack:
- Cloud-init: removes
growpart,resizefs, andntpmodules (handled by the initramfs andsystemd-timesyncdrespectively). - Datasource: configures the OpenStack datasource for cloud-init.
- Platform variant: writes
GARDENLINUX_PLATFORM_VARIANTto/etc/os-release(vmwareormetal) for runtime platform detection. - Image conversion:
convert.qcow2andconvert.vmdkproduce the alternative image formats.
Files
Files present in this feature and their purpose. See the feature file reference for the semantics of each file type.
| File | Purpose |
|---|---|
convert.qcow2 (ref) | Converts the .raw artifact to a .qcow2 image for OpenStack Glance import. |
convert.vmdk (ref) | Converts the .raw artifact to a .vmdk image. |
exec.config (ref) | Strips growpart, resizefs, and ntp from cloud-init; writes GARDENLINUX_PLATFORM_VARIANT to /etc/os-release. |
file.include.markers.yaml (ref) | Maps files to test-coverage marker IDs. |
info.yaml (ref) | Declares type: platform and included/excluded features. |
pkg.include (ref) | Installs cloud-init, dmidecode, and python3-cffi-backend. |
file.include/etc/cloud/ds-identify.cfg (file.include) | Configures ds-identify to select the correct cloud-init datasource for OpenStack. |
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/50-datasource.cfg (file.include) | Restricts cloud-init datasource detection to OpenStack. |
Related features
Includes:
openstackCloud— provides OpenStack cloud-specific configuration (cloud-init, networking).openstackMetal— provides OpenStack on-metal configuration when combined with themetalelement.server— included to enforce correct feature sort order in the build.