Skip to content

Commit

Permalink
Add a kiwi test
Browse files Browse the repository at this point in the history
Perform a Kiwi test to build a qcow2 image locally
  • Loading branch information
DeepthiYV committed Jun 7, 2023
1 parent b4a3493 commit 280b99f
Show file tree
Hide file tree
Showing 6 changed files with 490 additions and 0 deletions.
391 changes: 391 additions & 0 deletions data/kiwi/appliance.kiwi
@@ -0,0 +1,391 @@
<?xml version="1.0" encoding="utf-8"?>

<!-- OBS-Profiles: @BUILD_FLAVOR@ -->
<!-- OBS-Milestone: %current_milestone -->

<image schemaversion="6.1" name="SLESSLE-version-kiwi" displayname="SLES 15 SP4">
<description type="system">
<author>SUSE LLC</author>
<contact>qe-core@suse.de</contact>
<specification>SUSE Linux Enterprise 15 SP4 Minimal</specification>
</description>
<profiles>
<profile name="kvm-and-xen" description="Minimal for KVM and Xen" arch="x86_64"/>
<profile name="kvm" description="Minimal for KVM" arch="aarch64"/>
<profile name="VMware" description="Minimal for VMware" arch="x86_64"/>
<profile name="MS-HyperV" description="Minimal for Hyper-V" arch="x86_64"/>
<profile name="OpenStack-Cloud" description="Minimal for OpenStack Cloud" arch="x86_64"/>
<profile name="RaspberryPi" description="Minimal for the Raspberry Pi" arch="aarch64"/>
</profiles>
<preferences profiles="kvm-and-xen">
<version>1.1.0</version>
<packagemanager>zypper</packagemanager>
<bootsplash-theme>SLE</bootsplash-theme>
<bootloader-theme>SLE</bootloader-theme>
<!-- those settings are applied by suseConfig in config.sh
<locale>en_US</locale>
<keytable>us.map.gz</keytable>
<timezone>Europe/Berlin</timezone>
<hwclock>utc</hwclock>
-->
<rpm-excludedocs>true</rpm-excludedocs>
<type
image="vmx"
filesystem="btrfs"
format="qcow2"
bootloader="grub2"
firmware="uefi"
efipartsize="33"
kernelcmdline="rw systemd.show_status=1 console=ttyS0,115200 console=tty0 quiet"
bootpartition="false"
bootkernel="custom"
devicepersistency="by-uuid"
btrfs_quota_groups="true"
btrfs_root_is_snapshot="true"
bundle_format="%N-VM.%A-%I"
>
<systemdisk>
<volume name="home"/>
<volume name="root"/>
<volume name="tmp"/>
<volume name="opt"/>
<volume name="srv"/>
<volume name="boot/grub2/i386-pc"/>
<volume name="boot/grub2/x86_64-efi" mountpoint="boot/grub2/x86_64-efi"/>
<volume name="usr/local"/>
<volume name="var" copy_on_write="false"/>
</systemdisk>
<size unit="G">24</size>
</type>
</preferences>

<preferences profiles="kvm">
<version>1.1.0</version>
<packagemanager>zypper</packagemanager>
<bootsplash-theme>SLE</bootsplash-theme>
<bootloader-theme>SLE</bootloader-theme>
<!-- those settings are applied by suseConfig in config.sh
<locale>en_US</locale>
<keytable>us.map.gz</keytable>
<timezone>Europe/Berlin</timezone>
<hwclock>utc</hwclock>
-->
<rpm-excludedocs>true</rpm-excludedocs>
<type
image="vmx"
filesystem="btrfs"
format="qcow2"
bootloader="grub2"
firmware="uefi"
efipartsize="33"
kernelcmdline="rw systemd.show_status=1 console=ttyS0,115200 console=tty0 quiet"
bootpartition="false"
bootkernel="custom"
devicepersistency="by-uuid"
btrfs_quota_groups="true"
btrfs_root_is_snapshot="true"
bundle_format="%N-VM.%A-%I"
>
<systemdisk>
<volume name="home"/>
<volume name="root"/>
<volume name="tmp"/>
<volume name="opt"/>
<volume name="srv"/>
<volume name="boot/grub2/arm64-efi" mountpoint="boot/grub2/arm64-efi"/>
<volume name="usr/local"/>
<volume name="var" copy_on_write="false"/>
</systemdisk>
<size unit="G">24</size>
</type>
</preferences>

