Added "rspconfig network|pd1|pd2|swnet" support
git-svn-id: https://svn.code.sf.net/p/xcat/code/xcat-core/trunk@1025 8638fb3e-16cb-4fca-ae20-7b5d299a9bcd
This commit is contained in:
parent
125101d535
commit
1e286f0aaa
@ -5,7 +5,6 @@ package xCAT_plugin::blade;
|
||||
use xCAT::Table;
|
||||
use Thread qw(yield);
|
||||
use xCAT::Utils;
|
||||
use xCAT::Usage;
|
||||
use IO::Socket;
|
||||
use SNMP;
|
||||
use strict;
|
||||
@ -37,7 +36,16 @@ sub handled_commands {
|
||||
switchblade => 'nodehm:mgt',
|
||||
};
|
||||
}
|
||||
|
||||
my %usage = (
|
||||
"rpower" => "Usage: rpower <noderange> [--nodeps][on|off|reset|stat|boot]",
|
||||
"rbeacon" => "Usage: rbeacon <noderange> [on|off|stat]",
|
||||
"rvitals" => "Usage: rvitals <noderange> [all|temp|voltage|fanspeed|power|leds]",
|
||||
"reventlog" => "Usage: reventlog <noderange> [all|clear|<number of entries to retrieve>]",
|
||||
"rinv" => "Usage: rinv <noderange> [all|model|serial|vpd|mprom|deviceid|uuid]",
|
||||
"rbootseq" => "Usage: rbootseq <noderange> [hd0|hd1|hd2|hd3|net|iscsi|usbflash|floppy|none],...",
|
||||
"rscan" => "Usage: rscan <noderange> [-w][-x|-z]",
|
||||
"rspconfig" => "Usage: rspconfig <noderange> [snmpdest[=<dest ip address>]|alert[=on|off|en|dis|enable|disable]|community[=<string>]|sshcfg[=enable|disable]|snmpcfg[=enable|disable]|ntp[=ntp,ip,frequency,v3]]"
|
||||
);
|
||||
my %macmap; #Store responses from rinv for discovery
|
||||
my $macmaptimestamp; #reflect freshness of cache
|
||||
my $mmprimoid = '1.3.6.1.4.1.2.3.51.2.22.5.1.1.4';#mmPrimary
|
||||
@ -420,10 +428,29 @@ sub mpaconfig {
|
||||
push @cfgtext,@$result;
|
||||
next;
|
||||
}
|
||||
if ($parameter =~ /^build$/) {
|
||||
my $data = $session->get(['1.3.6.1.4.1.2.3.51.2.2.21.3.1.1.3',1]);
|
||||
push @cfgtext,"Build ID: $data";
|
||||
next;
|
||||
if ($parameter =~ /^ifconfig$/i) {
|
||||
if ($assignment) {
|
||||
my ($ip,$gateway,$mask) = split /,/,$value;
|
||||
if ($ip) {
|
||||
my $junk = setoid('1.3.6.1.4.1.2.3.51.2.4.9.1.1.4',1,$ip,'OCTET');
|
||||
print STDERR "IP ($ip) = ($junk)\n";
|
||||
}
|
||||
if ($gateway) {
|
||||
my $junk=setoid('1.3.6.1.4.1.2.3.51.2.4.9.1.1.9',1,"1",'OCTET');
|
||||
print STDERR "GATEWAY ($gateway) = ($junk)\n";
|
||||
}
|
||||
if ($mask) {
|
||||
print STDERR "MASK ($mask)\n";
|
||||
}
|
||||
next;
|
||||
}
|
||||
my $ip = $session->get(['1.3.6.1.4.1.2.3.51.2.4.9.1.1.4',0]);
|
||||
my $gate = $session->get(['1.3.6.1.4.1.2.3.51.2.4.9.1.1.9',0]);
|
||||
my $mask = $session->get(['1.3.6.1.4.1.2.3.51.2.4.9.1.1.14',0]);
|
||||
push @cfgtext,"Host IP: $ip";
|
||||
push @cfgtext,"Gateway IP: $gate";
|
||||
push @cfgtext,"Subnet Mask: $mask";
|
||||
next;
|
||||
}
|
||||
if ($parameter =~ /^snmpcfg$/i) {
|
||||
my $data = $session->get(['1.3.6.1.4.1.2.3.51.2.4.9.3.1.6',0]);
|
||||
@ -435,6 +462,33 @@ sub mpaconfig {
|
||||
}
|
||||
next;
|
||||
}
|
||||
if ($parameter =~ /^build$/) {
|
||||
my $data = $session->get(['1.3.6.1.4.1.2.3.51.2.2.21.3.1.1.3',1]);
|
||||
push @cfgtext,"Build ID: $data";
|
||||
next;
|
||||
}
|
||||
if ($parameter =~ /^fuelg$/) {
|
||||
my $data = $session->get(['1.3.6.1.4.1.2.3.51.2.2.10.6.1.1.3',1]);
|
||||
push @cfgtext,"Power Policy Name: $data";
|
||||
next;
|
||||
}
|
||||
if ($parameter =~ /^update$/i) {
|
||||
if ($assignment) {
|
||||
my ($ip,$pkt) = split /,/,$value;
|
||||
my $data = setoid("1.3.6.1.4.1.2.3.51.2.22.9.1",0,0,'INTEGER');
|
||||
$data = setoid("1.3.6.1.4.1.2.3.51.2.22.9.2",0,$ip,'OCTET');
|
||||
$data = setoid("1.3.6.1.4.1.2.3.51.2.22.9.3",0,$pkt,'OCTET');
|
||||
$data = setoid("1.3.6.1.4.1.2.3.51.2.22.9.4",0,1,'INTEGER');
|
||||
next;
|
||||
}
|
||||
my $data = $session->get(['1.3.6.1.4.1.2.3.51.2.22.9.2',0]);
|
||||
push @cfgtext,"Tftp Server: $data";
|
||||
$data = $session->get(['1.3.6.1.4.1.2.3.51.2.22.9.3',0]);
|
||||
push @cfgtext,"Firmware file: $data";
|
||||
$data = $session->get(['1.3.6.1.4.1.2.3.51.2.22.9.5',0]);
|
||||
push @cfgtext,"Update status: $data";
|
||||
next;
|
||||
}
|
||||
if ($parameter =~ /^sshcfg$/i) {
|
||||
my $data = $session->get(['1.3.6.1.4.1.2.3.51.2.4.9.3.4.10',0]);
|
||||
if ($data =~ /NOSUCHOBJECT/) {
|
||||
@ -499,6 +553,53 @@ sub mpaconfig {
|
||||
}
|
||||
|
||||
|
||||
sub ntp {
|
||||
|
||||
my $value = shift;
|
||||
my @result;
|
||||
|
||||
my $data = $session->get(['1.3.6.1.4.1.2.3.51.2.4.9.3.8.1',0]);
|
||||
if ($data =~ /NOSUCHOBJECT/) {
|
||||
return(["NTP Not supported"]);
|
||||
}
|
||||
if ($value) {
|
||||
my ($ntp,$ip,$f,$v3) = split /,/,$value;
|
||||
if ($ntp) {
|
||||
my $d = ($ntp =~ /^enable$/i) ? 1 : 0;
|
||||
setoid('1.3.6.1.4.1.2.3.51.2.4.9.3.8.1',0,$d,'INTEGER');
|
||||
push @result,"NTP: $ntp";
|
||||
}
|
||||
if ($ip) {
|
||||
setoid('1.3.6.1.4.1.2.3.51.2.4.9.3.8.2',0,$ip,'OCTET');
|
||||
push @result,"NTP Server: $ip";
|
||||
}
|
||||
if ($f) {
|
||||
setoid('1.3.6.1.4.1.2.3.51.2.4.9.3.8.3',0,$f,'INTEGER');
|
||||
push @result,"NTP Frequency: $f";
|
||||
}
|
||||
if ($v3) {
|
||||
my $d = ($v3 =~ /^enable$/i) ? 1 : 0;
|
||||
setoid('1.3.6.1.4.1.2.3.51.2.4.9.3.8.7',0,$d,'INTEGER');
|
||||
push @result,"NTP v3: $v3";
|
||||
}
|
||||
return(\@result);
|
||||
}
|
||||
my $d = (!$data) ? "disable" : "enable";
|
||||
push @result,"NTP: $d";
|
||||
|
||||
$data = $session->get(['1.3.6.1.4.1.2.3.51.2.4.9.3.8.2',0]);
|
||||
push @result,"NTP Server: $data";
|
||||
|
||||
$data = $session->get(['1.3.6.1.4.1.2.3.51.2.4.9.3.8.3',0]);
|
||||
push @result,"NTP Frequency: $data (minutes)";
|
||||
|
||||
$data = $session->get(['1.3.6.1.4.1.2.3.51.2.4.9.3.8.7',0]);
|
||||
$d = (!$data) ? "disable" : "enabled";
|
||||
push @result,"NTP v3: $d";
|
||||
return(\@result);
|
||||
}
|
||||
|
||||
|
||||
sub switchblade {
|
||||
#OIDS of interest:
|
||||
#1.3.6.1.4.1.2.3.51.2.22.1.1 media tray ownership
|
||||
@ -1195,16 +1296,12 @@ sub process_request {
|
||||
my $noderange = $request->{node};
|
||||
my $command = $request->{command}->[0];
|
||||
my @exargs;
|
||||
unless ($command) {
|
||||
return; #Empty request
|
||||
}
|
||||
unless ($noderange or $command eq "findme") {
|
||||
my $usage_string=xCAT::Usage->getUsage($command);
|
||||
if ($usage_string) {
|
||||
$callback->({data=>[$usage_string]});
|
||||
$request = {};
|
||||
}
|
||||
return;
|
||||
if ($usage{$command}) {
|
||||
$callback->({data=>$usage{$command}});
|
||||
$request = {};
|
||||
}
|
||||
return;
|
||||
}
|
||||
if (ref($request->{arg})) {
|
||||
@exargs = @{$request->{arg}};
|
||||
@ -1519,52 +1616,6 @@ sub sshcfg {
|
||||
return(["SSH $value: OK"]);
|
||||
}
|
||||
|
||||
sub ntp {
|
||||
|
||||
my $value = shift;
|
||||
my @result;
|
||||
|
||||
my $data = $session->get(['1.3.6.1.4.1.2.3.51.2.4.9.3.8.1',0]);
|
||||
if ($data =~ /NOSUCHOBJECT/) {
|
||||
return(["NTP Not supported"]);
|
||||
}
|
||||
if ($value) {
|
||||
my ($ntp,$ip,$f,$v3) = split /,/,$value;
|
||||
if ($ntp) {
|
||||
my $d = ($ntp =~ /^enable$/i) ? 1 : 0;
|
||||
setoid('1.3.6.1.4.1.2.3.51.2.4.9.3.8.1',0,$d,'INTEGER');
|
||||
push @result,"NTP: $ntp";
|
||||
}
|
||||
if ($ip) {
|
||||
setoid('1.3.6.1.4.1.2.3.51.2.4.9.3.8.2',0,$ip,'OCTET');
|
||||
push @result,"NTP Server: $ip";
|
||||
}
|
||||
if ($f) {
|
||||
setoid('1.3.6.1.4.1.2.3.51.2.4.9.3.8.3',0,$f,'INTEGER');
|
||||
push @result,"NTP Frequency: $f";
|
||||
}
|
||||
if ($v3) {
|
||||
my $d = ($v3 =~ /^enable$/i) ? 1 : 0;
|
||||
setoid('1.3.6.1.4.1.2.3.51.2.4.9.3.8.7',0,$d,'INTEGER');
|
||||
push @result,"NTP v3: $v3";
|
||||
}
|
||||
return(\@result);
|
||||
}
|
||||
my $d = (!$data) ? "disabled" : "enabled";
|
||||
push @result,"NTP: $d";
|
||||
|
||||
$data = $session->get(['1.3.6.1.4.1.2.3.51.2.4.9.3.8.2',0]);
|
||||
push @result,"NTP Server: $data";
|
||||
|
||||
$data = $session->get(['1.3.6.1.4.1.2.3.51.2.4.9.3.8.3',0]);
|
||||
push @result,"NTP Frequency: $data (minutes)";
|
||||
|
||||
$data = $session->get(['1.3.6.1.4.1.2.3.51.2.4.9.3.8.7',0]);
|
||||
$d = (!$data) ? "disabled" : "enabled";
|
||||
push @result,"NTP v3: $d";
|
||||
return(\@result);
|
||||
}
|
||||
|
||||
|
||||
sub forward_data {
|
||||
my $callback = shift;
|
||||
@ -1674,4 +1725,3 @@ sub dompa {
|
||||
|
||||
|
||||
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user