Skip to content

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, and ntp modules (handled by the initramfs and systemd-timesyncd respectively).
  • Datasource: configures the OpenStack datasource for cloud-init.
  • Platform variant: writes GARDENLINUX_PLATFORM_VARIANT to /etc/os-release (vmware or metal) for runtime platform detection.
  • Image conversion: convert.qcow2 and convert.vmdk produce 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.

FilePurpose
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.

Includes:

  • openstackCloud — provides OpenStack cloud-specific configuration (cloud-init, networking).
  • openstackMetal — provides OpenStack on-metal configuration when combined with the metal element.
  • server — included to enforce correct feature sort order in the build.

Further reading ​