Please refer to https://github.com/os-autoinst/os-autoinst-distri-opensuse/pull/12011#discussion_r580936548 for the background.
The issue can only be seen on s390x platform now,create this poo to track.
During my test, I found some abnormal issue with the below openqa code:
power_action("reboot", textmode => 1);
reconnect_mgmt_console;
$self->wait_boot(textmode => 1, bootloader_time => 400, ready_time => 600);
$self->select_serial_terminal;
It seems that there are duplicated checking point on "grub" and "host login".
I did a try with the following code changes for "lib/utils", it can work now: https://openqa.suse.de/tests/5519541
However, we have to do enough tests to make sure the changes are safe.
diff --git a/lib/utils.pm b/lib/utils.pm
index 4beaa1e8e..25bee9477 100644
--- a/lib/utils.pm
+++ b/lib/utils.pm
@@ -1372,9 +1372,11 @@ sub reconnect_mgmt_console {
diag 'Could not find boot selection, continuing nevertheless, trying to boot';
type_line_svirt '';
}
- wait_serial('GNU GRUB', $args{grub_timeout}) ||
- diag 'Could not find GRUB screen, continuing nevertheless, trying to boot';
- type_line_svirt '', expect => $login_ready, timeout => $args{timeout}, fail_message => 'Could not find login prompt';
+ if (check_var('UPGRADE', '1') || check_var('INSTALLONLY', '1')) {
+ wait_serial('GNU GRUB', $args{grub_timeout}) ||
+ diag 'Could not find GRUB screen, continuing nevertheless, trying to boot';
+ type_line_svirt '', expect => $login_ready, timeout => $args{timeout}, fail_message => 'Could not find login prompt';
+ }
}
}
Thanks to Lemon and Yutao' suggestion:
(check_var('UPGRADE', '1') || check_var('INSTALLONLY', '1')) => if (is_upgrade || check_var('INSTALLONLY', '1'))