platforms, tmt: Rename and restructure cloud variants

We now have more than one cloud system that is essentially a KVM
environment that uses cloud-init to boot, so now we declare that
"generic" and have the OpenStack and Oracle images reuse those
definitions.

Also, in preparation for layered cloud image variants, rename
them from "Cloud-" to "Cloud-Base-". Vagrant variants are
similarly prefixed to make it clear who provides them.

Finally, restructure the layout of the tmt plans to match the
description structure.
This commit is contained in:
Neal Gompa
2023-12-21 09:04:37 -05:00
parent f9b944d050
commit e6896b13c2
10 changed files with 43 additions and 40 deletions
+2 -2
View File
@@ -8,9 +8,9 @@ All changes should be made via the PR workflow.
## Image variants ## Image variants
* Cloud Edition (image type: `oem`, image profiles: `Cloud-OpenStack`/`Cloud-AmazonEC2`/`Cloud-Azure`/`Cloud-GCE`/`Cloud-Oracle`) * Base Cloud Edition for clouds (image type: `oem`, image profiles: `Cloud-Base-Generic`/`Cloud-Base-AmazonEC2`/`Cloud-Base-Azure`/`Cloud-Base-GCE`)
* Base Cloud Edition for Vagrant (image type: `oem`, image profiles: `Cloud-Base-Vagrant-libvirt`/`Cloud-Base-Vagrant-VirtualBox`)
* KDE Spin (image type: `iso`, image profiles: `KDE-Live`) * KDE Spin (image type: `iso`, image profiles: `KDE-Live`)
* Vagrant Cloud Edition (image type: `oem`, image profiles: `Vagrant-libvirt`/`Vagrant-VirtualBox`)
* Workstation Edition (image type: `iso`, image profiles: `Workstation-Live`) * Workstation Edition (image type: `iso`, image profiles: `Workstation-Live`)
## Image build quickstart ## Image build quickstart
+17 -14
View File
@@ -3,23 +3,26 @@
<profile name="CloudCore" description="Cloud spin core packages"> <profile name="CloudCore" description="Cloud spin core packages">
<requires profile="BootCore"/> <requires profile="BootCore"/>
</profile> </profile>
<profile name="Cloud-Azure" description="Azure Guest Image"> <profile name="Cloud-Base-Azure" description="Azure Base Guest Image">
<requires profile="CloudCore"/> <requires profile="CloudCore"/>
</profile> </profile>
<profile name="Cloud-AmazonEC2" description="Amazon EC2 HVM Guest Image"> <profile name="Cloud-Base-AmazonEC2" description="Amazon EC2 HVM Base Guest Image">
<requires profile="CloudCore"/> <requires profile="CloudCore"/>
</profile> </profile>
<profile name="Cloud-GCE" description="GCE Guest Image"> <profile name="Cloud-Base-GCE" description="GCE Base Guest Image">
<requires profile="CloudCore"/> <requires profile="CloudCore"/>
</profile> </profile>
<profile name="Cloud-OpenStack" description="OpenStack Guest Image"> <profile name="Cloud-Base-Generic" description="Generic Base Guest Image">
<requires profile="CloudCore"/> <requires profile="CloudCore"/>
</profile> </profile>
<profile name="Cloud-Oracle" description="Oracle Cloud Guest Image"> <profile name="Cloud-Base-OpenStack" description="OpenStack Base Guest Image">
<requires profile="Cloud-OpenStack"/> <requires profile="Cloud-Base-Generic"/>
</profile>
<profile name="Cloud-Base-Oracle" description="Oracle Cloud Base Guest Image">
<requires profile="Cloud-Base-Generic"/>
</profile> </profile>
</profiles> </profiles>
<preferences profiles="Cloud-Azure"> <preferences profiles="Cloud-Base-Azure">
<type image="oem" filesystem="btrfs" kernelcmdline="no_timer_check net.ifnames=0 console=tty1 console=ttyS0,115200n8" devicepersistency="by-uuid" formatoptions="force_size" format="vhd-fixed" bootpartition="true" bootpartsize="1000" bootfilesystem="ext4" efipartsize="100" firmware="uefi" fsmountoptions="compress=zstd:1" btrfs_root_is_subvolume="true" btrfs_set_default_volume="false" rootfs_label="fedora"> <type image="oem" filesystem="btrfs" kernelcmdline="no_timer_check net.ifnames=0 console=tty1 console=ttyS0,115200n8" devicepersistency="by-uuid" formatoptions="force_size" format="vhd-fixed" bootpartition="true" bootpartsize="1000" bootfilesystem="ext4" efipartsize="100" firmware="uefi" fsmountoptions="compress=zstd:1" btrfs_root_is_subvolume="true" btrfs_set_default_volume="false" rootfs_label="fedora">
<bootloader name="grub2" console="serial" timeout="0"/> <bootloader name="grub2" console="serial" timeout="0"/>
<systemdisk> <systemdisk>
@@ -33,7 +36,7 @@
</oemconfig> </oemconfig>
</type> </type>
</preferences> </preferences>
<preferences profiles="Cloud-AmazonEC2"> <preferences profiles="Cloud-Base-AmazonEC2">
<type image="oem" filesystem="btrfs" kernelcmdline="no_timer_check net.ifnames=0 console=tty1 console=ttyS0,115200n8" devicepersistency="by-uuid" bootpartition="true" bootpartsize="1000" bootfilesystem="ext4" efipartsize="100" firmware="uefi" fsmountoptions="compress=zstd:1" btrfs_root_is_subvolume="true" btrfs_set_default_volume="false" rootfs_label="fedora"> <type image="oem" filesystem="btrfs" kernelcmdline="no_timer_check net.ifnames=0 console=tty1 console=ttyS0,115200n8" devicepersistency="by-uuid" bootpartition="true" bootpartsize="1000" bootfilesystem="ext4" efipartsize="100" firmware="uefi" fsmountoptions="compress=zstd:1" btrfs_root_is_subvolume="true" btrfs_set_default_volume="false" rootfs_label="fedora">
<bootloader name="grub2" timeout="0"/> <bootloader name="grub2" timeout="0"/>
<size unit="G">5</size> <size unit="G">5</size>
@@ -47,7 +50,7 @@
</oemconfig> </oemconfig>
</type> </type>
</preferences> </preferences>
<preferences profiles="Cloud-GCE"> <preferences profiles="Cloud-Base-GCE">
<type image="oem" filesystem="btrfs" kernelcmdline="no_timer_check net.ifnames=0 console=ttyS0,38400n8d" devicepersistency="by-uuid" bootpartition="true" bootpartsize="1000" bootfilesystem="ext4" efipartsize="100" format="gce" firmware="uefi" fsmountoptions="compress=zstd:1" btrfs_root_is_subvolume="true" btrfs_set_default_volume="false" rootfs_label="fedora"> <type image="oem" filesystem="btrfs" kernelcmdline="no_timer_check net.ifnames=0 console=ttyS0,38400n8d" devicepersistency="by-uuid" bootpartition="true" bootpartsize="1000" bootfilesystem="ext4" efipartsize="100" format="gce" firmware="uefi" fsmountoptions="compress=zstd:1" btrfs_root_is_subvolume="true" btrfs_set_default_volume="false" rootfs_label="fedora">
<bootloader name="grub2" timeout="0"/> <bootloader name="grub2" timeout="0"/>
<size unit="G">5</size> <size unit="G">5</size>
@@ -61,7 +64,7 @@
</oemconfig> </oemconfig>
</type> </type>
</preferences> </preferences>
<preferences profiles="Cloud-OpenStack"> <preferences profiles="Cloud-Base-Generic">
<type image="oem" filesystem="btrfs" kernelcmdline="no_timer_check net.ifnames=0 console=tty1 console=ttyS0,115200n8" devicepersistency="by-uuid" bootpartition="true" bootpartsize="1000" bootfilesystem="ext4" efipartsize="100" firmware="uefi" format="qcow2" fsmountoptions="compress=zstd:1" btrfs_root_is_subvolume="true" btrfs_set_default_volume="false" rootfs_label="fedora"> <type image="oem" filesystem="btrfs" kernelcmdline="no_timer_check net.ifnames=0 console=tty1 console=ttyS0,115200n8" devicepersistency="by-uuid" bootpartition="true" bootpartsize="1000" bootfilesystem="ext4" efipartsize="100" firmware="uefi" format="qcow2" fsmountoptions="compress=zstd:1" btrfs_root_is_subvolume="true" btrfs_set_default_volume="false" rootfs_label="fedora">
<bootloader name="grub2" timeout="0"/> <bootloader name="grub2" timeout="0"/>
<size unit="G">5</size> <size unit="G">5</size>
@@ -87,18 +90,18 @@
<package name="python3-dnf-plugin-tracer"/> <package name="python3-dnf-plugin-tracer"/>
<package name="glibc-langpack-en"/> <package name="glibc-langpack-en"/>
</packages> </packages>
<packages type="image" patternType="plusRecommended" profiles="Cloud-Azure"> <packages type="image" patternType="plusRecommended" profiles="Cloud-Base-Azure">
<package name="WALinuxAgent"/> <package name="WALinuxAgent"/>
</packages> </packages>
<packages type="image" patternType="plusRecommended" profiles="Cloud-GCE"> <packages type="image" patternType="plusRecommended" profiles="Cloud-Base-GCE">
<package name="google-compute-engine-guest-configs"/> <package name="google-compute-engine-guest-configs"/>
<package name="google-compute-engine-oslogin"/> <package name="google-compute-engine-oslogin"/>
<package name="google-guest-agent"/> <package name="google-guest-agent"/>
</packages> </packages>
<packages type="image" patternType="plusRecommended" profiles="Cloud-OpenStack"> <packages type="image" patternType="plusRecommended" profiles="Cloud-Base-Generic">
<package name="qemu-guest-agent"/> <package name="qemu-guest-agent"/>
</packages> </packages>
<packages type="uninstall" profiles="Cloud-GCE"> <packages type="uninstall" profiles="Cloud-Base-GCE">
<package name="cloud-init"/> <package name="cloud-init"/>
</packages> </packages>
</image> </image>
+6 -6
View File
@@ -3,14 +3,14 @@
<profile name="VagrantCore" description="Vagrant core packages"> <profile name="VagrantCore" description="Vagrant core packages">
<requires profile="CloudCore"/> <requires profile="CloudCore"/>
</profile> </profile>
<profile name="Vagrant-libvirt" description="Vagrant guest image for libvirt"> <profile name="Cloud-Base-Vagrant-libvirt" description="Vagrant Base guest image for libvirt">
<requires profile="VagrantCore"/> <requires profile="VagrantCore"/>
</profile> </profile>
<profile name="Vagrant-VirtualBox" description="Vagrant guest image for VirtualBox"> <profile name="Cloud-Base-Vagrant-VirtualBox" description="Vagrant Base guest image for VirtualBox">
<requires profile="VagrantCore"/> <requires profile="VagrantCore"/>
</profile> </profile>
</profiles> </profiles>
<preferences profiles="Vagrant-libvirt"> <preferences profiles="Cloud-Base-Vagrant-libvirt">
<type image="oem" filesystem="btrfs" kernelcmdline="no_timer_check console=tty1 console=ttyS0,115200n8 net.ifnames=0 biosdevname=0" devicepersistency="by-uuid" bootpartition="true" bootpartsize="1000" bootfilesystem="ext4" efipartsize="100" firmware="uefi" format="vagrant" fsmountoptions="compress=zstd:1" btrfs_root_is_subvolume="true" btrfs_set_default_volume="false" rootfs_label="fedora"> <type image="oem" filesystem="btrfs" kernelcmdline="no_timer_check console=tty1 console=ttyS0,115200n8 net.ifnames=0 biosdevname=0" devicepersistency="by-uuid" bootpartition="true" bootpartsize="1000" bootfilesystem="ext4" efipartsize="100" firmware="uefi" format="vagrant" fsmountoptions="compress=zstd:1" btrfs_root_is_subvolume="true" btrfs_set_default_volume="false" rootfs_label="fedora">
<bootloader name="grub2" console="serial" timeout="1"/> <bootloader name="grub2" console="serial" timeout="1"/>
<size unit="G">5</size> <size unit="G">5</size>
@@ -25,7 +25,7 @@
</oemconfig> </oemconfig>
</type> </type>
</preferences> </preferences>
<preferences profiles="Vagrant-VirtualBox"> <preferences profiles="Cloud-Base-Vagrant-VirtualBox">
<type image="oem" filesystem="btrfs" kernelcmdline="no_timer_check console=tty1 console=ttyS0,115200n8 net.ifnames=0 biosdevname=0" devicepersistency="by-uuid" bootpartition="true" bootpartsize="1000" bootfilesystem="ext4" efipartsize="100" firmware="uefi" format="vagrant" fsmountoptions="compress=zstd:1" btrfs_root_is_subvolume="true" btrfs_set_default_volume="false" rootfs_label="fedora"> <type image="oem" filesystem="btrfs" kernelcmdline="no_timer_check console=tty1 console=ttyS0,115200n8 net.ifnames=0 biosdevname=0" devicepersistency="by-uuid" bootpartition="true" bootpartsize="1000" bootfilesystem="ext4" efipartsize="100" firmware="uefi" format="vagrant" fsmountoptions="compress=zstd:1" btrfs_root_is_subvolume="true" btrfs_set_default_volume="false" rootfs_label="fedora">
<bootloader name="grub2" console="serial" timeout="1"/> <bootloader name="grub2" console="serial" timeout="1"/>
<size unit="G">5</size> <size unit="G">5</size>
@@ -52,10 +52,10 @@
<package name="gdisk"/> <package name="gdisk"/>
<package name="glibc-langpack-en"/> <package name="glibc-langpack-en"/>
</packages> </packages>
<packages type="image" patternType="plusRecommended" profiles="Vagrant-libvirt"> <packages type="image" patternType="plusRecommended" profiles="Cloud-Base-Vagrant-libvirt">
<package name="qemu-guest-agent"/> <package name="qemu-guest-agent"/>
</packages> </packages>
<packages type="image" patternType="plusRecommended" profiles="Vagrant-VirtualBox"> <packages type="image" patternType="plusRecommended" profiles="Cloud-Base-Vagrant-VirtualBox">
<package name="virtualbox-guest-additions"/> <package name="virtualbox-guest-additions"/>
</packages> </packages>
<packages type="uninstall" profiles="VagrantCore"> <packages type="uninstall" profiles="VagrantCore">
-8
View File
@@ -1,8 +0,0 @@
summary: Build Vagrant image for libvirt
discover:
how: fmf
environment:
image_type: oem
image_profile: Vagrant-libvirt
execute:
how: tmt
@@ -1,8 +1,8 @@
summary: Build OpenStack image summary: Build AWS EC2 base image
discover: discover:
how: fmf how: fmf
environment: environment:
image_type: oem image_type: oem
image_profile: Cloud-OpenStack image_profile: Cloud-Base-AmazonEC2
execute: execute:
how: tmt how: tmt
@@ -1,8 +1,8 @@
summary: Build Azure image summary: Build Azure base image
discover: discover:
how: fmf how: fmf
environment: environment:
image_type: oem image_type: oem
image_profile: Cloud-Azure image_profile: Cloud-Base-Azure
execute: execute:
how: tmt how: tmt
@@ -1,8 +1,8 @@
summary: Build GCP image summary: Build GCP base image
discover: discover:
how: fmf how: fmf
environment: environment:
image_type: oem image_type: oem
image_profile: Cloud-GCE image_profile: Cloud-Base-GCE
execute: execute:
how: tmt how: tmt
@@ -1,8 +1,8 @@
summary: Build AWS EC2 image summary: Build Generic base image
discover: discover:
how: fmf how: fmf
environment: environment:
image_type: oem image_type: oem
image_profile: Cloud-AmazonEC2 image_profile: Cloud-Base-Generic
execute: execute:
how: tmt how: tmt
+8
View File
@@ -0,0 +1,8 @@
summary: Build base Vagrant image for libvirt
discover:
how: fmf
environment:
image_type: oem
image_profile: Cloud-Base-Vagrant-libvirt
execute:
how: tmt
@@ -1,4 +1,4 @@
summary: Build Vagrant image for VirtualBox summary: Build base Vagrant image for VirtualBox
discover: discover:
how: fmf how: fmf
adjust: adjust:
@@ -6,6 +6,6 @@ adjust:
when: arch != x86_64 when: arch != x86_64
environment: environment:
image_type: oem image_type: oem
image_profile: Vagrant-VirtualBox image_profile: Cloud-Base-Vagrant-VirtualBox
execute: execute:
how: tmt how: tmt