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

View File

@ -8,9 +8,9 @@ All changes should be made via the PR workflow.
## 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`)
* Vagrant Cloud Edition (image type: `oem`, image profiles: `Vagrant-libvirt`/`Vagrant-VirtualBox`)
* Workstation Edition (image type: `iso`, image profiles: `Workstation-Live`)
## Image build quickstart

View File

@ -3,23 +3,26 @@
<profile name="CloudCore" description="Cloud spin core packages">
<requires profile="BootCore"/>
</profile>
<profile name="Cloud-Azure" description="Azure Guest Image">
<profile name="Cloud-Base-Azure" description="Azure Base Guest Image">
<requires profile="CloudCore"/>
</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"/>
</profile>
<profile name="Cloud-GCE" description="GCE Guest Image">
<profile name="Cloud-Base-GCE" description="GCE Base Guest Image">
<requires profile="CloudCore"/>
</profile>
<profile name="Cloud-OpenStack" description="OpenStack Guest Image">
<profile name="Cloud-Base-Generic" description="Generic Base Guest Image">
<requires profile="CloudCore"/>
</profile>
<profile name="Cloud-Oracle" description="Oracle Cloud Guest Image">
<requires profile="Cloud-OpenStack"/>
<profile name="Cloud-Base-OpenStack" description="OpenStack Base Guest Image">
<requires profile="Cloud-Base-Generic"/>
</profile>
<profile name="Cloud-Base-Oracle" description="Oracle Cloud Base Guest Image">
<requires profile="Cloud-Base-Generic"/>
</profile>
</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">
<bootloader name="grub2" console="serial" timeout="0"/>
<systemdisk>
@ -33,7 +36,7 @@
</oemconfig>
</type>
</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">
<bootloader name="grub2" timeout="0"/>
<size unit="G">5</size>
@ -47,7 +50,7 @@
</oemconfig>
</type>
</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">
<bootloader name="grub2" timeout="0"/>
<size unit="G">5</size>
@ -61,7 +64,7 @@
</oemconfig>
</type>
</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">
<bootloader name="grub2" timeout="0"/>
<size unit="G">5</size>
@ -87,18 +90,18 @@
<package name="python3-dnf-plugin-tracer"/>
<package name="glibc-langpack-en"/>
</packages>
<packages type="image" patternType="plusRecommended" profiles="Cloud-Azure">
<packages type="image" patternType="plusRecommended" profiles="Cloud-Base-Azure">
<package name="WALinuxAgent"/>
</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-oslogin"/>
<package name="google-guest-agent"/>
</packages>
<packages type="image" patternType="plusRecommended" profiles="Cloud-OpenStack">
<packages type="image" patternType="plusRecommended" profiles="Cloud-Base-Generic">
<package name="qemu-guest-agent"/>
</packages>
<packages type="uninstall" profiles="Cloud-GCE">
<packages type="uninstall" profiles="Cloud-Base-GCE">
<package name="cloud-init"/>
</packages>
</image>

View File

@ -3,14 +3,14 @@
<profile name="VagrantCore" description="Vagrant core packages">
<requires profile="CloudCore"/>
</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"/>
</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"/>
</profile>
</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">
<bootloader name="grub2" console="serial" timeout="1"/>
<size unit="G">5</size>
@ -25,7 +25,7 @@
</oemconfig>
</type>
</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">
<bootloader name="grub2" console="serial" timeout="1"/>
<size unit="G">5</size>
@ -52,10 +52,10 @@
<package name="gdisk"/>
<package name="glibc-langpack-en"/>
</packages>
<packages type="image" patternType="plusRecommended" profiles="Vagrant-libvirt">
<packages type="image" patternType="plusRecommended" profiles="Cloud-Base-Vagrant-libvirt">
<package name="qemu-guest-agent"/>
</packages>
<packages type="image" patternType="plusRecommended" profiles="Vagrant-VirtualBox">
<packages type="image" patternType="plusRecommended" profiles="Cloud-Base-Vagrant-VirtualBox">
<package name="virtualbox-guest-additions"/>
</packages>
<packages type="uninstall" profiles="VagrantCore">

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

View File

@ -1,8 +1,8 @@
summary: Build OpenStack image
summary: Build AWS EC2 base image
discover:
how: fmf
environment:
image_type: oem
image_profile: Cloud-OpenStack
image_profile: Cloud-Base-AmazonEC2
execute:
how: tmt

View File

@ -1,8 +1,8 @@
summary: Build Azure image
summary: Build Azure base image
discover:
how: fmf
environment:
image_type: oem
image_profile: Cloud-Azure
image_profile: Cloud-Base-Azure
execute:
how: tmt

View File

@ -1,8 +1,8 @@
summary: Build GCP image
summary: Build GCP base image
discover:
how: fmf
environment:
image_type: oem
image_profile: Cloud-GCE
image_profile: Cloud-Base-GCE
execute:
how: tmt

View File

@ -1,8 +1,8 @@
summary: Build AWS EC2 image
summary: Build Generic base image
discover:
how: fmf
environment:
image_type: oem
image_profile: Cloud-AmazonEC2
image_profile: Cloud-Base-Generic
execute:
how: tmt

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

View File

@ -1,4 +1,4 @@
summary: Build Vagrant image for VirtualBox
summary: Build base Vagrant image for VirtualBox
discover:
how: fmf
adjust:
@ -6,6 +6,6 @@ adjust:
when: arch != x86_64
environment:
image_type: oem
image_profile: Vagrant-VirtualBox
image_profile: Cloud-Base-Vagrant-VirtualBox
execute:
how: tmt