From 632f506025cbd4ac5863be01637ba701326da784 Mon Sep 17 00:00:00 2001 From: mellor Date: Wed, 29 Oct 2008 13:44:36 +0000 Subject: [PATCH] minor rollupdate fixes git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/trunk@2408 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd --- mkAIXsnap | 19 ++++++++++--------- perl-xCAT/xCAT/Utils.pm | 17 +++++++++++++++++ xCAT-server/lib/xcat/plugins/rollupdate.pm | 20 +++++++++----------- 3 files changed, 36 insertions(+), 20 deletions(-) diff --git a/mkAIXsnap b/mkAIXsnap index a3e92e925..c68f15191 100755 --- a/mkAIXsnap +++ b/mkAIXsnap @@ -85,10 +85,10 @@ echo "instxcat" > ./flist ls *.rpm >> ./flist # add the service node bundle files to the tar file -cp $BLDTOP/xCATaixSN.bnd $RPMDIR -cp $BLDTOP/xCATaixSSH.bnd $RPMDIR -echo "xCATaixSN.bnd" >> ./flist -echo "xCATaixSSH.bnd" >> ./flist +#cp $BLDTOP/xCATaixSN.bnd $RPMDIR +#cp $BLDTOP/xCATaixSSH.bnd $RPMDIR +#echo "xCATaixSN.bnd" >> ./flist +#echo "xCATaixSSH.bnd" >> ./flist #TIME=`date +%Y%m%d%H%M` tar -cvf core-aix-snap.tar -L flist @@ -99,14 +99,15 @@ gzip core-aix-snap.tar # if [ $UPLOAD == 1 ]; then - # clear out the old files - ssh nott@shell1.sf.net "cd /home/groups/x/xc/xcat/htdocs/aix/devel; rm -f *.gz; cd /home/groups/x/xc/xcat/htdocs/aix/devel/core-snap; rm -f *.rpm" + # clear out the old files - do this manually with winscp session! +# ssh nott@shell1.sf.net "cd /home/groups/x/xc/xcat/htdocs/aix/devel; rm -f *.gz; cd /home/groups/x/xc/xcat/htdocs/aix/devel/core-snap; rm -f *.rpm" - scp *.rpm nott@shell1.sf.net:/home/groups/x/xc/xcat/htdocs/aix/devel/core-snap + scp *.rpm nott,xcat@web.sourceforge.net:/home/groups/x/xc/xcat/htdocs/aix/devel/core-snap - scp core-aix-snap.tar.gz nott@shell1.sf.net:/home/groups/x/xc/xcat/htdocs/aix/devel + scp core-aix-snap.tar.gz nott,xcat@web.sourceforge.net:/home/groups/x/xc/xcat/htdocs/aix/devel -# rsync -avP -e ssh core-aix-snap.tar.gz nott@frs.sourceforge.net:uploads/ +# for dep-aix +#scp dep-aix-2.1.tar.gz nott,xcat@web.sourceforge.net:upload/ fi diff --git a/perl-xCAT/xCAT/Utils.pm b/perl-xCAT/xCAT/Utils.pm index 1046a6c82..2979c63cd 100644 --- a/perl-xCAT/xCAT/Utils.pm +++ b/perl-xCAT/xCAT/Utils.pm @@ -958,6 +958,23 @@ sub runxcmd_output { if (defined($resp->{data})) { push @$::xcmd_outref,@{$resp->{data}}; } + if (defined($resp->{node})) { + my $node=$resp->{node}->[0]; + my $desc=$node->{name}->[0]; + if (defined($node->{data})) { + if (ref(\($node->{data}->[0])) eq 'SCALAR') { + $desc=$desc.": ".$node->{data}->[0]; + } else { + if (defined($node->{data}->[0]->{desc})) { + $desc=$desc.": ".$node->{data}->[0]->{desc}->[0]; + } + if (defined($node->{data}->[0]->{contents})) { + $desc="$desc: ".$node->{data}->[0]->{contents}->[0]; + } + } + } + push @$::xcmd_outref,$desc; + } if (defined($resp->{error})) { push @$::xcmd_outref,@{$resp->{error}}; $::RUNCMD_RC=1; diff --git a/xCAT-server/lib/xcat/plugins/rollupdate.pm b/xCAT-server/lib/xcat/plugins/rollupdate.pm index 3ebc6eead..cc7906f54 100644 --- a/xCAT-server/lib/xcat/plugins/rollupdate.pm +++ b/xCAT-server/lib/xcat/plugins/rollupdate.pm @@ -637,7 +637,7 @@ sub ll_jobs { $jcline =~ s/\[\[LLCOUNT\]\]/$machinecount/; push( @jclines, $jcline ); } - my $lljob_file = $lljobs_dir . "/rollupate_" . $ugname . ".cmd"; + my $lljob_file = $lljobs_dir . "/rollupdate_" . $ugname . ".cmd"; my $JOBFILE; unless ( open( $JOBFILE, ">$lljob_file" ) ) { my $rsp; @@ -878,10 +878,9 @@ sub rebootnodes { arg => [ "-v", $shutdown_cmd ] }, $::SUBREQ, - 0 + -1 ); - sleep(60); # give shutdown 1 minute - my $slept = 60; + my $slept = 0; my $alldown = 1; my $nodelist = join( ',', @nodes ); do { @@ -892,9 +891,9 @@ sub rebootnodes { print RULOG localtime()." Running command \'$pwrstat_cmd\' \n"; close (RULOG); } - my @pwrstat = xCAT::Utils->runxcmd( $pwrstat_cmd, $::SUBREQ, 0 ); - foreach my $pline (@pwrstat) { - my ( $pnode, $pstat ) = split( /\s+/, $pline ); + my $pwrstat = xCAT::Utils->runxcmd( $pwrstat_cmd, $::SUBREQ, -1, 1 ); + foreach my $pline (@{$pwrstat}) { + my ( $pnode, $pstat, $rest ) = split( /\s+/, $pline ); if ( ( $pstat eq "Running" ) || ( $pstat eq "Shutting" ) || ( $pstat eq "on" ) ) @@ -904,13 +903,12 @@ sub rebootnodes { # node off if ( $slept >= 300 ) { my $pwroff_cmd = "rpower $pnode off"; - my $pwrstat_cmd = "rpower $nodelist stat"; if ($::VERBOSE) { open (RULOG, ">>$::LOGDIR/$::LOGFILE"); print RULOG localtime()." Running command \'$pwroff_cmd\' \n"; close (RULOG); } - xCAT::Utils->runxcmd( $pwroff_cmd, $::SUBREQ, 0 ); + xCAT::Utils->runxcmd( $pwroff_cmd, $::SUBREQ, -1 ); } else { $alldown = 0; @@ -921,8 +919,8 @@ sub rebootnodes { # If all nodes are not down yet, wait some more unless ($alldown) { - sleep(15); - $slept += 15; + sleep(20); + $slept += 20; } } until ($alldown);