From c92e8eca1aea1db6a9de99fada7befcc602ac6e3 Mon Sep 17 00:00:00 2001 From: junxiawang Date: Thu, 15 Jun 2017 07:15:03 -0400 Subject: [PATCH 1/5] Refine test case: nodeset_cmdline, nodeset_runimage, nodeset_shell --- xCAT-test/autotest/testcase/genesis/cases0 | 6 ++--- .../autotest/testcase/genesis/genesistest.pl | 25 ++++++++++++++++--- 2 files changed, 24 insertions(+), 7 deletions(-) diff --git a/xCAT-test/autotest/testcase/genesis/cases0 b/xCAT-test/autotest/testcase/genesis/cases0 index 977261ad0..3b0037e5d 100644 --- a/xCAT-test/autotest/testcase/genesis/cases0 +++ b/xCAT-test/autotest/testcase/genesis/cases0 @@ -2,7 +2,7 @@ start:nodeset_shell description: verify could log in genesis shell cmd:perl /opt/xcat/share/xcat/tools/autotest/testcase/genesis/genesistest.pl -n $$CN -g check:rc==0 -cmd:perl /opt/xcat/share/xcat/tools/autotest/testcase/genesis/genesistest.pl -n $$CN -s +cmd:perl /opt/xcat/share/xcat/tools/autotest/testcase/genesis/genesistest.pl -n $$CN -s ;if [[ $? -eq 0 ]];then exit 0 ;else cat /var/log/consoles/$$CN; cat /tmp/genesistestlog/*;exit 1;fi check:rc==0 cmd:perl /opt/xcat/share/xcat/tools/autotest/testcase/genesis/genesistest.pl -n $$CN -c check:rc==0 @@ -12,7 +12,7 @@ start:nodeset_cmdline description:verify could run cmdline successfully cmd:perl /opt/xcat/share/xcat/tools/autotest/testcase/genesis/genesistest.pl -n $$CN -g check:rc==0 -cmd:perl /opt/xcat/share/xcat/tools/autotest/testcase/genesis/genesistest.pl -n $$CN -d +cmd:perl /opt/xcat/share/xcat/tools/autotest/testcase/genesis/genesistest.pl -n $$CN -d;if [[ $? -eq 0 ]];then exit 0 ;else cat /var/log/consoles/$$CN;cat /tmp/genesistestlog/*;exit 1;fi check:rc==0 cmd:perl /opt/xcat/share/xcat/tools/autotest/testcase/genesis/genesistest.pl -n $$CN -c check:rc==0 @@ -22,7 +22,7 @@ start:nodeset_runimg description:verify runimg could work cmd:perl /opt/xcat/share/xcat/tools/autotest/testcase/genesis/genesistest.pl -n $$CN -g check:rc==0 -cmd:perl /opt/xcat/share/xcat/tools/autotest/testcase/genesis/genesistest.pl -n $$CN -i +cmd:perl /opt/xcat/share/xcat/tools/autotest/testcase/genesis/genesistest.pl -n $$CN -i;if [[ $? -eq 0 ]];then exit 0 ;else cat /var/log/consoles/$$CN;cat /tmp/genesistestlog/*;exit 1;fi check:rc==0 cmd:perl /opt/xcat/share/xcat/tools/autotest/testcase/genesis/genesistest.pl -n $$CN -c check:rc==0 diff --git a/xCAT-test/autotest/testcase/genesis/genesistest.pl b/xCAT-test/autotest/testcase/genesis/genesistest.pl index 73c3bc3b4..cf64a2bc5 100755 --- a/xCAT-test/autotest/testcase/genesis/genesistest.pl +++ b/xCAT-test/autotest/testcase/genesis/genesistest.pl @@ -5,7 +5,6 @@ BEGIN $::XCATROOT = $ENV{'XCATROOT'} ? $ENV{'XCATROOT'} : -d '/opt/xcat' ? '/opt/xcat' : '/usr'; } use lib "$::XCATROOT/lib/perl"; -use xCAT::Utils; use strict; use warnings; use Getopt::Long; @@ -71,7 +70,8 @@ if (!defined($noderange)) { print "$::USAGE"; exit 1; } -my $os = xCAT::Utils->osver("all"); +my $os = &get_os; +print "os is $os\n"; if ($check_genesis_file) { send_msg(2, "[$$]:Check genesis file..............."); &check_genesis_file(&get_arch); @@ -81,8 +81,9 @@ if ($check_genesis_file) { send_msg(2, "genesis file available"); } } -my $master=xCAT::TableUtils->get_site_Master(); +my $master=`lsdef -t site -i master -c 2>&1 | awk -F'=' '{print \$2}'`; if (!$master) { $master=hostname(); } +print "master is $master\n"; #################################### ####nodesetshell test for genesis @@ -236,6 +237,7 @@ sub rungenesisimg { chmod 0755, "/install/my_image/runme.sh"; `tar -zcvf /tmp/my_image.tgz -C /install/my_image .`; copy("/tmp/my_image.tgz", "/install/my_image") or die "Copy failed: $!"; + print "master is $master\n"; `rinstall $noderange "runimage=http://$master/install/my_image/my_image.tgz",shell`; if ($?) { send_msg(0, "rinstall noderange failed for runimg"); @@ -264,7 +266,7 @@ sub testxdsh { if (($value == 1) || ($value == 2) || ($value == 3)) { `xdsh $noderange -t 2 cat $checkfile |grep $checkstring`; if ($?) { - foreach (1 .. 1500) { + foreach (1 .. 15) { `xdsh $noderange -t 2 cat $checkfile | grep $checkstring`; last if ($? == 0); } @@ -311,6 +313,21 @@ sub clearenv { return 0; } #################################### +#get os +################################### +sub get_os { + my $os = "unknown"; + my $output = `cat /etc/*release* 2>&1`; + if ($output =~ /suse/i) { + $os = "sles"; + } elsif ($output =~ /Red Hat/i) { + $os = "redhat"; + } elsif ($output =~ /ubuntu/i) { + $os = "ubuntu"; + } + return $os; +} +#################################### #get arch ################################### sub get_arch { From 6cb1dbb82446fe4dedb770cd13213b50efd7dd51 Mon Sep 17 00:00:00 2001 From: junxiawang Date: Thu, 15 Jun 2017 09:31:44 -0400 Subject: [PATCH 2/5] Refine test case: nodeset_cmdline, nodeset_runimage, nodeset_shell --- .../autotest/testcase/genesis/genesistest.pl | 15 ++++----------- 1 file changed, 4 insertions(+), 11 deletions(-) diff --git a/xCAT-test/autotest/testcase/genesis/genesistest.pl b/xCAT-test/autotest/testcase/genesis/genesistest.pl index cf64a2bc5..d75ff6e7b 100755 --- a/xCAT-test/autotest/testcase/genesis/genesistest.pl +++ b/xCAT-test/autotest/testcase/genesis/genesistest.pl @@ -1,10 +1,5 @@ #!/usr/bin/env perl # IBM(c) 2007 EPL license http://www.eclipse.org/legal/epl-v10.html -BEGIN -{ - $::XCATROOT = $ENV{'XCATROOT'} ? $ENV{'XCATROOT'} : -d '/opt/xcat' ? '/opt/xcat' : '/usr'; -} -use lib "$::XCATROOT/lib/perl"; use strict; use warnings; use Getopt::Long; @@ -71,7 +66,6 @@ if (!defined($noderange)) { exit 1; } my $os = &get_os; -print "os is $os\n"; if ($check_genesis_file) { send_msg(2, "[$$]:Check genesis file..............."); &check_genesis_file(&get_arch); @@ -171,7 +165,7 @@ sub check_genesis_file { sub rungenesiscmd { my $runcmd_script = "/tmp/cmdtest"; my $result = "/tmp/testresult"; - my $genesis_base_dir = "$::XCATROOT/share/xcat/netboot/genesis"; + my $genesis_base_dir = "/opt/xcat/share/xcat/netboot/genesis"; my $genesis_bin_dir; my $value = 0; my $arch = shift; @@ -211,7 +205,7 @@ sub rungenesiscmd { sub rungenesisimg { my $runimg_script = "/tmp/imgtest"; my $result = "/tmp/testresult"; - my $genesis_base_dir = "$::XCATROOT/share/xcat/netboot/genesis"; + my $genesis_base_dir = "/opt/xcat/share/xcat/netboot/genesis"; my $genesis_bin_dir; my $value = 0; mkdir("/install/my_image"); @@ -237,7 +231,6 @@ sub rungenesisimg { chmod 0755, "/install/my_image/runme.sh"; `tar -zcvf /tmp/my_image.tgz -C /install/my_image .`; copy("/tmp/my_image.tgz", "/install/my_image") or die "Copy failed: $!"; - print "master is $master\n"; `rinstall $noderange "runimage=http://$master/install/my_image/my_image.tgz",shell`; if ($?) { send_msg(0, "rinstall noderange failed for runimg"); @@ -266,7 +259,7 @@ sub testxdsh { if (($value == 1) || ($value == 2) || ($value == 3)) { `xdsh $noderange -t 2 cat $checkfile |grep $checkstring`; if ($?) { - foreach (1 .. 15) { + foreach (1 .. 1500) { `xdsh $noderange -t 2 cat $checkfile | grep $checkstring`; last if ($? == 0); } @@ -285,7 +278,7 @@ sub clearenv { my $runmetar = "/install/my_image/my_image.tgz"; my $runmetar_tmp = "/tmp/my_image.tgz"; my $runmedir = "/install/my_image"; - my $genesis_base_dir = "$::XCATROOT/share/xcat/netboot/genesis"; + my $genesis_base_dir = "/opt/xcat/share/xcat/netboot/genesis"; if (-e "$runimg_script") { unlink("$runme"); unlink("$runmetar_tmp"); From 1340f398e0b28e857516fa93cd4b9f5a4a753079 Mon Sep 17 00:00:00 2001 From: junxiawang Date: Tue, 20 Jun 2017 08:50:35 -0400 Subject: [PATCH 3/5] Refine test case: nodeset_cmdline, nodeset_runimage, nodeset_shell --- xCAT-test/autotest/testcase/genesis/cases0 | 9 ++++++--- xCAT-test/autotest/testcase/genesis/genesistest.pl | 10 ++++++---- 2 files changed, 12 insertions(+), 7 deletions(-) diff --git a/xCAT-test/autotest/testcase/genesis/cases0 b/xCAT-test/autotest/testcase/genesis/cases0 index 3b0037e5d..f9fb966ea 100644 --- a/xCAT-test/autotest/testcase/genesis/cases0 +++ b/xCAT-test/autotest/testcase/genesis/cases0 @@ -2,28 +2,31 @@ start:nodeset_shell description: verify could log in genesis shell cmd:perl /opt/xcat/share/xcat/tools/autotest/testcase/genesis/genesistest.pl -n $$CN -g check:rc==0 -cmd:perl /opt/xcat/share/xcat/tools/autotest/testcase/genesis/genesistest.pl -n $$CN -s ;if [[ $? -eq 0 ]];then exit 0 ;else cat /var/log/consoles/$$CN; cat /tmp/genesistestlog/*;exit 1;fi +cmd:perl /opt/xcat/share/xcat/tools/autotest/testcase/genesis/genesistest.pl -n $$CN -s check:rc==0 cmd:perl /opt/xcat/share/xcat/tools/autotest/testcase/genesis/genesistest.pl -n $$CN -c check:rc==0 +cmd:cat /tmp/genesistestlog/* end start:nodeset_cmdline description:verify could run cmdline successfully cmd:perl /opt/xcat/share/xcat/tools/autotest/testcase/genesis/genesistest.pl -n $$CN -g check:rc==0 -cmd:perl /opt/xcat/share/xcat/tools/autotest/testcase/genesis/genesistest.pl -n $$CN -d;if [[ $? -eq 0 ]];then exit 0 ;else cat /var/log/consoles/$$CN;cat /tmp/genesistestlog/*;exit 1;fi +cmd:perl /opt/xcat/share/xcat/tools/autotest/testcase/genesis/genesistest.pl -n $$CN -d check:rc==0 cmd:perl /opt/xcat/share/xcat/tools/autotest/testcase/genesis/genesistest.pl -n $$CN -c check:rc==0 +cmd:cat /tmp/genesistestlog/* end start:nodeset_runimg description:verify runimg could work cmd:perl /opt/xcat/share/xcat/tools/autotest/testcase/genesis/genesistest.pl -n $$CN -g check:rc==0 -cmd:perl /opt/xcat/share/xcat/tools/autotest/testcase/genesis/genesistest.pl -n $$CN -i;if [[ $? -eq 0 ]];then exit 0 ;else cat /var/log/consoles/$$CN;cat /tmp/genesistestlog/*;exit 1;fi +cmd:perl /opt/xcat/share/xcat/tools/autotest/testcase/genesis/genesistest.pl -n $$CN -i check:rc==0 cmd:perl /opt/xcat/share/xcat/tools/autotest/testcase/genesis/genesistest.pl -n $$CN -c check:rc==0 +cmd:cat /tmp/genesistestlog/* end diff --git a/xCAT-test/autotest/testcase/genesis/genesistest.pl b/xCAT-test/autotest/testcase/genesis/genesistest.pl index d75ff6e7b..1c3c20fe6 100755 --- a/xCAT-test/autotest/testcase/genesis/genesistest.pl +++ b/xCAT-test/autotest/testcase/genesis/genesistest.pl @@ -195,7 +195,7 @@ sub rungenesiscmd { } `rinstall $noderange "runcmd=cmdtest,shell"`; if ($?) { - send_msg(0, "rinstall noderange shell failed for runcmd test"); + send_msg(0, "nodeset noderange shell failed for runcmd test"); } return $value; } @@ -257,10 +257,12 @@ sub testxdsh { $checkfile = "/proc/cmdline"; } if (($value == 1) || ($value == 2) || ($value == 3)) { - `xdsh $noderange -t 2 cat $checkfile |grep $checkstring`; + `xdsh $noderange -t 2 cat $checkfile 2>&1|grep $checkstring `; if ($?) { - foreach (1 .. 1500) { - `xdsh $noderange -t 2 cat $checkfile | grep $checkstring`; + foreach (1 .. 10) { + `sleep 300`; + send_msg(1,"try to run xdsh to check the results again"); + `xdsh $noderange -t 2 cat $checkfile 2>&1| grep $checkstring `; last if ($? == 0); } } From d8e2303b050b278b0a11d4639567b64964b0896f Mon Sep 17 00:00:00 2001 From: junxiawang Date: Tue, 20 Jun 2017 09:21:22 -0400 Subject: [PATCH 4/5] Refine test case: nodeset_cmdline, nodeset_runimage, nodeset_shell --- xCAT-test/autotest/testcase/genesis/genesistest.pl | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/xCAT-test/autotest/testcase/genesis/genesistest.pl b/xCAT-test/autotest/testcase/genesis/genesistest.pl index 1c3c20fe6..75d88398f 100755 --- a/xCAT-test/autotest/testcase/genesis/genesistest.pl +++ b/xCAT-test/autotest/testcase/genesis/genesistest.pl @@ -195,7 +195,7 @@ sub rungenesiscmd { } `rinstall $noderange "runcmd=cmdtest,shell"`; if ($?) { - send_msg(0, "nodeset noderange shell failed for runcmd test"); + send_msg(0, "rinstall noderange shell failed for runcmd test"); } return $value; } From d038c61851d675ce20591470220ccb372d9a1b46 Mon Sep 17 00:00:00 2001 From: junxiawang Date: Wed, 21 Jun 2017 05:02:53 -0400 Subject: [PATCH 5/5] Refine test case: nodeset_cmdline, nodeset_runimage, nodeset_shell --- xCAT-test/autotest/testcase/genesis/genesistest.pl | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/xCAT-test/autotest/testcase/genesis/genesistest.pl b/xCAT-test/autotest/testcase/genesis/genesistest.pl index 75d88398f..f7b376049 100755 --- a/xCAT-test/autotest/testcase/genesis/genesistest.pl +++ b/xCAT-test/autotest/testcase/genesis/genesistest.pl @@ -77,6 +77,7 @@ if ($check_genesis_file) { } my $master=`lsdef -t site -i master -c 2>&1 | awk -F'=' '{print \$2}'`; if (!$master) { $master=hostname(); } +chomp($master); print "master is $master\n"; #################################### @@ -260,7 +261,7 @@ sub testxdsh { `xdsh $noderange -t 2 cat $checkfile 2>&1|grep $checkstring `; if ($?) { foreach (1 .. 10) { - `sleep 300`; + sleep 300; send_msg(1,"try to run xdsh to check the results again"); `xdsh $noderange -t 2 cat $checkfile 2>&1| grep $checkstring `; last if ($? == 0);