mirror of
https://pagure.io/fedora-qa/os-autoinst-distri-fedora.git
synced 2024-11-21 21:43:08 +00:00
e49b5f9645
This should make the installer image build test work for ELN, so we can try doing some update tests on ELN. Signed-off-by: Adam Williamson <awilliam@redhat.com>
66 lines
2.8 KiB
Perl
66 lines
2.8 KiB
Perl
use base "installedtest";
|
|
use strict;
|
|
use testapi;
|
|
use utils;
|
|
|
|
sub run {
|
|
my $self = shift;
|
|
my $version = get_var("VERSION");
|
|
my $currrel = get_var("CURRREL");
|
|
my $rawrel = get_var("RAWREL");
|
|
my $repo = "fedora.repo";
|
|
$repo = "fedora-rawhide.repo" if ($version eq $rawrel);
|
|
$repo = "fedora-eln.repo" if (lc($version) eq "eln");
|
|
my $advortask = get_var("ADVISORY_OR_TASK");
|
|
my $arch = get_var("ARCH");
|
|
# python3-dnf is for updvercheck.py
|
|
my $packages = "python3-dnf lorax";
|
|
$packages .= " hfsplus-tools" if ($arch eq "ppc64le");
|
|
assert_script_run "dnf -y install $packages", 120;
|
|
# this 'temporary file cleanup' thing can actually wipe bits of
|
|
# the lorax install root while lorax is still running...
|
|
assert_script_run "systemctl stop systemd-tmpfiles-clean.timer";
|
|
assert_script_run "mkdir -p /root/imgbuild";
|
|
assert_script_run "pushd /root/imgbuild";
|
|
assert_script_run "setenforce Permissive";
|
|
# Fedora pungi config always sets rootfs size to 3GiB since F32
|
|
my $cmd = "lorax -p Fedora -v ${version} -r ${version} --repo=/etc/yum.repos.d/${repo} --rootfs-size 3 --squashfs-only";
|
|
unless ($version > $currrel || lc($version) eq "eln") {
|
|
$cmd .= " --isfinal --repo=/etc/yum.repos.d/fedora-updates.repo";
|
|
}
|
|
if (lc($version) eq "eln") {
|
|
$cmd .= " --variant=BaseOS --nomacboot --volid=Fedora-eln-BaseOS-${arch}"
|
|
}
|
|
else {
|
|
$cmd .= " --variant=Everything --volid=Fedora-E-dvd-${arch}"
|
|
}
|
|
$cmd .= " --repo=/etc/yum.repos.d/workarounds.repo" if (get_workarounds);
|
|
$cmd .= " --repo=/etc/yum.repos.d/koji-rawhide.repo" if ($version eq $rawrel);
|
|
$cmd .= " --repo=/etc/yum.repos.d/koji-eln.repo" if (lc($version) eq "eln");
|
|
$cmd .= " --repo=/etc/yum.repos.d/advisory.repo" unless (get_var("TAG") || get_var("COPR"));
|
|
$cmd .= " --repo=/etc/yum.repos.d/openqa-testtag.repo" if (get_var("TAG") || get_var("COPR"));
|
|
$cmd .= " ./results";
|
|
assert_script_run $cmd, 2400;
|
|
# do a package version check on the packages installed to the
|
|
# installer environment - see
|
|
# https://pagure.io/releng/failed-composes/issue/6538#comment-917347
|
|
assert_script_run 'curl --retry-delay 10 --max-time 30 --retry 5 -o updvercheck.py https://pagure.io/fedora-qa/os-autoinst-distri-fedora/raw/lorax-check-packages/f/updvercheck.py', timeout => 180;
|
|
my $advisory = get_var("ADVISORY");
|
|
my $cmd = 'python3 ./updvercheck.py /mnt/updatepkgs.txt pylorax.log';
|
|
$cmd .= " $advisory" if ($advisory);
|
|
my $ret = script_run $cmd;
|
|
acnp_handle_output($ret, 0, 1);
|
|
# good to have the log around for checks
|
|
upload_logs "pylorax.log", failok => 1;
|
|
assert_script_run "mv results/images/boot.iso ./${advortask}-netinst-${arch}.iso";
|
|
upload_asset "./${advortask}-netinst-${arch}.iso";
|
|
}
|
|
|
|
sub test_flags {
|
|
return {fatal => 1};
|
|
}
|
|
|
|
1;
|
|
|
|
# vim: set sw=4 et:
|