<preferences profiles="VMware">
<version>1.1.0</version>
<packagemanager>zypper</packagemanager>
<bootsplash-theme>SLE</bootsplash-theme>
<bootloader-theme>SLE</bootloader-theme>
<!-- those settings are applied by suseConfig in config.sh
<locale>en_US</locale>
<keytable>us.map.gz</keytable>
<timezone>Europe/Berlin</timezone>
<hwclock>utc</hwclock>
-->
<rpm-excludedocs>true</rpm-excludedocs>
<type
image="vmx"
filesystem="btrfs"
format="vmdk"
bootloader="grub2"
firmware="uefi"
efipartsize="33"
kernelcmdline="rw systemd.show_status=1 console=ttyS0,115200 console=tty0 quiet"
bootpartition="false"
bootkernel="custom"
devicepersistency="by-uuid"
btrfs_quota_groups="true"
btrfs_root_is_snapshot="true"
bundle_format="%N-VM.%A-%I"
>
<systemdisk>
<volume name="home"/>
<volume name="root"/>
<volume name="tmp"/>
<volume name="opt"/>
<volume name="srv"/>
<volume name="boot/grub2/i386-pc"/>
<volume name="boot/grub2/x86_64-efi" mountpoint="boot/grub2/x86_64-efi"/>
<volume name="usr/local"/>
<volume name="var" copy_on_write="false"/>
</systemdisk>
<size unit="G">24</size>
<machine memory="1024" HWversion="10" guestOS="sles-64"/>
</type>
</preferences>

<preferences profiles="OpenStack-Cloud">
<version>1.1.0</version>
<packagemanager>zypper</packagemanager>
<bootsplash-theme>SLE</bootsplash-theme>
<bootloader-theme>SLE</bootloader-theme>
<!-- those settings are applied by suseConfig in config.sh
<locale>en_US</locale>
<keytable>us.map.gz</keytable>
<timezone>Europe/Berlin</timezone>
<hwclock>utc</hwclock>
-->
<rpm-excludedocs>true</rpm-excludedocs>
<type
image="vmx"
filesystem="xfs"
format="qcow2"
vga="normal"
boottimeout="1"
bootloader="grub2"
firmware="uefi"
efipartsize="33"
kernelcmdline="rw systemd.show_status=1 console=ttyS0,115200 console=tty0 net.ifnames=0 quiet"
bootpartition="false"
bootkernel="custom"
devicepersistency="by-uuid"
bundle_format="%N-VM.%A-%I"
/>
</preferences>

<preferences profiles="MS-HyperV">
<version>1.1.0</version>
<packagemanager>zypper</packagemanager>
<bootsplash-theme>SLE</bootsplash-theme>
<bootloader-theme>SLE</bootloader-theme>
<!-- those settings are applied by suseConfig in config.sh
<locale>en_US</locale>
<keytable>us.map.gz</keytable>
<timezone>Europe/Berlin</timezone>
<hwclock>utc</hwclock>
-->
<rpm-excludedocs>true</rpm-excludedocs>
<type
image="vmx"
filesystem="btrfs"
format="vhdx"
boottimeout="10"
bootloader="grub2"
firmware="uefi"
efipartsize="33"
kernelcmdline="rw systemd.show_status=1 rootdelay=300 console=ttyS0,115200 console=tty0 earlyprintk=ttyS0,115200 quiet"
bootpartition="false"
bootkernel="custom"
devicepersistency="by-uuid"
btrfs_quota_groups="true"
btrfs_root_is_snapshot="true"
bundle_format="%N-VM.%A-%I"
>
<systemdisk>
<volume name="home"/>
<volume name="root"/>
<volume name="tmp"/>
<volume name="opt"/>
<volume name="srv"/>
<volume name="boot/grub2/i386-pc"/>
<volume name="boot/grub2/x86_64-efi" mountpoint="boot/grub2/x86_64-efi"/>
<volume name="usr/local"/>
<volume name="var" copy_on_write="false"/>
</systemdisk>
<size unit="G">24</size>
</type>
</preferences>

