From 976b37f976a98fcc1894a75962ededee16f6f5dc Mon Sep 17 00:00:00 2001 From: Adam Williamson Date: Mon, 13 May 2024 09:19:45 -0700 Subject: [PATCH] Use workarounds and Rawhide tag repo for update net installs We're getting failures in the update network install tests today which seem to be because we're using an image built with systemd 256 to install systemd 255. This is because systemd 256 has been tagged but isn't in a compose yet, and we use the Rawhide tag repo when building the installer image but we don't add it as an additional repo for the install itself. This is obviously a hole in the process, we should use the extra repos, where appropriate, all the way through. So this makes us use both the Rawhide tag repo (when doing a Rawhide install test) and the workarounds repo (when there are workarounds) for network install tests. Signed-off-by: Adam Williamson --- tests/_boot_to_anaconda.pm | 12 +++++++++++- tests/_support_server.pm | 4 +++- 2 files changed, 14 insertions(+), 2 deletions(-) diff --git a/tests/_boot_to_anaconda.pm b/tests/_boot_to_anaconda.pm index 9f48060f..959a27fa 100644 --- a/tests/_boot_to_anaconda.pm +++ b/tests/_boot_to_anaconda.pm @@ -26,6 +26,7 @@ sub _handle_incomplete_hub { sub run { my $self = shift; + my $arch = get_var("ARCH"); if (get_var("IS_PXE")) { # PXE tests have DELAYED_START set, so VM is not running yet, # because if we boot immediately PXE will time out waiting for @@ -53,12 +54,21 @@ sub run { if ($repourl) { $params .= "inst.addrepo=addrepo,$repourl "; } + # for update tests + if (get_var("ADVISORY_OR_TASK")) { + # add workaround repo if there is one + $params .= "inst.addrepo=workarounds,nfs://172.16.2.110:/mnt/workarounds_repo " if (get_workarounds); + # add tag repo if we're on rawhide + if (get_var("VERSION") eq get_var("RAWREL")) { + $params .= "inst.addrepo=koji-rawhide,https://kojipkgs.fedoraproject.org/repos/rawhide/latest/${arch} "; + } + } if (get_var("ANACONDA_TEXT")) { $params .= "inst.text "; # we need this on aarch64 till #1594402 is resolved, # and we also can utilize this if we want to run this # over the serial console. - $params .= "console=tty0 " if (get_var("ARCH") eq "aarch64"); + $params .= "console=tty0 " if ($arch eq "aarch64"); # when the text installation should run over the serial console, # we have to add some more parametres to grub. Although, the written # test case recommends using ttyS0, OpenQA only uses that console for diff --git a/tests/_support_server.pm b/tests/_support_server.pm index 417fa180..08105fe2 100644 --- a/tests/_support_server.pm +++ b/tests/_support_server.pm @@ -135,9 +135,11 @@ sub run { assert_script_run "curl -o /export/root-user-crypted-net.ks https://fedorapeople.org/groups/qa/kickstarts/root-user-crypted-net.ks"; # for update tests, set up the update repository and export it, # if we have one (for tag and copr tests we don't really need to - # be here at all so we'll just sit here being useless) + # be here at all so we'll just sit here being useless). also the + # workarounds repo if present if (get_var("ADVISORY_OR_TASK")) { assert_script_run "echo '/mnt/update_repo 172.16.2.0/24(ro)' >> /etc/exports" if (!get_var("TAG") && !get_var("COPR")); + assert_script_run "echo '/mnt/workarounds_repo 172.16.2.0/24(ro)' >> /etc/exports" if (get_workarounds); } # for compose tests, we do all this stuff else {