1
0
mirror of https://pagure.io/fedora-qa/os-autoinst-distri-fedora.git synced 2024-12-26 20:23:09 +00:00
Commit Graph

96 Commits

Author SHA1 Message Date
Lukas Ruzicka
242d687e38 Rewrite tests from VNC to RDP
The VNC installation method has been replaced with a similar method
based on RDP. This PR uses the old mechanism and alters it for the
RDP method.

The test suite consists of two parts, a server and a client part.
The server is the real test on which Fedora Custom installation
is performed from the client via RDP.

The client is spinned off the pre-installed desktop image.

Fixes #345
2024-12-20 12:36:08 -08:00
Adam Williamson
62ec56636b work around rhbz #2329581 (installer boot hang till key pressed)
Signed-off-by: Adam Williamson <awilliam@redhat.com>
2024-12-02 08:52:20 -08:00
Adam Williamson
77d6f3128c Use 'fXX-build' tag repo for Rawhide, not 'rawhide'
The 'rawhide' tag repo used to be just a symlink to the 'fXX-build'
one, but With the on-demand repo changes, that's no longer the
case. It looks like the 'fXX-build' repo gets regenerated more
often than 'rawhide' (which seems to regen every two hours), so
let's use 'fXX-build' instead.

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2024-11-07 15:19:40 -08:00
Lukas Ruzicka
c392480f92 Rebase the PR to fit within the current status quo. 2024-09-26 16:04:59 -07:00
Dan Čermák
4315e5ff6f Add openQA tests for i3 2024-09-26 16:04:59 -07:00
Adam Williamson
201fddcb72 Be case-flexible in ELN version checks
There's some ambiguity about the case of the ELN version string.
Currently it's "ELN", it's going to be "eln" soon. Let's just
always use case-insensitive comparisons.

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2024-09-04 13:17:00 -07:00
Adam Williamson
76711fd039 Tweak _boot_to_anaconda and g-i-s flow for new Rawhide g-i-s
We're dropping the live user mode patch from g-i-s downstream
because it's just too hard to maintain, apparently. So on Rawhide
the live image will boot to the welcome screen as normal, but
running the installer will give you newui rather than webui. If
you need a language other than English you have to sort it out
at the desktop before running the installer.

On first boot, g-i-s will show *all* screens, not skipping
language, keyboard layout or timezone, because we did not see
those in the installer.

