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

63 Commits

Author SHA1 Message Date
Lukáš Růžička
fe8306d2cd Implement distribution methods to replace the testapi defaults.
This PR adds implementations of distribution methods to make them
usable on Fedora. It adds the following methods

* ensure_installed (to install packages)
* become_root (to switch to root account)
* script_sudo (run script with sudo)
* assert_script_sudo (run and assert a sudo script)

It also adds a helper script to the utils.pm

* make_serial_writable

that makes the serial console writable for normal users
and so enables to run commands that check their progress
by sending messages to the serial console. Normally, they
fail, because the messages will not be written their, so
the checking mechanism will never see them.
2022-01-27 21:44:35 +00:00
Adam Williamson
1d2255b041 Update PPC bootloader needles
Signed-off-by: Adam Williamson <awilliam@redhat.com>
2021-11-24 09:45:21 -08:00
Adam Williamson
1aefd5f883 Update some bootloader needles for grub 2.06
Looks like someone decided to make it prettier.

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2021-11-08 16:07:53 -08:00
Lukáš Růžička
59026f18a6 Delete unused memtest needles to make check_needles script pass. 2021-10-15 11:36:02 +02:00
Adam Williamson
492fcf62e4 Great Needle Cleanup 2021
Remove a whole chunk of needles that haven't matched for more
than 3 months. Also move a few needles to appropriate locations,
simplify some code chunks that relied on removed needles (if
we're not matching the needles, we don't need those chunks any
more), and drop some other no-longer-needed conditionals for
older releases.

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2021-08-10 11:57:48 -07:00
Lukáš Růžička
b87049217c Add testcase for Memtest. 2021-06-16 18:11:01 +00:00
Adam Williamson
25210463c5 Add more needles for console passphrase entry
Now we have plymouth not installed by default, we have more
different cases of hitting this.

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2021-03-23 16:40:03 -07:00
Adam Williamson
3ee11c2ac5 Update user_logged_in-noprofile-sh needle for bash 5.1
Signed-off-by: Adam Williamson <awilliam@redhat.com>
2021-03-12 18:39:03 -08:00
Adam Williamson
481b0aaf38 Remove all #1933378 workaround needles
We worked around it in a different way (installing a Plymouth
theme in the base disk image) so these shouldn't be needed any
more.

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2021-03-02 17:45:22 -08:00
Adam Williamson
dda86c52a6 Add several workaround needles for RHBZ#1933378
There's a bug in F34/Rawhide lately where the bootsplash isn't
fully cleared when displaying text consoles, this causes all the
login needles not to match. Add several workarounds to make the
most common cases at least work with the bug, failing on it is
not much use.

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2021-03-01 16:39:07 -08:00
Adam Williamson
13e5f176fe Add workaround logged_in needles for CoreOS white prompt
CoreOS currently sets the prompt to solid white (accidentally),
these needles work around that.

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2021-02-19 10:28:33 -08:00
Adam Williamson
18e15f983a Update root_logged_in-noprofile for bash 5.1
Signed-off-by: Adam Williamson <awilliam@redhat.com>
2021-01-11 15:47:19 -08:00
Adam Williamson
f88fde4a73 Verbose boot_enter_passphrase needle for current IoT state
Currently we get the prompt, but buried in a bunch of other text.

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2020-12-02 14:43:35 -08:00
Adam Williamson
f51a804357 Handle emergency console entry with no password
This happens on ARM disk images.

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2020-10-28 15:21:03 -07:00
Adam Williamson
d3569dbf37 Update anaconda rescue select needle
"Rescue" was downcased to "rescue".

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2020-10-23 22:48:51 -07:00
Adam Williamson
7ada6952b4 Update a user_logged_in needle (match dropped to 95%)
Signed-off-by: Adam Williamson <awilliam@redhat.com>
2020-08-06 12:25:07 -07:00
Adam Williamson
e6811cabba Add a workaround needle necessary for Clevis test
Missed it from last commit, whoops. This deals with
https://pagure.io/fedora-iot/issue/30 .

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2020-07-02 17:06:12 -07:00
Adam Williamson
cc589a5fcd Add variant login_permission_denied needle
In some recent tests the text is rendered slightly differently
for some reason. Not sure why, but I don't see a problem with
just adding a variant needle.

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2020-06-17 17:40:02 -07:00
Adam Williamson
6fece568c7 Add variant bootloader needle for LCC-built images
Recent live respins were built with livecd-creator rather than
livemedia-creator because the maintainer had trouble with LMC.
This results in grub looking a bit different, we need a variant
needle for it.

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2020-06-17 17:39:33 -07:00
Adam Williamson
dc7b7a7241 Great Needle Cleanup 2020
Remove a bunch of needles that have not been used for some time,
plus a few workarounds that are similarly stale.

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2020-03-20 14:02:10 -07:00
Adam Williamson
e8802935f9 Tweak text_console_login match area
On Rawhide Cloud_Base boots, there's some SSH key and network
information printed above the 'login:' prompt, so we can't
expect empty space there. Also tweak console_login() to clear
the screen after logging in, so the login prompt is cleared and
doesn't confuse things on subsequent runs (like it did first
time we tried this). And add a new user logged in needle, as it
seems after we clear the screen the tilde appears in a slightly
different position and the existing needle doesn't match.

