Re: [PATCH 04/10 v2] ktest: Introduce CONSOLE_RESET_TIME

From: Andrew Jones
Date: Wed Aug 24 2011 - 04:46:09 EST


On Thu, Aug 18, 2011 at 05:28:03PM -0400, Steven Rostedt wrote:
> On Fri, 2011-08-12 at 18:25 +0200, Andrew Jones wrote:
> > When rebooting, some targets may lose their console connection. This
> > certainly happens with 'virsh console' when used with my xen guests.
> > Setting CONSOLE_RESET_TIME will tell ktest to reconnect the console
> > after reboot.
>
> Oops, you forgot to add your SOB to this version of the patch. Could you
> just reply to this with your signed-off-by tag.
>

Doh, I think I may have missed all my v2s.

> Thanks!
>
> -- Steve
>
> > ---
> > tools/testing/ktest/ktest.pl | 28 +++++++++++++++++++++++-----
> > tools/testing/ktest/sample.conf | 8 ++++++++
> > 2 files changed, 31 insertions(+), 5 deletions(-)
> >
> > diff --git a/tools/testing/ktest/ktest.pl b/tools/testing/ktest/ktest.pl
> > index 12c392e..8bc6dd8 100755
> > --- a/tools/testing/ktest/ktest.pl
> > +++ b/tools/testing/ktest/ktest.pl
> > @@ -108,6 +108,7 @@ my $monitor_cnt = 0;
> > my $sleep_time;
> > my $bisect_sleep_time;
> > my $patchcheck_sleep_time;
> > +my $console_reset_time;
> > my $ignore_warnings;
> > my $store_failures;
> > my $test_name;
> > @@ -606,6 +607,7 @@ sub run_command;
> > sub start_monitor;
> > sub end_monitor;
> > sub wait_for_monitor;
> > +sub reset_monitor;
> >
> > sub reboot {
> > my ($time) = @_;
> > @@ -626,6 +628,7 @@ sub reboot {
> > wait_for_monitor $time;
> > end_monitor;
> > }
> > + reset_monitor;
> > }
> >
> > sub do_not_reboot {
> > @@ -685,7 +688,9 @@ sub close_console {
> > }
> >
> > sub start_monitor {
> > - if ($monitor_cnt++) {
> > + my ($force) = @_;
> > +
> > + if ($monitor_cnt++ && !defined($force)) {
> > return;
> > }
> > $monitor_fp = \*MONFD;
> > @@ -697,12 +702,23 @@ sub start_monitor {
> > }
> >
> > sub end_monitor {
> > - if (--$monitor_cnt) {
> > + my ($force) = @_;
> > +
> > + if (--$monitor_cnt && !defined($force)) {
> > return;
> > }
> > close_console($monitor_fp, $monitor_pid);
> > }
> >
> > +sub reset_monitor {
> > + if ($monitor_cnt <= 0 || !defined($console_reset_time)) {
> > + return;
> > + }
> > + end_monitor 'force';
> > + sleep $console_reset_time;
> > + start_monitor 'force';
> > +}
> > +
> > sub wait_for_monitor {
> > my ($time) = @_;
> > my $line;
> > @@ -911,10 +927,11 @@ sub wait_for_input
> > sub reboot_to {
> > if ($reboot_type eq "grub") {
> > run_ssh "'(echo \"savedefault --default=$grub_number --once\" | grub --batch && reboot)'";
> > - return;
> > + } else {
> > + run_command "$reboot_script";
> > }
> > -
> > - run_command "$reboot_script";
> > + wait_for_monitor $sleep_time;
> > + reset_monitor;
> > }
> >
> > sub get_sha1 {
> > @@ -2817,6 +2834,7 @@ for (my $i = 1; $i <= $opt{"NUM_TESTS"}; $i++) {
> > $sleep_time = set_test_option("SLEEP_TIME", $i);
> > $bisect_sleep_time = set_test_option("BISECT_SLEEP_TIME", $i);
> > $patchcheck_sleep_time = set_test_option("PATCHCHECK_SLEEP_TIME", $i);
> > + $console_reset_time = set_test_option("CONSOLE_RESET_TIME", $i);
> > $ignore_warnings = set_test_option("IGNORE_WARNINGS", $i);
> > $bisect_manual = set_test_option("BISECT_MANUAL", $i);
> > $bisect_skip = set_test_option("BISECT_SKIP", $i);
> > diff --git a/tools/testing/ktest/sample.conf b/tools/testing/ktest/sample.conf
> > index b8bcd14..ba430a7 100644
> > --- a/tools/testing/ktest/sample.conf
> > +++ b/tools/testing/ktest/sample.conf
> > @@ -491,6 +491,14 @@
> > # (default 60)
> > #PATCHCHECK_SLEEP_TIME = 60
> >
> > +# If the console needs to be reset during a reboot cycle in
> > +# order to reestablish it's connection, then set this option
> > +# to the number of seconds ktest should wait between disconnect
> > +# and reconnect. This is needed when using 'virsh console' to
> > +# connect to guests.
> > +# (default undefined)
> > +#CONSOLE_RESET_TIME = 5
> > +
> > # Reboot the target box on error (default 0)
> > #REBOOT_ON_ERROR = 0
> >
>
>
Signed-off-by: Andrew Jones <drjones@xxxxxxxxxx>
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/