action #169915
opencoordination #154768: [saga][epic][ux] State-of-art user experience for openQA
coordination #154771: [epic] Improved test developer user experience
Inconsistent console state in os-autoinst after snapshot reload size:S
0%
Description
Observation¶
Restoring from snapshot while being in the svirt serial terminal fails with "backend died: Virtio terminal and svirt serial terminal do not support send_key". See e.g.
- https://openqa.suse.de/tests/15938629/#step/secret_podman/1
- https://openqa.suse.de/tests/15938630/#step/secret_podman/1
- https://openqa.suse.de/tests/15938631/#step/secret_podman/1
- https://openqa.suse.de/tests/15938632/#step/secret_podman/1
- https://openqa.suse.de/tests/15938633/#step/secret_podman/1
- https://openqa.suse.de/tests/15938636/#step/secret_podman/1
Steps to reproduce¶
(untested), extracted from https://openqa.suse.de/tests/15938629/logfile?filename=autoinst-log.txt
- Cause a test failure while being in
select_user_serial_terminal
(and possibly alsoselect_serial_terminal
) - When openQA loads from snapshot the error above should occur
Impact¶
- A already failing test will terminate catastrophically
- Reduces test coverage and would not reveal more test failures in the same test run
Problem¶
- openQA terminates prematurely
Suggestions¶
- Checkout how https://github.com/os-autoinst/os-autoinst/pull/2580 is related
- Probably fix the backend
Workaround¶
- No workaround known
Further information¶
Updated by okurz about 1 month ago
- Category set to Feature requests
- Target version set to Ready
Updated by okurz about 1 month ago
- Related to action #123664: os-autoinst does not flush serial console buffer on snapshot reload added
Updated by okurz about 1 month ago
- Target version changed from Ready to Tools - Next
Updated by okurz 16 days ago
- Related to action #80776: [jeos] job incomplete auto_review:"(?s)(podman|docker).*Virtio terminal and svirt serial terminal do not support send_key":retry added
Updated by cfconrad 16 days ago ยท Edited
Relation to https://github.com/os-autoinst/os-autoinst/pull/2580
Only my assumptions I did not run any verifications on it... ping me directly if I could help more.
Looks similar as we have a reboot plus snapshot, with an active last_snapshot
. But I think it's a different problem.
I think it could be solved with:
- Moving the
select_serial_terminal()
at the top of the run function intests/containers/secret.pm
. - Or with this patch
diff --git a/autotest.pm b/autotest.pm
index b6fa6717..9cbd71a9 100644
--- a/autotest.pm
+++ b/autotest.pm
@@ -487,6 +487,7 @@ sub rollback_activated_consoles () {
my $ret = autotest::query_isotovideo('backend_select_console',
{testapi_console => $last_milestone_console});
die $ret->{error} if $ret->{error};
+ $selected_console = $last_milestone_console;
}
return;
}
The reason is, that in script_run()
we check if the console is serial
or not. And it seems that the active console duo the last milestone was one. But the last console in the previous test didn't. So we have some inconsistency here and script_run()
calls this Key+XXX
thing.
I currently don't have time to dig into it... so plz take it!