mirror of
https://pagure.io/fedora-qa/os-autoinst-distri-fedora.git
synced 2024-12-01 09:43:09 +00:00
8d1d150798
We quite often want to run the update tests on a Koji task (not a Bodhi update) for some reason - usually to test a potential fix for an issue, or at a maintainer's request to test a change before it is merged upstream and officially sent out as an update. Up till now I've always hacked up utils.pm on the staging server by hand to do this, which is horrible. Together with a commit to fedora_openqa, this should allow us to do it in a nice, sane way via the CLI. It's mostly just tweaking the "updates" repo setup in utils.pm as you'd expect, but there's a bit of subtlety to it because of the installer tests that use %ADVISORY% as a variable substitution in the disk image name; you can't do something like `%ADVISORY or KOJITASK%`, sadly, so I had to have almost-redundant variables ADVISORY, KOJITASK and ADVISORY_OR_TASK (we could kinda just live with ADVISORY_OR_TASK except I didn't want to drop ADVISORY as it's an unnecessary change from previous behavior). Signed-off-by: Adam Williamson <awilliam@redhat.com>
44 lines
1.7 KiB
Perl
44 lines
1.7 KiB
Perl
use base "installedtest";
|
|
use strict;
|
|
use testapi;
|
|
use utils;
|
|
|
|
sub run {
|
|
my $self = shift;
|
|
my $version = get_var("VERSION");
|
|
my $advortask = get_var("ADVISORY_OR_TASK");
|
|
my $arch = get_var("ARCH");
|
|
# we need lorax from u-t for f28 atm it seems
|
|
my $loraxcmd = "dnf -y ";
|
|
$loraxcmd .= "--enablerepo=updates-testing " if (get_var("VERSION") eq "28");
|
|
$loraxcmd .= "install lorax";
|
|
assert_script_run $loraxcmd, 90;
|
|
# 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";
|
|
# dracut-fips doesn't exist any more; this breaks f28 builds as
|
|
# it *did* exist when f28 came out, so lorax tries to use
|
|
# dracut-fips from the frozen release repo with newer lorax from
|
|
# the updates repo which obsoletes it, and gets confused
|
|
assert_script_run 'sed -i -e "s,dracut-fips,,g" /usr/share/lorax/templates.d/99-generic/runtime-install.tmpl';
|
|
assert_script_run "mkdir -p /root/imgbuild";
|
|
assert_script_run "pushd /root/imgbuild";
|
|
assert_script_run "setenforce Permissive";
|
|
my $cmd = "lorax -p Fedora -v ${version} -r ${version} --repo=/etc/yum.repos.d/fedora.repo";
|
|
unless (get_var("DEVELOPMENT")) {
|
|
$cmd .= " --isfinal --repo=/etc/yum.repos.d/fedora-updates.repo";
|
|
}
|
|
$cmd .= " --repo=/etc/yum.repos.d/advisory.repo ./results";
|
|
assert_script_run $cmd, 1500;
|
|
assert_script_run "mv results/images/boot.iso ./${advortask}-netinst-${arch}.iso";
|
|
upload_asset "./${advortask}-netinst-x86_64.iso";
|
|
}
|
|
|
|
sub test_flags {
|
|
return { fatal => 1 };
|
|
}
|
|
|
|
1;
|
|
|
|
# vim: set sw=4 et:
|