1
0
mirror of https://pagure.io/fedora-qa/os-autoinst-distri-fedora.git synced 2025-05-06 09:31:34 +00:00

Flip Workstation live build to Kiwi

...that's now the case in prod for F42+, so let's do it here.

Signed-off-by: Adam Williamson <awilliam@redhat.com>
This commit is contained in:
Adam Williamson 2025-02-11 15:32:02 -08:00
parent c1240ba0cd
commit 644e6281e4
3 changed files with 5 additions and 102 deletions

View File

@ -132,8 +132,8 @@
"settings": {
"DESKTOP": "gnome",
"HDDSIZEGB": "15",
"KIWI_PROFILE": "Workstation-Live",
"LIVE": "1",
"LIVE_BUILD_TEST": "live_build",
"NUMDISKS": "2",
"PACKAGE_SET": "default",
"RETRY": "1",
@ -150,7 +150,6 @@
"HDDSIZEGB": "15",
"KIWI_PROFILE": "KDE-Desktop-Live",
"LIVE": "1",
"LIVE_BUILD_TEST": "kiwi_build",
"NUMDISKS": "2",
"PACKAGE_SET": "default",
"RETRY": "1",
@ -377,7 +376,7 @@
"fedora-updates-workstation-live-iso-x86_64-*-64bit": 5
},
"settings": {
"+START_AFTER_TEST": "%LIVE_BUILD_TEST%@%ARCH_BASE_MACHINE%",
"+START_AFTER_TEST": "kiwi_build@%ARCH_BASE_MACHINE%",
"INSTALL": "1",
"ISO": "Fedora-%SUBVARIANT%-Live-%ARCH%-%ADVISORY_OR_TASK%.iso",
"QEMURAM": "4096"
@ -440,7 +439,8 @@
"kiwi_build": {
"profiles": {
"fedora-updates-container-x86_64-*-64bit": 5,
"fedora-updates-kde-live-iso-x86_64-*-64bit": 5
"fedora-updates-kde-live-iso-x86_64-*-64bit": 5,
"fedora-updates-workstation-live-iso-x86_64-*-64bit": 5
},
"settings": {
"+DESKTOP": "",
@ -455,24 +455,6 @@
"USER_LOGIN": "false"
}
},
"live_build": {
"profiles": {
"fedora-updates-workstation-live-iso-x86_64-*-64bit": 5
},
"settings": {
"+DESKTOP": "",
"+LIVE": "",
"BOOTFROM": "c",
"GRUB_POSTINSTALL": "selinux=0",
"HDD_1": "disk_f%VERSION%_minimal_4_%ARCH%.qcow2",
"HDDSIZEGB_3": "25",
"MAX_JOB_TIME": "10800",
"+NUMDISKS": "3",
"POSTINSTALL": "_live_build",
"ROOT_PASSWORD": "weakpassword",
"USER_LOGIN": "false"
}
},
"ostree_build": {
"profiles": {
"fedora-updates-silverblue-dvd_ostree-iso-x86_64-*-64bit": 5

View File

@ -81,6 +81,7 @@ sub run {
}
my %expected_formats = (
'KDE-Desktop-Live' => 'iso',
'Workstation-Live' => 'iso',
'Container-Base-Generic' => 'oci.tar.xz'
);
my $format = $expected_formats{$kiwiprofile};

View File

@ -1,80 +0,0 @@
use base "installedtest";
use strict;
use mock;
use testapi;
use utils;
sub run {
my $self = shift;
my $version = get_var("VERSION");
my $rawrel = get_var("RAWREL");
my $brrepo = get_var("BUILDROOT_REPO");
my $branch;
my $repoks;
my $releasever;
if ($version eq $rawrel) {
$branch = "main";
$repoks = "fedora-repo-rawhide.ks";
$releasever = "Rawhide";
}
else {
$branch = "f${version}";
$repoks = "fedora-repo-not-rawhide.ks";
$releasever = $version;
}
my $advortask = get_var("ADVISORY_OR_TASK");
my $arch = get_var("ARCH");
my $subv = get_var("SUBVARIANT");
my $lcsubv = lc($subv);
my $tag = get_var("TAG");
my $copr = get_var("COPR");
my $workarounds = get_workarounds;
# install the tools we need
assert_script_run "dnf -y install mock git pykickstart tar", 300;
# set up the mock config
mock_setup;
# now check out the kickstarts
assert_script_run 'git clone https://pagure.io/fedora-kickstarts.git';
assert_script_run 'cd fedora-kickstarts';
assert_script_run "git checkout ${branch}";
# now add the side, tag or COPR repo to the appropriate repo ks
assert_script_run 'echo "repo --name=advisory --baseurl=file:///mnt/update_repo" >> ' . $repoks unless ($tag || $copr);
assert_script_run 'echo "repo --name=openqa-testtag --baseurl=' . get_var("UPDATE_OR_TAG_REPO") . '" >> ' . $repoks if ($tag || $copr);
# and the workarounds repo
assert_script_run 'echo "repo --name=workarounds --baseurl=file:///mnt/workarounds_repo" >> ' . $repoks if ($workarounds);
# and the buildroot repo, for Rawhide
if ($brrepo) {
assert_script_run 'echo "repo --name=buildroot --baseurl=https://kojipkgs.fedoraproject.org/repos/' . $brrepo . '/latest/\$basearch/" >> ' . $repoks;
}
# now flatten the kickstart
assert_script_run "ksflatten -c fedora-live-${lcsubv}.ks -o openqa.ks";
# upload the kickstart so we can check it
upload_logs "openqa.ks";
# now install the tools into the mock
assert_script_run "mock -r openqa --isolation=simple --install bash coreutils glibc-all-langpacks lorax-lmc-novirt selinux-policy-targeted shadow-utils util-linux", 900;
# now make the image build directory inside the mock root and put the kickstart there
assert_script_run 'mock -r openqa --isolation=simple --chroot "mkdir -p /chroot_tmpdir"';
assert_script_run "mock -r openqa --isolation=simple --copyin openqa.ks /chroot_tmpdir";
# make sure volume ID isn't too long (for multiple Koji task cases)
my $aot28 = substr($advortask, 0, 28);
my $volid = "FWL-${aot28}";
# PULL SOME LEVERS! PULL SOME LEVERS!
assert_script_run "mock -r openqa --enable-network --isolation=simple --chroot \"/sbin/livemedia-creator --ks /chroot_tmpdir/openqa.ks --logfile /chroot_tmpdir/lmc-logs/livemedia-out.log --no-virt --resultdir /chroot_tmpdir/lmc --project Fedora-${subv}-Live --make-iso --volid ${volid} --iso-only --iso-name Fedora-${subv}-Live-${arch}-${advortask}.iso --releasever ${releasever} --macboot\"", 7200;
unless (script_run "mock -r openqa --isolation=simple --copyout /chroot_tmpdir/lmc-logs/livemedia-out.log .", 90) {
upload_logs "livemedia-out.log";
}
unless (script_run "mock -r openqa --isolation=simple --copyout /chroot_tmpdir/lmc-logs/anaconda/ anaconda", 90) {
assert_script_run "tar cvzf anaconda.tar.gz anaconda/";
upload_logs "anaconda.tar.gz";
}
assert_script_run "mock -r openqa --isolation=simple --copyout /chroot_tmpdir/lmc/Fedora-${subv}-Live-${arch}-${advortask}.iso .", 180;
upload_asset "./Fedora-${subv}-Live-${arch}-${advortask}.iso";
}
sub test_flags {
return {fatal => 1};
}
1;
# vim: set sw=4 et: