aboutsummaryrefslogtreecommitdiff
diff options
from:
to:
context:
space:
mode:
authorGravatar Neal Gompa <ngompa@fedoraproject.org> 2024-10-17 17:17:06 -0400
committerGravatar ngompa <ngompa13@gmail.com> 2024-11-13 18:30:06 +0000
commit400c842f0a85a87d767f736f153d607d07cf1311 (patch)
treedf6fb4e75c67f5ae7ea4fe071d52fc52633691c7
parentc50ee8707d282167f826215745ffdc6b50601526 (diff)
downloadkiwi-descriptions-400c842f0a85a87d767f736f153d607d07cf1311.tar.gz
kiwi-descriptions-400c842f0a85a87d767f736f153d607d07cf1311.zip
Add Fedora Server generic guest and host image descriptions
This is loosely based on the Server kickstart and ELN descriptions. This covers both the disk image for running on ARM hardware as well as the VM image for running on various hypervisor platforms.
-rw-r--r--Fedora.kiwi1
-rw-r--r--VARIANTS.md2
-rwxr-xr-xconfig.sh7
-rw-r--r--teams/server.xml152
-rw-r--r--tmt/plans/server/guest/build-generic.fmf9
-rw-r--r--tmt/plans/server/host/build-generic.fmf9
6 files changed, 180 insertions, 0 deletions
diff --git a/Fedora.kiwi b/Fedora.kiwi
index b19d43f..5e9b832 100644
--- a/Fedora.kiwi
+++ b/Fedora.kiwi
@@ -35,6 +35,7 @@
<include from="this://./teams/cloud/cloud.xml"/>
<include from="this://./teams/cloud/container.xml"/>
<include from="this://./teams/cloud/vagrant.xml"/>
+ <include from="this://./teams/server.xml"/>
<include from="this://./teams/workstation.xml"/>
<include from="this://./teams/kde.xml"/>
<include from="this://./teams/xfce.xml"/>
diff --git a/VARIANTS.md b/VARIANTS.md
index 4b8bf3a..56c6ea8 100644
--- a/VARIANTS.md
+++ b/VARIANTS.md
@@ -10,6 +10,8 @@
| | | `Cloud-Base-GCE` |
| Base Cloud Edition for Vagrant | `oem` | `Cloud-Base-Vagrant-libvirt` |
| | | `Cloud-Base-Vagrant-VirtualBox` |
+| Server Edition as a VM guest | `oem` | `Server-Guest-Generic` |
+| Server Edition as a hypervisor | `oem` | `Server-Host-Generic` |
| Base Container | `oci` | `Container-Base-Generic-Init` |
| | | `Container-Base-Generic-Minimal` |
| | | `Container-Base-Generic` |
diff --git a/config.sh b/config.sh
index 800247b..d169c98 100755
--- a/config.sh
+++ b/config.sh
@@ -132,6 +132,13 @@ if [[ "$kiwi_profiles" == *"Disk"* ]]; then
fi
fi
+if [[ "$kiwi_profiles" == *"Server"* ]]; then
+ # Trigger lvm-devices-import.path and .service to create
+ # a new /etc/lvm/devices/system.devices for the root VG.
+ rm -f /etc/lvm/devices/system.devices
+ touch /etc/lvm/devices/auto-import-rootvg
+fi
+
if [[ "$kiwi_profiles" == *"Azure"* ]]; then
cat > /etc/ssh/sshd_config.d/50-client-alive-interval.conf << EOF
ClientAliveInterval 120
diff --git a/teams/server.xml b/teams/server.xml
new file mode 100644
index 0000000..81f8b01
--- /dev/null
+++ b/teams/server.xml
@@ -0,0 +1,152 @@
+<image>
+ <profiles>
+ <profile name="ServerCore" description="Server Edition core packages">
+ <requires profile="BootCore"/>
+ </profile>
+ <profile name="ServerVMDisk" description="Server Edition VM disk configuration">
+ <requires profile="ServerCore"/>
+ </profile>
+ <profile name="ServerDisk" description="Server Edition disk configuration">
+ <requires profile="ServerCore"/>
+ </profile>
+ <profile name="Server-Guest-Generic" description="Generic Server Guest Image">
+ <requires profile="ServerVMDisk"/>
+ </profile>
+ <profile name="Server-Host-Generic" description="Generic Server Host Image">
+ <requires profile="ServerDisk"/>
+ </profile>
+ </profiles>
+ <preferences profiles="ServerVMDisk" arch="x86_64,aarch64">
+ <type image="oem" format="qcow2"
+ filesystem="xfs"
+ kernelcmdline="no_timer_check console=tty1 console=ttyS0,115200n8"
+ devicepersistency="by-uuid"
+ bootpartition="true" bootpartsize="1000" bootfilesystem="xfs" efipartsize="100" firmware="uefi"
+ rootfs_label="fedora"
+ >
+ <bootloader name="grub2" console="serial" timeout="0"/>
+ <size unit="G">10</size>
+ <systemdisk>
+ <volume name="@root"/>
+ </systemdisk>
+ <oemconfig>
+ <oem-resize>false</oem-resize>
+ </oemconfig>
+ </type>
+ </preferences>
+ <preferences profiles="ServerVMDisk" arch="ppc64le">
+ <type image="oem" format="qcow2"
+ filesystem="xfs"
+ kernelcmdline="no_timer_check console=tty1 console=ttyS0,115200n8"
+ devicepersistency="by-uuid"
+ bootpartition="true" bootpartsize="1000" bootfilesystem="xfs" firmware="ofw"
+ rootfs_label="fedora"
+ >
+ <bootloader name="grub2" console="serial" timeout="0"/>
+ <size unit="G">10</size>
+ <systemdisk>
+ <volume name="@root"/>
+ </systemdisk>
+ <oemconfig>
+ <oem-resize>false</oem-resize>
+ </oemconfig>
+ </type>
+ </preferences>
+ <preferences profiles="ServerVMDisk" arch="s390x">
+ <type image="oem" format="qcow2"
+ filesystem="xfs"
+ kernelcmdline="no_timer_check console=tty1 console=ttyS0,115200n8"
+ devicepersistency="by-uuid"
+ bootpartition="true" bootpartsize="1000" bootfilesystem="xfs"
+ rootfs_label="fedora"
+ >
+ <bootloader name="zipl" timeout="1"/>
+ <size unit="G">10</size>
+ <systemdisk>
+ <volume name="@root"/>
+ </systemdisk>
+ <oemconfig>
+ <oem-resize>false</oem-resize>
+ </oemconfig>
+ </type>
+ </preferences>
+ <preferences profiles="ServerDisk" arch="x86_64,aarch64">
+ <type image="oem"
+ filesystem="xfs"
+ devicepersistency="by-uuid"
+ bootpartition="true" bootpartsize="1000" bootfilesystem="xfs" efipartsize="100" firmware="uefi"
+ rootfs_label="fedora"
+ >
+ <bootloader name="grub2" console="serial" timeout="0"/>
+ <size unit="G">10</size>
+ <systemdisk>
+ <volume name="@root"/>
+ </systemdisk>
+ <oemconfig>
+ <oem-resize>false</oem-resize>
+ </oemconfig>
+ </type>
+ </preferences>
+ <preferences profiles="ServerDisk" arch="ppc64le">
+ <type image="oem"
+ filesystem="xfs"
+ devicepersistency="by-uuid"
+ bootpartition="true" bootpartsize="1000" bootfilesystem="xfs" firmware="ofw"
+ rootfs_label="fedora"
+ >
+ <bootloader name="grub2" console="serial" timeout="0"/>
+ <size unit="G">10</size>
+ <systemdisk>
+ <volume name="@root"/>
+ </systemdisk>
+ <oemconfig>
+ <oem-resize>false</oem-resize>
+ </oemconfig>
+ </type>
+ </preferences>
+ <preferences profiles="ServerDisk" arch="s390x">
+ <type image="oem"
+ filesystem="xfs"
+ devicepersistency="by-uuid"
+ bootpartition="true" bootpartsize="1000" bootfilesystem="xfs"
+ rootfs_label="fedora"
+ >
+ <bootloader name="zipl" timeout="1"/>
+ <size unit="G">10</size>
+ <systemdisk>
+ <volume name="@root"/>
+ </systemdisk>
+ <oemconfig>
+ <oem-resize>false</oem-resize>
+ </oemconfig>
+ </type>
+ </preferences>
+ <packages type="bootstrap" patternType="plusRecommended" profiles="ServerCore">
+ <package name="fedora-release-server"/>
+ </packages>
+ <packages type="image" patternType="plusRecommended" profiles="ServerCore">
+ <namedCollection name="server-product-environment"/>
+ <namedCollection name="domain-client"/>
+ <namedCollection name="arm-tools" arch="aarch64"/>
+ <ignore name="initial-setup-gui"/>
+ <ignore name="plymouth"/>
+ <package name="glibc-all-langpacks"/>
+ <package name="initial-setup"/>
+ <package name="lvm2"/>
+ <package name="xfsprogs"/>
+ </packages>
+ <packages type="image" patternType="plusRecommended" profiles="Server-Guest-Generic">
+ <ignore name="dracut-config-rescue"/>
+ <ignore name="kernel"/>
+ <ignore name="*-firmware"/>
+ <ignore name="smartmontools"/>
+ <ignore name="smartmontools-selinux"/>
+ <namedCollection name="guest-agents"/>
+ </packages>
+ <packages type="image" patternType="plusRecommended" profiles="Server-Host-Generic">
+ <namedCollection name="container-management"/>
+ <package name="dracut-config-rescue"/>
+ <package name="kernel"/>
+ <package name="linux-firmware"/>
+ </packages>
+</image>
diff --git a/tmt/plans/server/guest/build-generic.fmf b/tmt/plans/server/guest/build-generic.fmf
new file mode 100644
index 0000000..252823d
--- /dev/null
+++ b/tmt/plans/server/guest/build-generic.fmf
@@ -0,0 +1,9 @@
+summary: Build Generic guest image
+discover:
+ how: fmf
+environment:
+ image_type: oem
+ image_profile: Server-Guest-Generic
+ kiwi_file: Fedora.kiwi
+execute:
+ how: tmt
diff --git a/tmt/plans/server/host/build-generic.fmf b/tmt/plans/server/host/build-generic.fmf
new file mode 100644
index 0000000..d2279f2
--- /dev/null
+++ b/tmt/plans/server/host/build-generic.fmf
@@ -0,0 +1,9 @@
+summary: Build Generic host image
+discover:
+ how: fmf
+environment:
+ image_type: oem
+ image_profile: Server-Host-Generic
+ kiwi_file: Fedora.kiwi
+execute:
+ how: tmt