mirror of
https://pagure.io/fedora-qa/os-autoinst-distri-fedora.git
synced 2024-11-22 05:53:09 +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:
parent
85943b9aeb
commit
7e0cd0898e
8
main.pm
8
main.pm
@ -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";
|
||||||
|
20
needles/console/bootloader_uefi-20240320.json
Normal file
20
needles/console/bootloader_uefi-20240320.json
Normal 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"
|
||||||
|
]
|
||||||
|
}
|
BIN
needles/console/bootloader_uefi-20240320.png
Normal file
BIN
needles/console/bootloader_uefi-20240320.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 9.6 KiB |
@ -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 |
@ -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
@ -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";
|
||||||
}
|
}
|
||||||
|
|
||||||
|
30
tests/_secure_boot_fallback.pm
Normal file
30
tests/_secure_boot_fallback.pm
Normal 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:
|
@ -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 {
|
||||||
|
Loading…
Reference in New Issue
Block a user