https://openqa.fedoraproject.org/tests/489003#step/_console_wait_login/7

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2019-11-27 10:39:29 -08:00
Adam Williamson
411f0d34e7 Revert "Tweak text_console_login match area"
This reverts commit f66f510832.
Turns out this breaks lots of stuff, so it needs to go back.
I'll have to figure another way to handle the cloud login.
2019-11-27 08:36:35 -08:00
Adam Williamson
f66f510832 Tweak text_console_login match area
On Rawhide Cloud_Base boots, there's some SSH key and network
information printed above the 'login:' prompt, so we can't
expect empty space there. Let's just hope not looking for the
empty space doesn't break anything else.

https://openqa.fedoraproject.org/tests/489003#step/_console_wait_login/7

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2019-11-26 08:26:27 -08:00
Adam Williamson
e313e58cdd Add new variant boot_enter_passphrase graphical needle
New plymouth has tweaked this screen's appearance.

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2019-10-24 13:20:51 -07:00
Adam Williamson
29a5e0bda7 Add variant 'permission denied' needle
For some reason, occasionally the 'm' character looks slightly
different. I have no idea why.

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2019-09-11 10:47:13 -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
Adam Williamson
c043fb6189 Add a Bash 5.0 variant of the noprofile shell needle...
Signed-off-by: Adam Williamson <awilliam@redhat.com>
2019-04-12 16:05:12 -07:00
Adam Williamson
33f63c3d95 rescue_shell_prompt is really just a root console needle...
...so make it look like all the other ones we have already.

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2019-04-12 15:54:26 -07:00
Guy Menanteau
29070a54f1 New install_repository_hd_variation
use a new PREINSTALL to execute a rescue script before install.

This is covering the  Hard_drive_variation test as per:
https://fedoraproject.org/wiki/QA:Testcase_install_repository_Hard_drive_variation