<preferences profiles="RaspberryPi">
<version>1.1.0</version>
<packagemanager>zypper</packagemanager>
<bootsplash-theme>SLE</bootsplash-theme>
<bootloader-theme>SLE</bootloader-theme>
<!-- those settings are applied by suseConfig in config.sh
<locale>en_US</locale>
<keytable>us.map.gz</keytable>
<timezone>Europe/Berlin</timezone>
<hwclock>utc</hwclock>
-->
<rpm-excludedocs>true</rpm-excludedocs>
<type
image="oem"
initrd_system="dracut"
filesystem="btrfs"
fsmountoptions="noatime,compress=lzo"
bootloader="grub2"
firmware="efi"
kernelcmdline="rw systemd.show_status=1 console=ttyS0,115200 console=tty quiet"
bootpartition="false"
devicepersistency="by-uuid"
btrfs_quota_groups="true"
btrfs_root_is_snapshot="true"
efipartsize="64"
editbootinstall="editbootinstall_rpi.sh"
bundle_format="%N-Image.%A-%I"
>
<systemdisk>
<volume name="home"/>
<volume name="root"/>
<volume name="tmp"/>
<volume name="opt"/>
<volume name="srv"/>
<volume name="boot/grub2/arm64-efi" mountpoint="boot/grub2/arm64-efi"/>
<volume name="usr/local"/>
<volume name="var" copy_on_write="false"/>
</systemdisk>
<oemconfig>
<oem-swap>true</oem-swap>
<oem-swapsize>1000</oem-swapsize>
<oem-skip-verify>true</oem-skip-verify>
</oemconfig>
</type>
</preferences>
<users>
<user password="nots3cr3t" home="/root" name="root" groups="root" pwdformat="plain"/>
</users>
<repository type="rpm-md" alias="slebase">
<source path="http://updates.suse.de/SUSE/Products/SLE-Module-Basesystem/SLE-version/x86_64/product/"/>
</repository>
<repository type="rpm-md" alias="sle">
<source path="http://updates.suse.de/SUSE/Products/SLE-Product-SLES/SLE-version/x86_64/product/"/>
</repository>
<repository type="rpm-md" alias="sle-dev">
<source path="http://updates.suse.de/SUSE/Products/SLE-Module-Development-Tools/SLE-version/x86_64/product/"/>
</repository>
<repository type="rpm-md" >
<source path="http://updates.suse.de/SUSE/Products/SLE-Module-Server-Applications/SLE-version/x86_64/product/"/>
</repository>
<packages type="image">
<package name="patterns-base-base"/>
<package name="patterns-base-apparmor"/> <!-- Installs tools and profiles -->
<package name="audit"/> <!-- On SLE it's only recommended by the apparmor pattern -->
<package name="aaa_base-extras"/> <!-- wouldn't be SUSE without that ;-) -->
<package name="acl"/>
<package name="chrony"/>
<package name="curl"/> <!-- needed for openQA, maybe delete -->
<package name="dracut"/>
<package name="fipscheck"/>
<package name="group(mail)"/> <!-- needed by useradd bsc#1061838-->
<package name="group(wheel)"/>
<package name="grub2-branding-SLE" bootinclude="true"/>
<package name="iputils"/>
<package name="issue-generator"/> <!-- bsc#1084879 -->
<package name="zypper-lifecycle-plugin"/> <!-- bsc#1030278 fate#320597 -->
<package name="vim"/>
<package name="grub2"/>
<package name="grub2-x86_64-efi" arch="x86_64"/>
<package name="grub2-arm64-efi" arch="aarch64"/>
<package name="haveged"/>
<package name="less" />
<package name="tar"/>
<package name="parted"/>
<package name="SUSEConnect"/>
<package name="suse-build-key"/>
<package name="systemd"/>
<package name="systemd-sysvinit"/>
<package name="timezone"/>
<package name="wicked"/>
<package name="iproute2"/>
<package name="openssh"/>
<package name="rsync"/>
<package name="salt-minion"/>
<package name="dosfstools"/> <!-- For fscking /boot/efi -->
<package name="lsof"/> <!-- For zypper ps (bsc#1167553) -->
<package name="jeos-licenses"/>

<package name="rsyslog"/> <!-- For SLE -->
<!-- <package name="systemd-logger"/> for openSUSE -->
<package name="zypper-needs-restarting"/> <!-- Some deployment script use this (bsc#1173548) -->
</packages>

<!-- Not needed in OpenStack as it uses XFS and cloud-init -->
<packages type="image" profiles="kvm-and-xen,kvm,VMware,MS-HyperV,RaspberryPi">
<!-- Only for btrfs -->
<package name="btrfsprogs"/>
<package name="btrfsmaintenance"/>
<package name="grub2-snapper-plugin"/> <!-- snapper - grub2 - integration, "small" -->
<package name="snapper-zypp-plugin"/> <!-- this is key snapper/zypp integration, as requested in the PRD -->
<package name="rollback-helper"/>
<package name="snapper"/>

<!-- Only if not cloud-init -->
<package name="jeos-firstboot"/>
<package name="fbiterm"/> <!-- Optionally used by jeos-firstboot for non-latin fonts -->

<!-- Not useful with OpenStack -->
<package name="firewalld"/>
</packages>

<!-- Shim for secure boot everywhere except for RPi -->
<packages type="image" profiles="kvm-and-xen,kvm,VMware,MS-HyperV,OpenStack-Cloud">
<package name="shim" arch="aarch64,x86_64"/>
</packages>

<packages type="image" profiles="kvm-and-xen">
<!-- XEN specific packages -->
<package name="xen-tools-domU" arch="x86_64"/>
<package name="xen-libs" arch="x86_64"/>
</packages>
<packages type="image" profiles="kvm-and-xen,kvm">
<package name="kernel-default-base"/>
</packages>
<packages type="image" profiles="kvm-and-xen,kvm,OpenStack-Cloud">
<package name="qemu-guest-agent"/>
</packages>
<packages type="image" profiles="VMware">
<package name="open-vm-tools" arch="x86_64"/>
<package name="kernel-default-base"/>
</packages>
<packages type="image" profiles="OpenStack-Cloud">
<package name="cloud-init" />
<package name="cloud-init-config-suse" />
<package name="xfsprogs" />
<package name="kernel-default-base"/>
</packages>
<packages type="image" profiles="MS-HyperV">
<package name="hyper-v" arch="x86_64"/>
<package name="kernel-default-base"/>
<!--<package name="python-azure-agent"/> disabled until bsc#1061584 is fixed -->
</packages>
<packages type="image" profiles="RaspberryPi">
<package name="raspberrypi-eeprom" arch="aarch64"/>
<package name="raspberrypi-firmware" arch="aarch64"/>
<package name="raspberrypi-firmware-config" arch="aarch64"/>
<package name="raspberrypi-firmware-dt" arch="aarch64"/>
<package name="arm-trusted-firmware-rpi4" arch="aarch64"/>
<package name="u-boot-rpiarm64" arch="aarch64"/>
<package name="dracut-kiwi-oem-repart"/>
<package name="kernel-default"/>
<!-- For WiFi: -->
<package name="jeos-firstboot-rpiwifi"/>
<package name="bcm43xx-firmware"/>
</packages>

<packages type="bootstrap">
<package name="filesystem"/>
<package name="glibc-locale-base"/>
<package name="ca-certificates-mozilla"/>
<package name="sles-release"/>
</packages>
</image>

0 comments on commit 280b99f

Please sign in to comment.