1
0
mirror of https://pagure.io/fedora-qa/os-autoinst-distri-fedora.git synced 2024-11-21 21:43:08 +00:00

Make UEFI testing the default, add Secure Boot testing

This essentially inverts the x86_64 machines so that '64bit' is
UEFI and instead of a variant 'uefi' machine we have a variant
'bios' machine that is BIOS. The point is to make UEFI testing
the default. We also enable Secure Boot in the UEFI testing,
and add a test of UEFI fallback booting on various products.

Signed-off-by: Adam Williamson <awilliam@redhat.com>
This commit is contained in:
Adam Williamson 2024-03-19 16:52:00 -07:00
parent 85943b9aeb
commit 7e0cd0898e
10 changed files with 319 additions and 224 deletions

View File

@ -310,10 +310,6 @@ sub load_postinstall_tests() {
} }
autotest::loadtest $storagepost if ($storagepost); autotest::loadtest $storagepost if ($storagepost);
if (get_var("UEFI") && !get_var("NO_UEFI_POST") && !get_var("START_AFTER_TEST")) {
autotest::loadtest "tests/uefi_postinstall.pm";
}
# console avc / crash check # console avc / crash check
# it makes no sense to run this after logging in on most post- # it makes no sense to run this after logging in on most post-
# install tests (hence ! BOOTFROM) and we do not want it # install tests (hence ! BOOTFROM) and we do not want it
@ -362,6 +358,10 @@ sub load_postinstall_tests() {
} }
} }
if (get_var("UEFI") && !get_var("NO_UEFI_POST") && !get_var("START_AFTER_TEST")) {
autotest::loadtest "tests/uefi_postinstall.pm";
}
# we should shut down before uploading disk images # we should shut down before uploading disk images
if (get_var("STORE_HDD_1") || get_var("STORE_HDD_2") || get_var("PUBLISH_HDD_1")) { if (get_var("STORE_HDD_1") || get_var("STORE_HDD_2") || get_var("PUBLISH_HDD_1")) {
autotest::loadtest "tests/_console_shutdown.pm"; autotest::loadtest "tests/_console_shutdown.pm";

View File

@ -0,0 +1,20 @@
{
"area": [
{
"width": 74,
"type": "match",
"height": 16,
"xpos": 465,
"ypos": 577
}
],
"properties": [],
"tags": [
"ENV-DISTRI-fedora",
"ENV-FLAVOR-server_boot",
"ENV-FLAVOR-workstation_live",
"ENV-UEFI-1",
"bootloader_uefi",
"bootloader"
]
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 9.6 KiB

View File

@ -0,0 +1,15 @@
{
"area": [
{
"xpos": 0,
"ypos": 109,
"height": 53,
"type": "match",
"width": 148
}
],
"properties": [],
"tags": [
"sysmon_fsystems_shown"
]
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 108 KiB

View File

@ -5,7 +5,7 @@
"distri": "fedora", "distri": "fedora",
"flavor": "updates-container", "flavor": "updates-container",
"settings": { "settings": {
"+HDD_1": "disk_f%VERSION%_server_3_%ARCH%.qcow2", "+HDD_1": "disk_f%VERSION%_server_4_%ARCH%.qcow2",
"NUMDISKS": "2", "NUMDISKS": "2",
"RETRY": "1" "RETRY": "1"
}, },
@ -16,7 +16,7 @@
"distri": "fedora", "distri": "fedora",
"flavor": "updates-container", "flavor": "updates-container",
"settings": { "settings": {
"+HDD_1": "disk_f%VERSION%_server_3_%ARCH%.qcow2", "+HDD_1": "disk_f%VERSION%_server_4_%ARCH%.qcow2",
"NUMDISKS": "2", "NUMDISKS": "2",
"RETRY": "1" "RETRY": "1"
}, },
@ -27,7 +27,7 @@
"distri": "fedora", "distri": "fedora",
"flavor": "updates-container", "flavor": "updates-container",
"settings": { "settings": {
"+HDD_1": "disk_f%VERSION%_server_3_%ARCH%.qcow2", "+HDD_1": "disk_f%VERSION%_server_4_%ARCH%.qcow2",
"NUMDISKS": "2", "NUMDISKS": "2",
"RETRY": "1" "RETRY": "1"
}, },
@ -48,7 +48,7 @@
"distri": "fedora", "distri": "fedora",
"flavor": "updates-kde", "flavor": "updates-kde",
"settings": { "settings": {
"+HDD_1": "disk_f%VERSION%_kde_4_%ARCH%.qcow2", "+HDD_1": "disk_f%VERSION%_kde_5_%ARCH%.qcow2",
"DESKTOP": "kde", "DESKTOP": "kde",
"NUMDISKS": "2", "NUMDISKS": "2",
"RETRY": "1" "RETRY": "1"
@ -60,7 +60,7 @@
"distri": "fedora", "distri": "fedora",
"flavor": "updates-server", "flavor": "updates-server",
"settings": { "settings": {
"+HDD_1": "disk_f%VERSION%_server_3_%ARCH%.qcow2", "+HDD_1": "disk_f%VERSION%_server_4_%ARCH%.qcow2",
"NUMDISKS": "2", "NUMDISKS": "2",
"RETRY": "1" "RETRY": "1"
}, },
@ -71,7 +71,7 @@
"distri": "fedora", "distri": "fedora",
"flavor": "updates-server", "flavor": "updates-server",
"settings": { "settings": {
"+HDD_1": "disk_f%VERSION%_server_3_%ARCH%.qcow2", "+HDD_1": "disk_f%VERSION%_server_4_%ARCH%.qcow2",
"NUMDISKS": "2", "NUMDISKS": "2",
"RETRY": "1" "RETRY": "1"
}, },
@ -82,7 +82,7 @@
"distri": "fedora", "distri": "fedora",
"flavor": "updates-server-upgrade", "flavor": "updates-server-upgrade",
"settings": { "settings": {
"+HDD_1": "disk_f%VERSION%_server_3_%ARCH%.qcow2", "+HDD_1": "disk_f%VERSION%_server_4_%ARCH%.qcow2",
"NUMDISKS": "2", "NUMDISKS": "2",
"RETRY": "1" "RETRY": "1"
}, },
@ -113,7 +113,7 @@
"distri": "fedora", "distri": "fedora",
"flavor": "updates-server", "flavor": "updates-server",
"settings": { "settings": {
"+HDD_1": "disk_f%VERSION%_server_3_%ARCH%.qcow2", "+HDD_1": "disk_f%VERSION%_server_4_%ARCH%.qcow2",
"NUMDISKS": "2", "NUMDISKS": "2",
"RETRY": "1" "RETRY": "1"
}, },
@ -182,7 +182,7 @@
"flavor": "updates-workstation", "flavor": "updates-workstation",
"settings": { "settings": {
"DESKTOP": "gnome", "DESKTOP": "gnome",
"+HDD_1": "disk_f%VERSION%_desktop_4_%ARCH%.qcow2", "+HDD_1": "disk_f%VERSION%_desktop_5_%ARCH%.qcow2",
"NUMDISKS": "2", "NUMDISKS": "2",
"RETRY": "1" "RETRY": "1"
}, },
@ -206,8 +206,8 @@
"machine": "64bit", "machine": "64bit",
"product": "fedora-updates-everything-boot-iso-x86_64-*" "product": "fedora-updates-everything-boot-iso-x86_64-*"
}, },
"fedora-updates-everything-boot-iso-x86_64-*-uefi": { "fedora-updates-everything-boot-iso-x86_64-*-bios": {
"machine": "uefi", "machine": "bios",
"product": "fedora-updates-everything-boot-iso-x86_64-*" "product": "fedora-updates-everything-boot-iso-x86_64-*"
}, },
"fedora-updates-kde-x86_64-*-64bit": { "fedora-updates-kde-x86_64-*-64bit": {
@ -238,24 +238,24 @@
"machine": "64bit", "machine": "64bit",
"product": "fedora-updates-kde-live-iso-x86_64-*" "product": "fedora-updates-kde-live-iso-x86_64-*"
}, },
"fedora-updates-kde-live-iso-x86_64-*-uefi": { "fedora-updates-kde-live-iso-x86_64-*-bios": {
"machine": "uefi", "machine": "bios",
"product": "fedora-updates-kde-live-iso-x86_64-*" "product": "fedora-updates-kde-live-iso-x86_64-*"
}, },
"fedora-updates-silverblue-dvd_ostree-iso-x86_64-*-64bit": { "fedora-updates-silverblue-dvd_ostree-iso-x86_64-*-64bit": {
"machine": "64bit", "machine": "64bit",
"product": "fedora-updates-silverblue-dvd_ostree-iso-x86_64-*" "product": "fedora-updates-silverblue-dvd_ostree-iso-x86_64-*"
}, },
"fedora-updates-silverblue-dvd_ostree-iso-x86_64-*-uefi": { "fedora-updates-silverblue-dvd_ostree-iso-x86_64-*-bios": {
"machine": "uefi", "machine": "bios",
"product": "fedora-updates-silverblue-dvd_ostree-iso-x86_64-*" "product": "fedora-updates-silverblue-dvd_ostree-iso-x86_64-*"
}, },
"fedora-updates-workstation-live-iso-x86_64-*-64bit": { "fedora-updates-workstation-live-iso-x86_64-*-64bit": {
"machine": "64bit", "machine": "64bit",
"product": "fedora-updates-workstation-live-iso-x86_64-*" "product": "fedora-updates-workstation-live-iso-x86_64-*"
}, },
"fedora-updates-workstation-live-iso-x86_64-*-uefi": { "fedora-updates-workstation-live-iso-x86_64-*-bios": {
"machine": "uefi", "machine": "bios",
"product": "fedora-updates-workstation-live-iso-x86_64-*" "product": "fedora-updates-workstation-live-iso-x86_64-*"
}, },
"fedora-updates-workstation-upgrade-x86_64-*-64bit": { "fedora-updates-workstation-upgrade-x86_64-*-64bit": {
@ -367,10 +367,10 @@
}, },
"install_default_update_live": { "install_default_update_live": {
"profiles": { "profiles": {
"fedora-updates-kde-live-iso-x86_64-*-bios": 5,
"fedora-updates-kde-live-iso-x86_64-*-64bit": 5, "fedora-updates-kde-live-iso-x86_64-*-64bit": 5,
"fedora-updates-kde-live-iso-x86_64-*-uefi": 5, "fedora-updates-workstation-live-iso-x86_64-*-bios": 5,
"fedora-updates-workstation-live-iso-x86_64-*-64bit": 5, "fedora-updates-workstation-live-iso-x86_64-*-64bit": 5
"fedora-updates-workstation-live-iso-x86_64-*-uefi": 5
}, },
"settings": { "settings": {
"+START_AFTER_TEST": "live_build@%ARCH_BASE_MACHINE%", "+START_AFTER_TEST": "live_build@%ARCH_BASE_MACHINE%",
@ -381,8 +381,8 @@
}, },
"install_default_update_netinst": { "install_default_update_netinst": {
"profiles": { "profiles": {
"fedora-updates-everything-boot-iso-x86_64-*-64bit": 5, "fedora-updates-everything-boot-iso-x86_64-*-bios": 5,
"fedora-updates-everything-boot-iso-x86_64-*-uefi": 5 "fedora-updates-everything-boot-iso-x86_64-*-64bit": 5
}, },
"settings": { "settings": {
"+START_AFTER_TEST": "installer_build@%ARCH_BASE_MACHINE%", "+START_AFTER_TEST": "installer_build@%ARCH_BASE_MACHINE%",
@ -410,7 +410,7 @@
}, },
"install_default_ostree": { "install_default_ostree": {
"profiles": { "profiles": {
"fedora-updates-silverblue-dvd_ostree-iso-x86_64-*-uefi": 5 "fedora-updates-silverblue-dvd_ostree-iso-x86_64-*-bios": 5
}, },
"settings": { "settings": {
"INSTALL": "1", "INSTALL": "1",
@ -425,7 +425,7 @@
}, },
"settings": { "settings": {
"BOOTFROM": "c", "BOOTFROM": "c",
"HDD_1": "disk_f%VERSION%_minimal_3_%ARCH%.qcow2", "HDD_1": "disk_f%VERSION%_minimal_4_%ARCH%.qcow2",
"NUMDISKS": "2", "NUMDISKS": "2",
"POSTINSTALL": "_installer_build", "POSTINSTALL": "_installer_build",
"ROOT_PASSWORD": "weakpassword", "ROOT_PASSWORD": "weakpassword",
@ -442,7 +442,7 @@
"+LIVE": "", "+LIVE": "",
"BOOTFROM": "c", "BOOTFROM": "c",
"GRUB_POSTINSTALL": "selinux=0", "GRUB_POSTINSTALL": "selinux=0",
"HDD_1": "disk_f%VERSION%_minimal_3_%ARCH%.qcow2", "HDD_1": "disk_f%VERSION%_minimal_4_%ARCH%.qcow2",
"HDDSIZEGB_3": "25", "HDDSIZEGB_3": "25",
"MAX_JOB_TIME": "10800", "MAX_JOB_TIME": "10800",
"+NUMDISKS": "3", "+NUMDISKS": "3",
@ -459,7 +459,7 @@
"+DESKTOP": "", "+DESKTOP": "",
"+CANNED": "", "+CANNED": "",
"BOOTFROM": "c", "BOOTFROM": "c",
"HDD_1": "disk_f%VERSION%_minimal_3_%ARCH%.qcow2", "HDD_1": "disk_f%VERSION%_minimal_4_%ARCH%.qcow2",
"HDDSIZEGB_3": "30", "HDDSIZEGB_3": "30",
"MAX_JOB_TIME": "12600", "MAX_JOB_TIME": "12600",
"+NUMDISKS": "3", "+NUMDISKS": "3",

File diff suppressed because it is too large Load Diff

View File

@ -8,6 +8,10 @@ sub run {
assert_screen "user_console", 300; assert_screen "user_console", 300;
type_string "sudo su\n"; type_string "sudo su\n";
assert_script_run "coreos-installer install /dev/vda --ignition-url https://www.happyassassin.net/temp/openqa.ign", 600; assert_script_run "coreos-installer install /dev/vda --ignition-url https://www.happyassassin.net/temp/openqa.ign", 600;
# the CoreOS installer does not write an efibootmgr entry, so to
# ensure we boot from hard disk on next boot, wipe the entry for
# the optical drive
assert_script_run('efibootmgr -b $(efibootmgr | grep CD-ROM | head -1 | cut -f1 | sed -e "s,[^0-9],,g") -B') if (get_var("UEFI"));
type_string "reboot\n"; type_string "reboot\n";
} }

View File

@ -0,0 +1,30 @@
use base "installedtest";
use strict;
use testapi;
use utils;
sub run {
my $self = shift;
if (not(check_screen "root_console", 0)) {
$self->root_console(tty => 4);
}
# now try deleting the "Fedora" boot entry and rebooting, to check the fallback path
assert_script_run('efibootmgr -b $(efibootmgr | grep Fedora | head -1 | cut -f1 | sed -e "s,[^0-9],,g") -B');
# check that worked
validate_script_output('efibootmgr', sub { $_ !~ m/.*Fedora.*/s });
type_string("reboot\n");
boot_to_login_screen;
$self->root_console(tty => 3);
# Fedora entry should have been recreated
validate_script_output('efibootmgr', sub { m/Fedora/ });
# SB should still be enabled
validate_script_output('mokutil --sb-state', sub { m/SecureBoot enabled/ });
}
sub test_flags {
return {fatal => 1};
}
1;
# vim: set sw=4 et:

View File

@ -13,6 +13,10 @@ sub run {
console_loadkeys_us; console_loadkeys_us;
# this test shows if the system is booted with efi # this test shows if the system is booted with efi
assert_script_run '[ -d /sys/firmware/efi/ ]'; assert_script_run '[ -d /sys/firmware/efi/ ]';
# if Secure Boot should be enabled, check it is; if it isn't,
# that *probably* indicates a test system issue not a distro bug,
# but we want to know either way
validate_script_output('mokutil --sb-state', sub { m/SecureBoot enabled/ }) if (get_var("UEFI_SECURE"));
} }
sub test_flags { sub test_flags {