Work around IoT incomplete hub issue (WIP)

Signed-off-by: Adam Williamson <awilliam@redhat.com>
This commit is contained in:
Adam Williamson 2024-03-06 14:15:39 -08:00
parent a5f9c88584
commit 974e80ef43
2 changed files with 23 additions and 0 deletions

View File

@ -6,6 +6,22 @@ use utils;
use tapnet;
use anaconda;
sub _handle_incomplete_hub {
if (match_has_tag "anaconda_main_hub_keyboard_layout_incomplete") {
# workaround IoT/osbuild issue
# https://github.com/osbuild/images/issues/309
# by visiting the incomplete spokes
assert_and_click "anaconda_main_hub_keyboard_layout_incomplete";
wait_still_screen 3;
assert_and_click "anaconda_spoke_done";
assert_and_click "anaconda_main_hub_time_date_incomplete";
wait_still_screen 3;
assert_and_click "anaconda_spoke_done";
wait_still_screen 3;
send_key "shift-tab";
}
}
sub run {
my $self = shift;
if (get_var("IS_PXE")) {
@ -183,6 +199,7 @@ sub run {
}
else {
# this is when the hub appeared already, we're done
_handle_incomplete_hub;
return;
}
}
@ -201,6 +218,7 @@ sub run {
# show by now it never will, so we'll just wait for the
# hub to show up.
assert_screen "anaconda_main_hub", 900;
_handle_incomplete_hub;
}
}
}

View File

@ -115,6 +115,7 @@ sub run {
# there are various things we might have to do at a console here
# before we actually reboot. let's figure them all out first...
my @actions;
push(@actions, 'efibootmgr') if (get_var("FLAVOR") eq "IoT-dvd_ostree-iso");
push(@actions, 'consoletty0') if (get_var("ARCH") eq "aarch64");
push(@actions, 'abrt') if (get_var("ABRT", '') eq "system");
push(@actions, 'rootpw') if (get_var("INSTALLER_NO_ROOT"));
@ -184,6 +185,10 @@ sub run {
if (grep { $_ eq 'noplymouth' } @actions) {
assert_script_run "chroot $mount dnf -y remove plymouth";
}
if (grep { $_ eq 'efibootmgr' } @actions) {
assert_script_run "efibootmgr";
sleep 2;
}
type_string "reboot\n" if (grep { $_ eq 'reboot' } @actions);
}