mirror of
https://pagure.io/fedora-qa/os-autoinst-distri-fedora.git
synced 2024-11-24 23:03:08 +00:00
0da6652287
Summary: Set up the support server to provide DHCP/DNS functionality and an NFS server, providing a kickstart. Add a kickstart test just like the other root-user-crypted-net kickstart tests except it gets the kickstart from the support server via NFS. Also add NFS repository tests and a second support server for Server-dvd-iso flavor: this test must run on that flavor to ensure that packages are actually available. The support server just mounts the attached 'DVD' and exports it via NFS. Note we don't need to do anything clever to avoid IP conflicts between the two support servers, because os-autoinst-openvswitch ensures each worker group is on its own VLAN. As part of adding the NFS repo tests, I did a bit of cleanup, moving little things we were repeating a lot into anacondatest, and sharing the 'check if the repo was used' logic between all the tests (by making it into a test step that's loaded for all of them). I also simplified the 'was repo used' checks a bit, it seems silly to run a 'grep' command inside the VM then have os-autoinst do a grep on the output (which is effectively what we were doing before), instead we'll just use a single grep within the VM, and clean up the messy quoting/escaping a bit. Test Plan: Run all tests - at least all repository tests - and check they work (make sure the tests are actually still sane, not just that they pass). I've done runs of all the repo tests and they look good to me, but please double-check. I'm currently re-running the whole 24-20160609.n.0 test on staging with these changes. Reviewers: jskladan, garretraziel Reviewed By: garretraziel Subscribers: tflink Differential Revision: https://phab.qadevel.cloud.fedoraproject.org/D888
68 lines
2.3 KiB
Perl
68 lines
2.3 KiB
Perl
use base "anacondatest";
|
|
use strict;
|
|
use testapi;
|
|
|
|
sub run {
|
|
my $self = shift;
|
|
# construct the kernel params. the trick here is to wind up with
|
|
# spaced params if GRUB or GRUBADD is set, and just spaces if not,
|
|
# then check if we got all spaces. We wind up with a harmless
|
|
# extra space if GRUBADD is set but GRUB is not.
|
|
my $params = "";
|
|
$params .= get_var("GRUB", "") . " ";
|
|
$params .= get_var("GRUBADD", "") . " ";
|
|
# Construct inst.repo arg for REPOSITORY_VARIATION
|
|
my $repourl = get_var("REPOSITORY_VARIATION");
|
|
if ($repourl) {
|
|
$params .= "inst.repo=" . $self->get_full_repo($repourl);
|
|
}
|
|
# ternary: set $params to "" if it contains only spaces
|
|
$params = $params =~ /^\s+$/ ? "" : $params;
|
|
|
|
# set mutex wait if necessary
|
|
my $mutex = get_var("INSTALL_UNLOCK");
|
|
|
|
# call do_bootloader with postinstall=0, the params, and the mutex
|
|
$self->do_bootloader(postinstall=>0, params=>$params, mutex=>$mutex);
|
|
|
|
# proceed to installer
|
|
unless (get_var("KICKSTART"))
|
|
{
|
|
# on lives, we have to explicitly launch anaconda
|
|
if (get_var('LIVE')) {
|
|
assert_and_click "live_start_anaconda_icon", '', 300;
|
|
}
|
|
my $language = get_var('LANGUAGE') || 'english';
|
|
# wait for anaconda to appear
|
|
assert_screen "anaconda_select_install_lang", 300;
|
|
# Select install language
|
|
assert_and_click "anaconda_select_install_lang_input";
|
|
type_string "${language}";
|
|
# Needle filtering in main.pm ensures we will only look for the
|
|
# appropriate language, here
|
|
assert_and_click "anaconda_select_install_lang_filtered";
|
|
assert_screen "anaconda_select_install_lang_selected", 3;
|
|
assert_and_click "anaconda_select_install_lang_continue";
|
|
|
|
if ( check_screen "anaconda_rawhide_accept_fate" ) {
|
|
assert_and_click "anaconda_rawhide_accept_fate";
|
|
}
|
|
|
|
# wait for Anaconda hub to appear
|
|
assert_screen "anaconda_main_hub", 900; #
|
|
}
|
|
}
|
|
|
|
|
|
sub test_flags {
|
|
# without anything - rollback to 'lastgood' snapshot if failed
|
|
# 'fatal' - whole test suite is in danger if this fails
|
|
# 'milestone' - after this test succeeds, update 'lastgood'
|
|
# 'important' - if this fails, set the overall state to 'fail'
|
|
return { fatal => 1 };
|
|
}
|
|
|
|
1;
|
|
|
|
# vim: set sw=4 et:
|