ktest: Add CONNECT_TIMEOUT to change the connection timeout time
Before ktest issues a reboot, it will try to connect to the target machine to make sure that it is still alive. If the target does not respond within 5 seconds, it will power cycle the box instead of issuing a reboot. Five seconds may be too short, and ktest may unnecessarially power cycle the box. I have found 25 seconds seems to be a better timeout for this purpose. But even 25 may be too arbitrary. Add a CONNECT_TIMEOUT option to let the user determine the timeout time before rebooting. By default, it has been raised to 25 seconds. Signed-off-by: Steven Rostedt (VMware) <rostedt@goodmis.org>
This commit is contained in:
@@ -59,6 +59,7 @@ my %default = (
|
||||
"GRUB_REBOOT" => "grub2-reboot",
|
||||
"SYSLINUX" => "extlinux",
|
||||
"SYSLINUX_PATH" => "/boot/extlinux",
|
||||
"CONNECT_TIMEOUT" => 25,
|
||||
|
||||
# required, and we will ask users if they don't have them but we keep the default
|
||||
# value something that is common.
|
||||
@@ -163,6 +164,7 @@ my $store_failures;
|
||||
my $store_successes;
|
||||
my $test_name;
|
||||
my $timeout;
|
||||
my $connect_timeout;
|
||||
my $booted_timeout;
|
||||
my $detect_triplefault;
|
||||
my $console;
|
||||
@@ -296,6 +298,7 @@ my %option_map = (
|
||||
"STORE_SUCCESSES" => \$store_successes,
|
||||
"TEST_NAME" => \$test_name,
|
||||
"TIMEOUT" => \$timeout,
|
||||
"CONNECT_TIMEOUT" => \$connect_timeout,
|
||||
"BOOTED_TIMEOUT" => \$booted_timeout,
|
||||
"CONSOLE" => \$console,
|
||||
"CLOSE_CONSOLE_SIGNAL" => \$close_console_signal,
|
||||
@@ -1328,8 +1331,8 @@ sub reboot {
|
||||
my ($time) = @_;
|
||||
my $powercycle = 0;
|
||||
|
||||
# test if the machine can be connected to within 5 seconds
|
||||
my $stat = run_ssh("echo check machine status", 5);
|
||||
# test if the machine can be connected to within a few seconds
|
||||
my $stat = run_ssh("echo check machine status", $connect_timeout);
|
||||
if (!$stat) {
|
||||
doprint("power cycle\n");
|
||||
$powercycle = 1;
|
||||
|
Reference in New Issue
Block a user