aboutsummaryrefslogtreecommitdiff
diff options
from:
to:
context:
space:
mode:
-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