Skip to main content

Bring your own OS (BYOOS)

Versions Supported​

Reference Custom Image​

Different infrastructure providers have different ways of referencing custom images. The following table provides examples of how to reference custom images for different infrastructure providers.

ProviderExample Image IDosImageOverride ValueNotes
AWSami-0f4804aff4cf9c5a2ami-0f4804aff4cf9c5a2Ensure the AMI is available in the same region as the workload cluster.
Azurehttps://docs.blob.core.windows.net/vhds/ubuntu20-1243.vhdhttps://docs.blob.core.windows.net/vhds/ubuntu20-1243.vhdYou must reference the Azure blob URL of a Virtual Hard Disk (VHD). Image Gallery ID reference is not supported.
Vmware vSpherer_u-2004-0-k-1243-0-new.ovapath/to/template/r_u-2004-0-k-1243-0-new.ovaPoint to the path to where the custom template is located. Palette and VerteX expect OVAs to have the r_u- prefix.
Vmware vSphererhel-8-kube-v1.27.11path/to/template/rhel-8-kube-v1.27.11Point to the path to where the custom template is located.
MAASrhel-9-kube-v1.30.6rhel-9-kube-v1.30.6Reference an existing image in MAAS by name. You must also set osName and osVersion. Refer to MAAS BYOOS Configuration below.
MAAShttps://example.com/rhel-9-kube-v1.30.6.tar.gzhttps://example.com/rhel-9-kube-v1.30.6.tar.gzPalette downloads the image from the HTTP(S) URL and imports it into MAAS. You must also set osName and osVersion. Refer to MAAS BYOOS Configuration below.

Image creation tools are available to help you create custom OS images for the infrastructure provider you are using. The following is a list of commonly used tools for creating a custom OS:

MAAS BYOOS Configuration​

The BYOOS pack for MAAS clusters supports non-Ubuntu operating systems, such as Red Hat Enterprise Linux (RHEL), Rocky Linux, and SUSE Linux Enterprise Server (SLES), in addition to Ubuntu.

warning

BYOOS on MAAS requires setup on the MAAS server before you deploy a cluster. Place the appropriate curtin_userdata_preseed files for the target OS on the MAAS server so that machine deployment completes successfully. Refer to this troubleshooting guide for more information.

Configure the following BYOOS pack fields for MAAS:

FieldDescription
osImageOverrideReference the custom image as an HTTP(S) URL that Palette downloads and imports into MAAS, or as the name of an existing image in MAAS.
osNameThe OS name that MAAS uses to identify the image. Examples include ubuntu, rhel, rocky, and sles.
osVersionThe OS version. For non-Ubuntu operating systems, use the numeric version, such as 9.4 or 8. For Ubuntu, use the Ubuntu release codename instead of the numeric version — jammy for 22.04 or noble for 24.04.

Palette derives the MAAS boot resource name as <osName>/<image-name> and the base_image as <osName>/<osVersion>. MAAS uses the OS prefix in the boot resource name to recognize the operating system.

For backward compatibility, if Palette does not find an image with the derived prefix in MAAS, it reuses an existing unprefixed image with the same name. If Palette cannot locate a matching image and no URL is provided for osImageOverride, cluster provisioning fails and the MAAS validation message is displayed in the cluster events.

info

When osImageOverride is an HTTP(S) URL for an Ubuntu BYOOS pack, MAAS places the imported image under the Other/Custom folder instead of the Ubuntu OS family folder.

This capability is available on Palette and VerteX, including airgap deployments.

Terraform​

You can retrieve details about the BYOOS pack by using the following Terraform code.

data "spectrocloud_registry" "public_registry" {
name = "Public Repo"
}

data "spectrocloud_pack_simple" "byoos" {
name = "generic-byoi"
version = "1.0.0"
type = "helm"
registry_uid = data.spectrocloud_registry.public_registry.id
}