summaryrefslogtreecommitdiff
path: root/tools/testing/ktest
diff options
context:
space:
mode:
authorSteven Rostedt <srostedt@redhat.com>2012-12-11 21:19:41 -0500
committerSteven Rostedt <rostedt@goodmis.org>2012-12-11 21:19:41 -0500
commite1a6c3d748ef0ee093e764af3fdd0c1a5cd2b664 (patch)
tree256c3d582473b5448858b758a78044beb59dd487 /tools/testing/ktest
parent189251705649bdfdf5e5850eb178f8cbfdac5480 (diff)
downloadkernel-common-e1a6c3d748ef0ee093e764af3fdd0c1a5cd2b664.tar.gz
kernel-common-e1a6c3d748ef0ee093e764af3fdd0c1a5cd2b664.tar.bz2
kernel-common-e1a6c3d748ef0ee093e764af3fdd0c1a5cd2b664.zip
ktest: Test if target machine is up before install
Sometimes a test kernel will crash or hang on reboot (this is even more apparent when testing a config without CGROUPS on a box running systemd). When this happens, on the next iteration of installing a kernel, ktest will fail when it tries to install. Have ktest do a check to see if the target can be connected to via ssh before it tries to install. If it can't connect, then reboot again. This time the reboot will fail because it can't connect and will force a power cycle. Signed-off-by: Steven Rostedt <rostedt@goodmis.org>
Diffstat (limited to 'tools/testing/ktest')
-rwxr-xr-xtools/testing/ktest/ktest.pl10
1 files changed, 10 insertions, 0 deletions
diff --git a/tools/testing/ktest/ktest.pl b/tools/testing/ktest/ktest.pl
index 6b1e0c5edc5b..35fc584a4ffe 100755
--- a/tools/testing/ktest/ktest.pl
+++ b/tools/testing/ktest/ktest.pl
@@ -1807,6 +1807,14 @@ sub do_post_install {
dodie "Failed to run post install";
}
+# Sometimes the reboot fails, and will hang. We try to ssh to the box
+# and if we fail, we force another reboot, that should powercycle it.
+sub test_booted {
+ if (!run_ssh "echo testing connection") {
+ reboot $sleep_time;
+ }
+}
+
sub install {
return if ($no_install);
@@ -1819,6 +1827,8 @@ sub install {
my $cp_target = eval_kernel_version $target_image;
+ test_booted;
+
run_scp_install "$outputdir/$build_target", "$cp_target" or
dodie "failed to copy image";