This adapts the tests to handle the new flow, and should still
work with the other flows.

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2024-08-20 16:15:55 -07:00
Lukas Ruzicka
c056ac945b Tidy the _boot_to_anaconda.pm to stop messing with side branches. 2024-06-25 11:24:10 +02:00
Adam Williamson
c68c215489 Handle VNC question disappearing in serial mode too
Signed-off-by: Adam Williamson <awilliam@redhat.com>
2024-06-21 09:42:41 -07:00
Adam Williamson
8028586183 text mode: handle the "use VNC instead?" question going away
Intentionally or not, a recent anaconda change made it so the
"text mode sucks, use VNC instead?" question is no longer ever
shown - https://bugzilla.redhat.com/show_bug.cgi?id=2293672 .
So, we should handle the flow where we just go straight to the
hub. If they decide this was intentional and kill the question
for good we can drop the path that handles it.

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2024-06-21 09:15:01 -07:00
Adam Williamson
247c1853b4 Fix logic in live install retry loop
Signed-off-by: Adam Williamson <awilliam@redhat.com>
2024-06-03 22:55:28 -07:00
Adam Williamson
e353649ed8 Try launching live installer up to 5 times (#2280840)
We already try twice, but that seems to be not enough for the
annoying #2280840, we're often seeing failures.

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2024-06-03 17:22:39 -07:00
Adam Williamson
976b37f976 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 <awilliam@redhat.com>
2024-05-13 09:38:00 -07:00
Adam Williamson
2b51d930b9 Tweak the IoT incomplete hub workaround a bit
Signed-off-by: Adam Williamson <awilliam@redhat.com>
2024-03-08 08:49:52 -08:00
Adam Williamson
8da5b7c010 Work around IoT incomplete hub issue
This is a workaround for
https://github.com/osbuild/images/issues/309 , the IoT installer
showing incomplete spokes in the main hub. We work around it by
visiting them all.

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2024-03-06 17:52:04 -08:00
Adam Williamson
d23e5d7dd7 Bump the default bootloader timeout a bit
We're taking a long time to reach it on aarch64 on prod recently
for some reason. It's probably some weirdness with qemu/edk2. So
let's just bump the timeout as I don't have an easy fix on hand
and this won't hurt anything.

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2024-01-19 15:24:19 -08:00
Adam Williamson
6f5b10dbe6 Drop workaround for RHBZ #2170544
The change was reverted, and per the needle cleanup, we have not
seen this path for some time.

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2024-01-09 17:50:24 -08:00
Adam Williamson
4e62eb8ec5 Remove the anaconda_help test
Help support has been removed from anaconda:
https://github.com/rhinstaller/anaconda/pull/5335
so we no longer ought to test it.

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2023-11-29 12:11:00 -08:00
Adam Williamson
461e211618 Drop use of PXEBOOT, rely on default boot order
Per https://progress.opensuse.org/issues/151258 , PXEBOOT=once
doesn't work right in current os-autoinst. Now I look at it,
PXEBOOT is just pretty ropey in general; on UEFI and aarch64 it
doesn't actually do anything at all, we're actually just relying
on the default boot order there.

Since it doesn't seem like there's a practical way to make
PXEBOOT=once work as intended on all platforms, let's just drop
use of it and make it clear that we rely on the default boot
order: we hope that on first boot we'll get a PXE boot since no
local media are bootable, then on second boot we'll get a local
disk boot.

We set up a new IS_PXE variable to cue the couple of places where
the test logic needs to be different.

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2023-11-21 16:23:25 -08:00
Adam Williamson
ec5bab0176 Initial anaconda webUI support
This is tailored to the initial deployment of webUI in
Workstation live images only; we may need to tweak flows and
approaches as webUI goes further.

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2023-08-22 18:05:51 -07:00
Adam Williamson
b0fb6911f3 Add initial template stuff and test tweaks for ELN testing
Just a couple of flavors and tests for now.

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2023-06-19 17:28:42 +02:00
Adam Williamson
e89ec3017a Update serial console handling for upstream changes
Upstream https://github.com/os-autoinst/openQA/pull/4973 requires
us to poke things here a bit. This only works with the newer
os-autoinst and openQA (there may be a way to conditionalize it
to work with both, but I can't be bothered figuring it out, let's
just update).

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2023-05-02 12:24:26 -07:00
Adam Williamson
ca6ca2e490 Handle a persistent overlay warning on live boot (#2170544)
In today's F38 and Rawhide, changes to the persistent overlay
stuff result in a boot warning you have to spam through. Let's
handle this as a soft fail so we don't have floods of failed
tests till it's fixed.

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2023-02-16 09:12:36 -08:00
Adam Williamson
a566f01a79 _boot_to_anaconda: extend the sleep before bootloader re-check
What's supposed to happen here is the `do_bootloader` invocation
a few lines back boots to the installer, then here, we wait for
the install to complete and the system to reboot, and match the
bootloader again. However, on PXE installs, the bootloader screen
can hang around for quite a long time here, and if it does, we
can match it again before the installer starts up, and move on
too early. Hence the sleep.

It seems on current Rawhide 20 seconds isn't long enough - we're
still matching the installer bootloader after the sleep, see
e.g. https://openqa.stg.fedoraproject.org/tests/2431660#step/_boot_to_anaconda/3
This is causing the test to almost always fail (it'll only pass
if the install+reboot takes less than five minutes). Let's bump
it to 60 seconds and hope that's long enough.

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2022-12-14 12:29:00 -08:00
Adam Williamson
1a65993d36 Add a perltidy check and apply it to the entire codebase
Signed-off-by: Adam Williamson <awilliam@redhat.com>
2022-07-28 14:38:38 -07:00
Adam Williamson
5beb87cc16 Drop another unnecessary release number condition
Signed-off-by: Adam Williamson <awilliam@redhat.com>
2022-05-16 16:14:02 -07:00
Adam Williamson
9882ddcaa5 Robustify and tweak switch out of overview on GNOME boot
This fails sometimes just because we're too early, or something.
Also with GNOME Shell 41rc, alt-f1 no longer works to open and
close the overview. super *does* seem to work in KDE these days,
so let's switch from alt-f1 to super everywhere.

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2021-09-07 11:05:55 -07:00
Adam Williamson
803ae7ca57 Add a test of an additional repository using a metalink (#198)
As suggested by @kparal, this adds a test that specifies an
additional repository using a metalink. The repository contains
a single package, 'testpackage', that supplements glibc (so it
should always get installed). The test runs an install then
checks that testpackage got installed.

We also deduplicate a pair of needles which were matching on the
same anaconda UI feature (an "add" button) and use that same
needle in this test.

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2021-08-18 14:03:27 -07:00
Adam Williamson
87454c5c98 Simplify KDE anaconda launch double click conditional
The kde-settings update went stable now, so we can just do 'if
KDE and relnum > 33'.

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2021-06-23 10:50:56 -07:00
Adam Williamson
6807b54a64 Need to double click anaconda launcher with kde-settings 34.6
KDE has made it so you need to double-click icons on the desktop
now. Unfortunately this means a clunky conditional at least until
the update goes stable. When F33 is EOL we can reduce it to
just "if kde".

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2021-06-21 17:10:35 -07:00
Lukáš Růžička
c6d443a20f Automate the QA:Testcase_Anaconda_help.
This PR automates the mentioned testcase to test that Help can be
displayed in Anaconda during the installation. It navigates through
the available Help screens and if it can see it, it finishes.

This test runs after `install_default_upload` to override the
installation defaults defined for all primary tests.

Delete a duplicated needle.

Reformat list extensions to make it nicer.

Get rid of wrong export and an empty line.

Delete empty line.

Use _boot_to_anaconda for booting and move subroutine accordingly.

Add variable to templates.fif.json

Delete trailing whitespace.

Fix calling the pretest.

Move help checking to another place.
2021-05-27 21:39:26 +00:00
Adam Williamson
1e5d767fa3 Handle GNOME 40 now starting at overview, not desktop
For consistency, let's just return to the desktop right away. We
also need to handle closing the overview before running installer
on live image boot.

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2021-03-04 16:03:21 -08:00
Adam Williamson
fc93309b41 Drop _assert_and_click shim
We're on newer code on both deployments now, no longer needed.

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2020-01-10 14:22:20 -08:00
Adam Williamson
2b158c60e5 Try yet another way to work around KDE live anaconda launch fail
Sigh. Let's just try clicking it again...

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2019-12-06 09:22:02 -08:00
Adam Williamson
8f8563ff13 Try a different way to fix KDE live anaconda launch issues
Lately launching anaconda on the KDE live image seems pretty
unreliable and we're not sure why. My last attempt to fix it
doesn't seem to be working, here's another effort based on the
idea it might be caused by moving the mouse from the hidden
position to the icon and back again, let's try moving the mouse
close to the icon before we assert and click it...

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2019-12-05 10:48:15 -08:00
Adam Williamson
0b210fe44c Sleep a bit before clicking the anaconda icon on live install
KDE tests are quite frequently failing lately because anaconda
doesn't launch. I'm hoping this will help.

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2019-11-22 09:54:47 -08:00
Adam Williamson
48b6c9d3e9 Change name we use for virtio serial consoles
There is nothing inherently 'root'-y about these so it makes no
sense to prefix their names with 'root-'. And why change from
'console' to 'terminal' compared to the naming used in the
actual qemu command and the log files? It's just confusing.
Let's be consistent (except for using - instead of _ here...
but - is easier to type!)

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2019-11-20 08:39:28 -08:00
Lukáš Růžička
b93a197c22 Enable Anaconda Text install via serial console.
This adds the Anaconda text installation test over
serial console and FIXES #115.
2019-11-19 22:54:55 -08:00
Adam Williamson
b82a1dec6f Add test for QA:Testcase_Anaconda_User_Interface_VNC
This adds a test for QA:Testcase_Anaconda_User_Interface_VNC -
the VNC install test case. It's implemented as a server/client
pair, with the server booting from the Server DVD image with
`inst.vnc` and the client booting from the desktop base disk
image, setting up networking, then running Boxes to connect to
the server and run the install.

There are various little tweaks to test loading and logic to
handle this, mostly pretty clear. We also move the workaround
for 'spurious auth prompt appears on desktop after you switch
away to a VT and back' out of the desktop update test and into
the `desktop_vt` helper function, since now this test can hit
it as well. We enhance _graphical_wait_login to handle the boot
loader if needed (it has never needed to until now).

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2019-11-05 14:46:10 -08:00
Adam Williamson
80dea7efe2 Tweak PXE boot test to also check kickstart file path
One of the test cases we didn't yet automate is:
https://fedoraproject.org/wiki/QA:Testcase_Kickstart_File_Path_Ks_Cfg
Now we have a PXE test, it's actually a good opportunity to test
that at the same time. I don't usually like combining tests like
this but in this case it sort of makes sense as otherwise we'd
have to have a whole parallel PXE install just to test this one
other detail. So, instead of doing an interactive PXE install as
we did at first, let's tweak the test to include a kickstart in
the initramfs and run the install from that.

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2019-10-07 14:11:48 -07:00
Adam Williamson
2f51f3ef20 Add PXE boot test
This adds a whole wodge of stuff to support_server to make it
act as a PXE server, then adds a new test which boots from PXE
and so should hit the PXE server. We use the NFS install repo as
that can be relied on to work for a support_server install.

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2019-08-20 18:17:57 -07:00
Lukas Ruzicka
d06b30e8dc Add new testcases and methods for release identification. 2019-07-30 15:45:02 -07:00
Adam Williamson
43b990195c Add a wrapper around assert_and_click to handle signature change
So, turns out new os-autoinst does *not* still accept the old
argument style for assert_and_click...and old os-autoinst
doesn't accept the new one. This adds a wrapper that handles
both, so our tests can work with old and new os-autoinst. We can
drop this once both deployments are on newer os-autoinst.

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2019-05-28 09:41:33 -07:00
Adam Williamson
87456f6b1d Use new arg style for assert_and_click
In the new os-autoinst I just sent to staging, the old style
doesn't work any more, breaks all tests. This style should also
work with the older os-autoinst on stable.

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2019-05-27 14:28:17 -07:00
Adam Williamson
794c245786 Restore #1594402 / #1661288 workarounds (aarch64 console)
This reverts commit f40599ee15,
with a few tweaks. It turns out we still need these workarounds
- see https://bugzilla.redhat.com/show_bug.cgi?id=1661288 .
2019-03-29 15:22:47 -07:00
Adam Williamson
f3caa1fc53 Bump timeout for install_lang_selected to appear a bit
It seems 3 secs was a bit tight for recent Branched and Rawhide,
test was failing when the screen was just a bit slow to update
for some reason.

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2019-03-04 17:32:25 -08:00
Adam Williamson
d1006a38e5 Have update installer test install the update packages (#89)
In https://bugzilla.redhat.com/show_bug.cgi?id=1669256 it became
obvious that there's a missing feature in the new installer test
for updates: the update is both used in the image build process
and built into the installer environment itself, but it is not
actually included in the installed package set. This can be a
problem if the update has a bug that manifests *only* at install
time if it is in the install transaction (which is exactly the
case there), because the test will not catch this, and nor will
any other test.

So this commit makes `support_server` set up the update repo and
serve it out via NFS when it's run in an update context, and
makes the actual update install test run parallel with it and
use that repository. This way the install should include the
package(s) from the update. (It also of course means the test
fails if an update breaks NFS or something like that, but hey,
we want to know that!)

A parallel commit for fedora_openqa is necessary to add the
required CURRREL setting for the updates-installer flavor.

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2019-01-26 19:14:04 +01:00
Adam Williamson
510662c1ec Drop all RHBZ #1663040 workarounds, should be fixed now
In Fedora-Rawhide-20190117.n.0 #1663040 should be fixed, so drop
all workarounds for it.

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2019-01-17 08:35:30 -08:00
Adam Williamson
ec762117d0 Wait an extra 2 minutes for the installer 'beta nag' screen
There seems to be an issue in Rawhide ATM which can cause the
'beta nag' screen to take a very long time to appear. Bump the
timeout to avoid tests failing on this.

https://bugzilla.redhat.com/show_bug.cgi?id=1666112

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2019-01-14 15:22:01 -08:00
Adam Williamson
c6fac00698 More fixing of the workaround...
Signed-off-by: Adam Williamson <awilliam@redhat.com>
2019-01-04 13:55:31 -08:00