mirror of
				https://github.com/xcat2/xcat-core.git
				synced 2025-11-04 13:22:36 +00:00 
			
		
		
		
	modified depending on comments
This commit is contained in:
		@@ -43,6 +43,13 @@ BMC specific:
 | 
			
		||||
\ **rspconfig**\  \ *noderange*\  \ **garp**\ =\ *time*\ 
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
OpenBMC specific:
 | 
			
		||||
=================
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
\ **rspconfig**\  \ *noderange*\  {\ **vlan | ip | netmask | gateway**\ }
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
MPA specific:
 | 
			
		||||
=============
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
@@ -132,9 +132,11 @@ my %usage = (
 | 
			
		||||
       rspconfig <noderange> [snmpdest|alert|community] [-V|--verbose]
 | 
			
		||||
       rspconfig <noderange> [snmpdest=<dest ip address>|alert=<on|off|en|dis|enable|disable>|community=<string>]
 | 
			
		||||
   BMC specific:
 | 
			
		||||
       rspconfig <noderange> [ip|netmask|gateway|backupgateway|garp]
 | 
			
		||||
       rspconfig <noderange> [vlan|ip|netmask|gateway|backupgateway|garp]
 | 
			
		||||
       rspconfig <noderange> [garp=<number of 1/2 second>]
 | 
			
		||||
       rspconfig <noderange> [userid=<userid> username=<username> password=<password>]
 | 
			
		||||
   OpenBMC specific:
 | 
			
		||||
       rspconfig <noderange> [vlan|ip|netmask|gateway]
 | 
			
		||||
   iDataplex specific:
 | 
			
		||||
       rspconfig <noderange> [thermprofile]
 | 
			
		||||
       rspconfig <noderange> [thermprofile=<two digit number from chassis>]
 | 
			
		||||
 
 | 
			
		||||
@@ -22,6 +22,10 @@ B<rspconfig> I<noderange> {B<vlan>|B<ip>|B<netmask>|B<gateway>|B<backupgateway>|
 | 
			
		||||
 | 
			
		||||
B<rspconfig> I<noderange> B<garp>=I<time>
 | 
			
		||||
 | 
			
		||||
=head2 OpenBMC specific:
 | 
			
		||||
 | 
			
		||||
B<rspconfig> I<noderange> {B<vlan>|B<ip>|B<netmask>|B<gateway>}
 | 
			
		||||
 | 
			
		||||
=head2 MPA specific:
 | 
			
		||||
 | 
			
		||||
B<rspconfig> I<noderange> {B<sshcfg>|B<snmpcfg>|B<pd1>|B<pd2>|B<network>|B<swnet>|B<ntp>|B<textid>|B<frame>}
 | 
			
		||||
 
 | 
			
		||||
@@ -355,30 +355,24 @@ sub parse_args {
 | 
			
		||||
    my $extrargs = shift;
 | 
			
		||||
    my $noderange = shift;
 | 
			
		||||
    my $check = undef;
 | 
			
		||||
 
 | 
			
		||||
    # disable function until fully tested
 | 
			
		||||
    $check = unsupported($callback); if (ref($check) eq "ARRAY") { return $check; }
 | 
			
		||||
 | 
			
		||||
    if (scalar(@ARGV) > 1 and $command ne "rsetboot" and $command ne "reventlog" and $command ne "rspconfig") {
 | 
			
		||||
    if (!defined($extrargs) and $command =~ /rpower|rsetboot|rspconfig/) {
 | 
			
		||||
        return ([ 1, "No option specified for $command" ]);
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    if (scalar(@ARGV) > 1 and ($command =~ /rpower|rinv|rsetboot/)) {
 | 
			
		||||
        return ([ 1, "Only one option is supported at the same time" ]);
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    my $subcommand = $ARGV[0];
 | 
			
		||||
    if ($command eq "rpower") {
 | 
			
		||||
        #
 | 
			
		||||
        # disable function until fully tested 
 | 
			
		||||
        #
 | 
			
		||||
        $check = unsupported($callback); if (ref($check) eq "ARRAY") { return $check; }
 | 
			
		||||
 | 
			
		||||
        if (!defined($extrargs)) {
 | 
			
		||||
            return ([ 1, "No option specified for rpower" ]);
 | 
			
		||||
        }
 | 
			
		||||
        unless ($subcommand =~ /^on$|^off$|^reset$|^boot$|^status$|^stat$|^state$/) {
 | 
			
		||||
            return ([ 1, "Unsupported command: $command $subcommand" ]);
 | 
			
		||||
        }
 | 
			
		||||
    } elsif ($command eq "rinv") {
 | 
			
		||||
        #
 | 
			
		||||
        # disable function until fully tested 
 | 
			
		||||
        #
 | 
			
		||||
        $check = unsupported($callback); if (ref($check) eq "ARRAY") { return $check; }
 | 
			
		||||
 | 
			
		||||
        $subcommand = "all" if (!defined($ARGV[0]));
 | 
			
		||||
        unless ($subcommand =~ /^cpu$|^dimm$|^model$|^serial$|^firm$|^mac$|^vpd$|^mprom$|^deviceid$|^guid$|^uuid$|^all$/) {
 | 
			
		||||
            return ([ 1, "Unsupported command: $command $subcommand" ]);
 | 
			
		||||
@@ -386,41 +380,22 @@ sub parse_args {
 | 
			
		||||
    } elsif ($command eq "getopenbmccons") {
 | 
			
		||||
        #command for openbmc rcons
 | 
			
		||||
    } elsif ($command eq "rsetboot") {
 | 
			
		||||
        if (!defined($extrargs)) {
 | 
			
		||||
            return ([ 1, "No option specified for $command" ]);
 | 
			
		||||
        }
 | 
			
		||||
        #
 | 
			
		||||
        # disable function until fully tested
 | 
			
		||||
        #        
 | 
			
		||||
        $check = unsupported($callback); if (ref($check) eq "ARRAY") { return $check; }
 | 
			
		||||
        unless ($subcommand =~ /^net$|^hd$|^cd$|^def$|^default$|^stat$/) {
 | 
			
		||||
            return ([ 1, "Unsupported command: $command $subcommand" ]);
 | 
			
		||||
        }
 | 
			
		||||
    } elsif ($command eq "reventlog") {
 | 
			
		||||
        #
 | 
			
		||||
        # disable function until fully tested
 | 
			
		||||
        # 
 | 
			
		||||
        $subcommand = "all" if (!defined($ARGV[0]));
 | 
			
		||||
        $check = unsupported($callback); if (ref($check) eq "ARRAY") { return $check; }
 | 
			
		||||
        unless ($subcommand =~ /^\d$|^\d+$|^all$|^clear$/) {
 | 
			
		||||
            return ([ 1, "Unsupported command: $command $subcommand" ]);
 | 
			
		||||
        }
 | 
			
		||||
    } elsif ($command eq "rspconfig") {
 | 
			
		||||
        if (!defined($extrargs)) {
 | 
			
		||||
            return ([ 1, "No option specified for $command" ]);
 | 
			
		||||
        }
 | 
			
		||||
        #
 | 
			
		||||
        # disable function until fully tested
 | 
			
		||||
        #
 | 
			
		||||
        $check = unsupported($callback); if (ref($check) eq "ARRAY") { return $check; }
 | 
			
		||||
 | 
			
		||||
        my $setorget;
 | 
			
		||||
        foreach $subcommand (@ARGV) {
 | 
			
		||||
            if ($subcommand =~ /^(\w+)=(.*)/) {
 | 
			
		||||
                return ([ 1, "Can not configure and display nodes' value at the same time" ]) if ($setorget and $setorget eq "get");
 | 
			
		||||
                my $key = $1;
 | 
			
		||||
                my $value = $2;
 | 
			
		||||
                return ([ 1, "Unsupported command: $command $key" ]) unless ($key =~ /^ip$|^netmask$|^gateway$/);
 | 
			
		||||
                return ([ 1, "Unsupported command: $command $key" ]) unless ($key =~ /^ip$|^netmask$|^gateway$|^vlan$/);
 | 
			
		||||
 | 
			
		||||
                my $nodes_num = @$noderange;
 | 
			
		||||
                return ([ 1, "Invalid parameter for option $key" ]) unless ($value);
 | 
			
		||||
@@ -429,7 +404,7 @@ sub parse_args {
 | 
			
		||||
                    return ([ 1, "Can not configure more than 1 nodes' ip at the same time" ]) if ($nodes_num >= 2);
 | 
			
		||||
                }
 | 
			
		||||
                $setorget = "set";
 | 
			
		||||
            } elsif ($subcommand =~ /^ip$|^netmask$|^gateway$/) {
 | 
			
		||||
            } elsif ($subcommand =~ /^ip$|^netmask$|^gateway$|^vlan$/) {
 | 
			
		||||
                return ([ 1, "Can not configure and display nodes' value at the same time" ]) if ($setorget and $setorget eq "set");
 | 
			
		||||
                $setorget = "get";
 | 
			
		||||
            } else {
 | 
			
		||||
@@ -1059,6 +1034,10 @@ sub rspconfig_response {
 | 
			
		||||
            $data = ""; # got data from response
 | 
			
		||||
            push @output, "BMC Gateway: $data";
 | 
			
		||||
        }
 | 
			
		||||
        if ($grep_string =~ "vlan") {
 | 
			
		||||
            $data = ""; # got data from response
 | 
			
		||||
            push @output, "BMC VLAN ID enabled: $data";
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        xCAT::SvrUtils::sendmsg("$_", $callback, $node) foreach (@output);
 | 
			
		||||
    }
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user