mirror of
https://pagure.io/fedora-qa/os-autoinst-distri-fedora.git
synced 2024-11-25 15:23:08 +00:00
Support testing a side tag instead of an update or task
Signed-off-by: Adam Williamson <awilliam@redhat.com>
This commit is contained in:
parent
d8c374044a
commit
1f24f84bb1
22
lib/utils.pm
22
lib/utils.pm
@ -467,9 +467,9 @@ sub mount_update_image {
|
|||||||
|
|
||||||
sub umount_update_image {
|
sub umount_update_image {
|
||||||
# inverse of mount_update_image
|
# inverse of mount_update_image
|
||||||
assert_script_run "sed -i '/updateiso/d' /etc/fstab";
|
assert_script_run "sed -i '/updateiso/d' /etc/fstab" if (get_var("ISO_2"));
|
||||||
assert_script_run "sed -i '/workaroundsiso/d' /etc/fstab" if (get_var("ISO_3"));
|
assert_script_run "sed -i '/workaroundsiso/d' /etc/fstab" if (get_var("ISO_3"));
|
||||||
assert_script_run "umount /mnt/updateiso" unless (script_run "grep updateiso /proc/mounts");
|
assert_script_run "umount /mnt/updateiso" unless (!get_var("ISO_2") || script_run "grep updateiso /proc/mounts");
|
||||||
assert_script_run "umount /mnt/workaroundsiso" unless (!get_var("ISO_3") || script_run "grep workaroundsiso /proc/mounts");
|
assert_script_run "umount /mnt/workaroundsiso" unless (!get_var("ISO_3") || script_run "grep workaroundsiso /proc/mounts");
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -541,13 +541,14 @@ sub _repo_setup_compose {
|
|||||||
sub _repo_setup_updates {
|
sub _repo_setup_updates {
|
||||||
# Appropriate repo setup steps for testing a Bodhi update
|
# Appropriate repo setup steps for testing a Bodhi update
|
||||||
# sanity check
|
# sanity check
|
||||||
die "_repo_setup_updates called, but ISO_2 is not attached!" unless (get_var("ISO_2"));
|
die "_repo_setup_updates called, but ISO_2 is not attached!" unless (get_var("ISO_2") || get_var("TAG"));
|
||||||
mount_update_image;
|
mount_update_image if (get_var("ISO_2"));
|
||||||
# Check if we already ran, bail if so
|
# Check if we already ran, bail if so
|
||||||
return unless script_run "test -f /root/.oqarsurun";
|
return unless script_run "test -f /root/.oqarsurun";
|
||||||
my $version = get_var("VERSION");
|
my $version = get_var("VERSION");
|
||||||
my $currrel = get_var("CURRREL", "0");
|
my $currrel = get_var("CURRREL", "0");
|
||||||
my $arch = get_var("ARCH");
|
my $arch = get_var("ARCH");
|
||||||
|
my $tag = get_var("TAG");
|
||||||
# this can be used for debugging repo config if something is wrong
|
# this can be used for debugging repo config if something is wrong
|
||||||
# unless (script_run 'pushd /etc/yum.repos.d && tar czvf yumreposd.tar.gz * && popd') {
|
# unless (script_run 'pushd /etc/yum.repos.d && tar czvf yumreposd.tar.gz * && popd') {
|
||||||
# upload_logs "/etc/yum.repos.d/yumreposd.tar.gz";
|
# upload_logs "/etc/yum.repos.d/yumreposd.tar.gz";
|
||||||
@ -576,14 +577,19 @@ sub _repo_setup_updates {
|
|||||||
}
|
}
|
||||||
# set up the workaround repo
|
# set up the workaround repo
|
||||||
setup_workaround_repo;
|
setup_workaround_repo;
|
||||||
upload_logs "/mnt/updateiso/updatepkgnames.txt";
|
upload_logs "/mnt/updateiso/updatepkgnames.txt" unless ($tag);
|
||||||
upload_logs "/mnt/updateiso/updatepkgs.txt";
|
upload_logs "/mnt/updateiso/updatepkgs.txt" unless ($tag);
|
||||||
# write a repo config file, unless this is the support_server test
|
# write a repo config file, unless this is the support_server test
|
||||||
# and it is running on a different release than the update is for
|
# and it is running on a different release than the update is for
|
||||||
# (in this case we need the repo to exist but do not want to use
|
# (in this case we need the repo to exist but do not want to use
|
||||||
# it on the actual support_server system)
|
# it on the actual support_server system)
|
||||||
unless (get_var("TEST") eq "support_server" && $version ne get_var("CURRREL")) {
|
unless (get_var("TEST") eq "support_server" && $version ne get_var("CURRREL")) {
|
||||||
|
if ($tag) {
|
||||||
|
assert_script_run 'printf "[openqa-testtag]\nname=openqa-testtag\nbaseurl=https://kojipkgs.fedoraproject.org/repos/' . "$tag/latest/$arch" . '/\ncost=2000\nenabled=1\ngpgcheck=0\n" > /etc/yum.repos.d/openqa-testtag.repo';
|
||||||
|
}
|
||||||
|
else {
|
||||||
assert_script_run 'printf "[advisory]\nname=Advisory repo\nbaseurl=file:///mnt/updateiso/update_repo\nenabled=1\nmetadata_expire=3600\ngpgcheck=0" > /etc/yum.repos.d/advisory.repo';
|
assert_script_run 'printf "[advisory]\nname=Advisory repo\nbaseurl=file:///mnt/updateiso/update_repo\nenabled=1\nmetadata_expire=3600\ngpgcheck=0" > /etc/yum.repos.d/advisory.repo';
|
||||||
|
}
|
||||||
# run an update now, except for upgrade or install tests,
|
# run an update now, except for upgrade or install tests,
|
||||||
# where the updated packages should have been installed
|
# where the updated packages should have been installed
|
||||||
# already and we want to fail if they weren't, or CANNED
|
# already and we want to fail if they weren't, or CANNED
|
||||||
@ -1010,6 +1016,8 @@ sub quit_with_shortcut {
|
|||||||
# are currently installed. This is here so we can do it both in
|
# are currently installed. This is here so we can do it both in
|
||||||
# _advisory_post and post_fail_hook.
|
# _advisory_post and post_fail_hook.
|
||||||
sub advisory_get_installed_packages {
|
sub advisory_get_installed_packages {
|
||||||
|
# can't do anything useful when testing a side tag
|
||||||
|
return if (get_var("TAG"));
|
||||||
# sanity check
|
# sanity check
|
||||||
die "advisory_get_installed_packages, but ISO_2 is not attached!" unless (get_var("ISO_2"));
|
die "advisory_get_installed_packages, but ISO_2 is not attached!" unless (get_var("ISO_2"));
|
||||||
mount_update_image;
|
mount_update_image;
|
||||||
@ -1041,6 +1049,8 @@ sub advisory_check_nonmatching_packages {
|
|||||||
fatal => 1,
|
fatal => 1,
|
||||||
@_
|
@_
|
||||||
);
|
);
|
||||||
|
# can't do anything useful when testing a side tag
|
||||||
|
return if (get_var("TAG"));
|
||||||
# sanity check
|
# sanity check
|
||||||
die "advisory_check_nonmatching_packages called, but ISO_2 is not attached!" unless (get_var("ISO_2"));
|
die "advisory_check_nonmatching_packages called, but ISO_2 is not attached!" unless (get_var("ISO_2"));
|
||||||
mount_update_image;
|
mount_update_image;
|
||||||
|
@ -382,7 +382,7 @@
|
|||||||
},
|
},
|
||||||
"settings": {
|
"settings": {
|
||||||
"+START_AFTER_TEST": "installer_build@%ARCH_BASE_MACHINE%",
|
"+START_AFTER_TEST": "installer_build@%ARCH_BASE_MACHINE%",
|
||||||
"ADD_REPOSITORY_VARIATION": "nfs://172.16.2.110:/mnt/updateiso/update_repo",
|
"ADD_REPOSITORY_VARIATION": "%UPDATE_OR_TAG_REPO%",
|
||||||
"INSTALL": "1",
|
"INSTALL": "1",
|
||||||
"INSTALL_UNLOCK": "support_ready",
|
"INSTALL_UNLOCK": "support_ready",
|
||||||
"ISO": "%ADVISORY_OR_TASK%-netinst-%ARCH%.iso",
|
"ISO": "%ADVISORY_OR_TASK%-netinst-%ARCH%.iso",
|
||||||
|
@ -25,9 +25,10 @@ sub run {
|
|||||||
unless ($version > $currrel) {
|
unless ($version > $currrel) {
|
||||||
$cmd .= " --isfinal --repo=/etc/yum.repos.d/fedora-updates.repo";
|
$cmd .= " --isfinal --repo=/etc/yum.repos.d/fedora-updates.repo";
|
||||||
}
|
}
|
||||||
$cmd .= " --repo=/etc/yum.repos.d/advisory.repo";
|
$cmd .= " --repo=/etc/yum.repos.d/advisory.repo" if (get_var("ISO_2"));
|
||||||
$cmd .= " --repo=/etc/yum.repos.d/workarounds.repo" if (get_var("ISO_3"));
|
$cmd .= " --repo=/etc/yum.repos.d/workarounds.repo" if (get_var("ISO_3"));
|
||||||
$cmd .= " --repo=/etc/yum.repos.d/koji-rawhide.repo" if ($version eq $rawrel);
|
$cmd .= " --repo=/etc/yum.repos.d/koji-rawhide.repo" if ($version eq $rawrel);
|
||||||
|
$cmd .= " --repo=/etc/yum.repos.d/openqa-testtag.repo" if (get_var("TAG"));
|
||||||
$cmd .= " ./results";
|
$cmd .= " ./results";
|
||||||
assert_script_run $cmd, 2400;
|
assert_script_run $cmd, 2400;
|
||||||
# good to have the log around for checks
|
# good to have the log around for checks
|
||||||
|
@ -43,11 +43,14 @@ sub run {
|
|||||||
assert_script_run "echo \"include('/etc/mock/fedora-${version}-${arch}.cfg')\" > /etc/mock/openqa.cfg";
|
assert_script_run "echo \"include('/etc/mock/fedora-${version}-${arch}.cfg')\" > /etc/mock/openqa.cfg";
|
||||||
# make the side and workarounds repos and the serial device available inside the mock root
|
# make the side and workarounds repos and the serial device available inside the mock root
|
||||||
assert_script_run 'echo "config_opts[\'plugin_conf\'][\'bind_mount_enable\'] = True" >> /etc/mock/openqa.cfg';
|
assert_script_run 'echo "config_opts[\'plugin_conf\'][\'bind_mount_enable\'] = True" >> /etc/mock/openqa.cfg';
|
||||||
assert_script_run 'echo "config_opts[\'plugin_conf\'][\'bind_mount_opts\'][\'dirs\'].append((\'/mnt/updateiso/update_repo\', \'/mnt/updateiso/update_repo\'))" >> /etc/mock/openqa.cfg';
|
assert_script_run 'echo "config_opts[\'plugin_conf\'][\'bind_mount_opts\'][\'dirs\'].append((\'/mnt/updateiso/update_repo\', \'/mnt/updateiso/update_repo\'))" >> /etc/mock/openqa.cfg' if (get_var("ISO_2"));
|
||||||
assert_script_run 'echo "config_opts[\'plugin_conf\'][\'bind_mount_opts\'][\'dirs\'].append((\'/mnt/workaroundsiso/workarounds_repo\', \'/mnt/workaroundsiso/workarounds_repo\'))" >> /etc/mock/openqa.cfg' if (get_var("ISO_3"));
|
assert_script_run 'echo "config_opts[\'plugin_conf\'][\'bind_mount_opts\'][\'dirs\'].append((\'/mnt/workaroundsiso/workarounds_repo\', \'/mnt/workaroundsiso/workarounds_repo\'))" >> /etc/mock/openqa.cfg' if (get_var("ISO_3"));
|
||||||
assert_script_run 'echo "config_opts[\'plugin_conf\'][\'bind_mount_opts\'][\'dirs\'].append((\'/dev/' . $serialdev . '\', \'/dev/' . $serialdev . '\'))" >> /etc/mock/openqa.cfg';
|
assert_script_run 'echo "config_opts[\'plugin_conf\'][\'bind_mount_opts\'][\'dirs\'].append((\'/dev/' . $serialdev . '\', \'/dev/' . $serialdev . '\'))" >> /etc/mock/openqa.cfg';
|
||||||
# add the side repo to the config
|
my $tag = get_var("TAG");
|
||||||
my $repos = 'config_opts[\'dnf.conf\'] += \"\"\"\n[advisory]\nname=Advisory repo\nbaseurl=file:///mnt/updateiso/update_repo\nenabled=1\nmetadata_expire=3600\ngpgcheck=0\n';
|
my $repos = 'config_opts[\'dnf.conf\'] += \"\"\"\n';
|
||||||
|
# add the update repo or tag repo to the config
|
||||||
|
$repos .= '[advisory]\nname=Advisory repo\nbaseurl=file:///mnt/updateiso/update_repo\nenabled=1\nmetadata_expire=3600\ngpgcheck=0\n' if (get_var("ISO_2"));
|
||||||
|
$repos .= '[openqa-testtag]\nname=Tag test repo\nbaseurl=https://kojipkgs.fedoraproject.org/repos/' . "${tag}/latest/${arch}" . '\nenabled=1\nmetadata_expire=3600\ngpgcheck=0\n' if ($tag);
|
||||||
# and the workaround repo if present
|
# and the workaround repo if present
|
||||||
$repos .= '\n[workarounds]\nname=Workarounds repo\nbaseurl=file:///mnt/workaroundsiso/workarounds_repo\nenabled=1\nmetadata_expire=3600\ngpgcheck=0\n' if (get_var("ISO_3"));
|
$repos .= '\n[workarounds]\nname=Workarounds repo\nbaseurl=file:///mnt/workaroundsiso/workarounds_repo\nenabled=1\nmetadata_expire=3600\ngpgcheck=0\n' if (get_var("ISO_3"));
|
||||||
# also the buildroot repo, for Rawhide
|
# also the buildroot repo, for Rawhide
|
||||||
@ -64,8 +67,9 @@ sub run {
|
|||||||
assert_script_run 'git clone https://pagure.io/fedora-kickstarts.git';
|
assert_script_run 'git clone https://pagure.io/fedora-kickstarts.git';
|
||||||
assert_script_run 'cd fedora-kickstarts';
|
assert_script_run 'cd fedora-kickstarts';
|
||||||
assert_script_run "git checkout ${branch}";
|
assert_script_run "git checkout ${branch}";
|
||||||
# now add the side repo to the appropriate repo ks
|
# now add the side repo or tag repo to the appropriate repo ks
|
||||||
assert_script_run 'echo "repo --name=advisory --baseurl=file:///mnt/updateiso/update_repo" >> ' . $repoks;
|
assert_script_run 'echo "repo --name=advisory --baseurl=file:///mnt/updateiso/update_repo" >> ' . $repoks if (get_var("ISO_2"));
|
||||||
|
assert_script_run 'echo "repo --name=openqa-testtag --baseurl=https://kojipkgs.fedoraproject.org/repos/' . "${tag}/latest/${arch}" . '" >> ' . $repoks if ($tag);
|
||||||
# and the workarounds repo
|
# and the workarounds repo
|
||||||
assert_script_run 'echo "repo --name=workarounds --baseurl=file:///mnt/workaroundsiso/workarounds_repo" >> ' . $repoks if (get_var("ISO_3"));
|
assert_script_run 'echo "repo --name=workarounds --baseurl=file:///mnt/workaroundsiso/workarounds_repo" >> ' . $repoks if (get_var("ISO_3"));
|
||||||
# and the buildroot repo, for Rawhide
|
# and the buildroot repo, for Rawhide
|
||||||
|
@ -41,13 +41,16 @@ sub run {
|
|||||||
assert_script_run 'pushd workstation-ostree-config';
|
assert_script_run 'pushd workstation-ostree-config';
|
||||||
assert_script_run "git checkout ${branch}";
|
assert_script_run "git checkout ${branch}";
|
||||||
# now copy the advisory, workaround repo and koji-rawhide config files
|
# now copy the advisory, workaround repo and koji-rawhide config files
|
||||||
assert_script_run 'cp /etc/yum.repos.d/advisory.repo .';
|
assert_script_run 'cp /etc/yum.repos.d/advisory.repo .' if (get_var("ISO_2"));
|
||||||
assert_script_run 'cp /etc/yum.repos.d/workarounds.repo .' if (get_var("ISO_3"));
|
assert_script_run 'cp /etc/yum.repos.d/workarounds.repo .' if (get_var("ISO_3"));
|
||||||
assert_script_run 'cp /etc/yum.repos.d/koji-rawhide.repo .' if ($version eq $rawrel);
|
assert_script_run 'cp /etc/yum.repos.d/koji-rawhide.repo .' if ($version eq $rawrel);
|
||||||
|
assert_script_run 'cp /etc/yum.repos.d/openqa-testtag.repo .' if (get_var("TAG"));
|
||||||
# and add them to the config file
|
# and add them to the config file
|
||||||
my $repl = 'repos:\n - advisory';
|
my $repl = 'repos:';
|
||||||
|
$repl .= '\n - advisory' if (get_var("ISO_2"));
|
||||||
$repl .= '\n - workarounds' if (get_var("ISO_3"));
|
$repl .= '\n - workarounds' if (get_var("ISO_3"));
|
||||||
$repl .= '\n - koji-rawhide' if ($version eq $rawrel);
|
$repl .= '\n - koji-rawhide' if ($version eq $rawrel);
|
||||||
|
$repl .= '\n - openqa-testtag' if (get_var("TAG"));
|
||||||
assert_script_run 'sed -i -e "s,repos:,' . $repl . ',g" fedora-' . $lcsubv . '.yaml';
|
assert_script_run 'sed -i -e "s,repos:,' . $repl . ',g" fedora-' . $lcsubv . '.yaml';
|
||||||
# change the ref name to a custom one (so we can test rebasing to
|
# change the ref name to a custom one (so we can test rebasing to
|
||||||
# the 'normal' ref later)
|
# the 'normal' ref later)
|
||||||
@ -94,9 +97,10 @@ sub run {
|
|||||||
unless ($version > $currrel) {
|
unless ($version > $currrel) {
|
||||||
$cmd .= " --isfinal --repo=/etc/yum.repos.d/fedora-updates.repo";
|
$cmd .= " --isfinal --repo=/etc/yum.repos.d/fedora-updates.repo";
|
||||||
}
|
}
|
||||||
$cmd .= " --repo=/etc/yum.repos.d/advisory.repo";
|
$cmd .= " --repo=/etc/yum.repos.d/advisory.repo" if (get_var("ISO_2"));
|
||||||
$cmd .= " --repo=/etc/yum.repos.d/workarounds.repo" if (get_var("ISO_3"));
|
$cmd .= " --repo=/etc/yum.repos.d/workarounds.repo" if (get_var("ISO_3"));
|
||||||
$cmd .= " --repo=/etc/yum.repos.d/koji-rawhide.repo" if ($version eq $rawrel);
|
$cmd .= " --repo=/etc/yum.repos.d/koji-rawhide.repo" if ($version eq $rawrel);
|
||||||
|
$cmd .= " --repo=/etc/yum.repos.d/openqa-testtag.repo" if (get_var("TAG"));
|
||||||
$cmd .= " ./results";
|
$cmd .= " ./results";
|
||||||
assert_script_run $cmd, 7000;
|
assert_script_run $cmd, 7000;
|
||||||
# good to have the log around for checks
|
# good to have the log around for checks
|
||||||
|
Loading…
Reference in New Issue
Block a user