Signed-off-by: Guy Menanteau <menantea@linux.vnet.ibm.com>
2019-04-12 15:49:54 -07:00
Adam Williamson
86fe913b84 Soft fail workaround the 'upgrade hangs at end' bug (#1674045)
We want to get accurate results from the rest of the upgrade
test and we know about this bug, so let's make it a soft fail
so we can see how the test is functioning otherwise.

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2019-03-04 18:07:04 -08:00
Adam Williamson
fc1c8185f0 Add updated graphical encryption passphrase needle
The screen appearance changed in Rawhide, new needle needed.

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2019-02-15 12:10:36 -08:00
Adam Williamson
536f699013 Post fail: handle landing in dracut shell, upload rdsosreport
If a test fails to the dracut shell, we currently don't do
anything useful. This should recognize when that happens, and
upload rdsosreport.txt.

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2019-01-16 11:24:06 -08:00
Adam Williamson
ea867ef431 Great Stale Needle Cleanup 2018: everything else
It's my second least favorite day of the year again: Stale
Needle Cleanup Day!

This should get rid of all non-anaconda needles that definitely
are not being used any more. Cleanup of all anaconda needles was
in the previous commit.

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2018-12-17 17:07:15 -08:00
Adam Williamson
6a1505a175 Add UEFI variant of grub error page needle, rename BIOS one
The --MORE-- text looks different with the UEFI firmware font,
so we need another needle. Also I named the original needle
wrong, bad me.

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2018-08-19 09:56:33 -04:00
Adam Williamson
7df2bfb4f3 Workaround RHBZ#1618928 (hit space till errors go away)
Per Neal Gompa boot will proceed if we just page through the
error(?) messages displayed when #1618928 happens, so let's do
that to let the tests get further and see what else is broken.

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2018-08-18 17:37:42 -04:00
Michel Normand
d661eaaad4 New needles encrypted tests, blue background bypass brc#1551662
The background is now blue for ppc64le, so add related needles as bypass.
no such problem with ppc64 (BE)

problem initially detected on Rawhide compose 20180204
but still present on f28 compose 20180302
             and Rawhide compose 20180513

Signed-off-by: Michel Normand <normand@linux.vnet.ibm.com>
2018-05-16 12:55:29 +02:00
Adam Williamson
307f3a0d58 Add needles to handle console login with 'white on grey' colors
https://bugzilla.redhat.com/show_bug.cgi?id=1403365 has been
around approximately forever and I still haven't managed to
debug it; let's just make needles for it, as it's not really a
critical bug, the system still *works*.

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2018-05-14 18:47:49 -07:00
Adam Williamson
085cc7d281 Add variant console passphrase needle for i386
For quite a while on i386 the 'enter passphrase' console screen
has used bright white text, for some reason. Let's just have a
variant needle for this instead of worrying too hard about why.

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2018-05-14 18:45:24 -07:00
Adam Williamson
c074fe5e34 Add some more variant needles (passphrase entry, Firefox)
Signed-off-by: Adam Williamson <awilliam@redhat.com>
2018-05-07 16:24:36 -07:00
Adam Williamson
de775ad42d Tweak bootloader_uefi so it matches both pre- and post-install
...I hope. This is necessary as we now have a case where it
needs to match post-install (aarch64 support_server, since
aarch64 is always UEFI).

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2018-03-15 12:52:17 -07:00
Adam Williamson
672d60a840 Clean up a whole bunch of unused needles
Time for an annual spring clean. Based on the admin UI's list
of needles that haven't been matched for a long time, but with
some manual tweaking (some are actually still needed).

Signed-off-by: Adam Williamson <awilliam@redhat.com>
2018-01-02 16:13:47 -08:00
Michel Normand
4750f39b73 Add anaconda-rescue_mounted-20171016 needle
Because "Rescue Mount" now replaced by "Rescue Shell" string
in expected rescue screen head.

Signed-off-by: Michel Normand <normand@linux.vnet.ibm.com>
2017-10-16 12:52:30 -07:00
Adam Williamson
22fbcf9d9f Update console_initial_setup needle
Seems like it doesn't display "Initial setup for Fedora 27" any
more, so the old needle doesn't match. We should look into
whether that's a bug, but for now, let's update the needle.
2017-09-16 17:47:25 -07:00
Adam Williamson
e6913926b0 Tweak user_logged_in needles a bit
Matching on the user name really isn't doing much good. It just
means we need more variant needles. Let's ditch that part of the
match and just match on the distinctive character sequence ~]$,
which doesn't really occur for any other reason. With this we
can drop the separate 'qwerty' needle (since the qwerty case
will match the regular needle now) and should also handle the
FreeIPA tests that are failing in Rawhide because a logged in
FreeIPA user doesn't just have a sh prompt now.
2017-09-11 14:59:04 -07:00
Guy Menanteau
06839422e5 First PowerPC specific changes (not templates)
* New OFW variable to identify Open Firmware (used by PowerPC)
* Few needles changes for PowerPC support
* as requested do not change the timers value below for PowerPC
  tests/install_source_graphical.pm (300 to 600)
  tests/_boot_to_anaconda.pm (300 to 1200)
  This will be handled by TIMEOUT_SCALE in templates

Signed-off-by: Guy Menanteau <menantea@linux.vnet.ibm.com>
2017-09-06 08:43:04 +02:00
Adam Williamson
2e2357496a Add a root variant of the 'bash noprofile' needle
Looks like root is suffering from this now, too...
2017-09-02 12:53:56 -07:00
Adam Williamson
9b91c839a7 Treat failure to source bash profile as a soft fail
There's a bug in current Rawhide causing sourcing of /etc/bashrc
to fail when logging in as a regular user. This results in the
bash prompt looking different, which is currently a hard fail,
and causes most tests to die. It's better to treat this as a
soft fail so the rest of the test can run. So add a needle to
spot this case, and a little finish function the console login
function calls whenever it's successfully logged in, to check
whether it got the no-profile prompt and register a soft fail.
2017-09-02 12:49:56 -07:00
Adam Williamson
df32aa869a Add new 'noprofile user logged in' needle for sh 4.4 2017-03-17 08:27:42 -07:00
Adam Williamson
186678e98b Make log upload work when installed system hits emergency mode
Summary:
This is to handle cases like #1414904 , where the system boots
to emergency mode. We really need logs to try and debug this.

Test Plan:
Force a test to hit emergency mode somehow (right now
you can just run base_services_start on Rawhide over and over
until you hit #1414904, but there's probably an easier way to
do it, I think there's a systemd boot arg to tell it which target
to boot for e.g.) and check logs get uploaded. Also check this
doesn't break log upload for a 'normal' failure.

Reviewers: garretraziel_but_actually_jsedlak_who_uses_stupid_nicknames

Reviewed By: garretraziel_but_actually_jsedlak_who_uses_stupid_nicknames

Subscribers: tflink

Differential Revision: https://phab.qa.fedoraproject.org/D1103
2017-02-01 12:30:21 +01:00
Adam Williamson
641b30ac09 Add another boot passphrase entry needle variant for F25
The F25 'desktopencrypt' images built by createhdds boot to a
console passphrase entry screen, not graphical. F24 images
built the same way boot to a graphical passphrase entry screen.
I'm not sure why, but it's not really worth spending a lot of
energy on, I don't think - let's just add a needle to cover
this case.
2017-01-11 14:56:50 -08:00