add LCD info with 'rvitals <node> all' for Firebird blade

git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/branches/2.7@14417 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
This commit is contained in:
zhaoertao 2012-11-23 11:07:12 +00:00
parent 3860a56041
commit 4b5a7005b1

View File

@ -43,6 +43,7 @@ use Getopt::Long;
use xCAT::SvrUtils;
use xCAT::FSPUtils;
my $indiscover=0;
my $vitals_info = undef; #used by 'rvitals <node> all' to show lcds info for Firebird blade
sub handled_commands {
return {
@ -3253,7 +3254,26 @@ sub bladecmd {
} elsif ($command eq "rpower") {
return power(@args);
} elsif ($command eq "rvitals") {
return vitals(@args);
my ($rc, @result) = vitals(@args);
if (defined($vitals_info) and defined($vitals_info->{$currnode})) {
my $attr = $vitals_info->{$currnode};
my $fsp_api = ($::XCATROOT) ? "$::XCATROOT/sbin/fsp-api" : "/opt/xcat/sbin/fsp-api";
my $cmd = "$fsp_api -a query_lcds -T 0 -t 0:$$attr[3]:$$attr[0]:$currnode: 2>&1";
my $res = xCAT::Utils->runcmd($cmd, -1);
if ($res !~ /error/i) {
my @array = split(/\n/, $res);
foreach my $a(@array) {
my ($name, $data) = split(/:/,$a);
if ($data =~ /1\|(\w[\w\s]*)/) {
push @result, "Current LCD: $1";
} else {
push @result, "Current LCD: blank";
}
}
}
}
return ($rc, @result);
#return vitals(@args);
} elsif ($command =~ /r[ms]preset/) {
return resetmp(@args);
} elsif ($command eq "rspconfig") {
@ -5304,7 +5324,11 @@ sub dompa {
xCAT_monitoring::monitorctrl::setNodeStatusAttributes(\%newnodestatus, 1);
}
}
if ($command eq "rvitals") {
if ((scalar(@$args) ==1 and $args->[0] eq '') or grep (/all/,@$args)) {
$vitals_info = &get_blades_for_mpa($mpa);
}
}
foreach $node (sort (keys %{$mpahash->{$mpa}->{nodes}})) {
$curn = $node;