old
# hash w/
%powerdevices
$powerdevicename1 => {@ports1, @devices1}
$powerdevicename2 => {@ports2, @devices2}
...
Power($device, $command, $powerdev, $powerport)
# when grouped to one device
Power(@devices, $command, $powerdev, @powerports)
# when grouped to many power devices, powerdevs is a hash that has each powerdev, w/ ports
Power(@devices, $command, %powerdevs{powerports})
===================================================================
power rpcmd.pl
GetOptions (
'powermake=s' => \$powermake,
'powermodel=s' => \$powermodel,
'powerip=s' => \$powerip,
'verbose' => \$debug,
'debug' => \$debug,
'help' => \$help
);
# input variables passed from command line or calling script
$device = $ARGV[0];
$command = $ARGV[1];
$powerdevice = $ARGV[2];
$powerport = $ARGV[3];
===================================================================
# console
$monitored=1;
GetOptions (
'consolemake=s' => \$consolemake,
'consolemodel=s' => \$consolemodel,
'interactive' => \$interactive,
'logfile=s' => \$logfile,
'log' => \$log,
'monitor' => \$monitored,
'verbose' => \$debug,
'debug' => \$debug,
'help' => \$help
);
$number_of_args=1;
PrintHelp() if scalar @ARGV < $number_of_args || $help;
$monitored=0 if $interactive;
# input variables passed from command line or calling script
$device = $ARGV[0];
$consoledev = $ARGV[1];
$consoleport = $ARGV[2];
$date = `date +%m%d%Y%H%M`;
$logfile = "$ENV{'CAPHOME'}/tmp/console.$device.$date" if $log and !$logfile;
chomp($logfile);
===================================================================
# manage
GetOptions (
'mgmtdev=s' => \$mgmtdev,
'mgmtport=i' => \$mgmtport,
'mgmtmake=s' => \$mgmtmake,
'mgmtmodel=s' => \$mgmtmodel,
'mgmtip=s' => \$mgmtip,
'status' => \$status,
'lightson' => \$lightson,
'lightsoff' => \$lightsoff,
'lightsstatus' => \$lightsstatus,
'poweron' => \$poweron,
'poweroff' => \$poweroff,
'powercycle' => \$powercycle,
'powerstatus' => \$powerstatus,
'powerreset' => \$powerreset,
'powerhalt' => \$powerhalt,
'powerreboot' => \$powerreboot,
'console' => \$console,
'consoleconfig' => \$consoleconfig,
'mgmtcardreset' => \$mgmtcardreset,
'setaccess' => \$setaccess,
'firmwareupdate' => \$firmwareupdate,
'osfirmwareupdate' => \$osfirmwareupdate,
'firmwarestatus' => \$firmwarestatus,
'osfirmwarestatus' => \$osfirmwarestatus,
'tftpserver=s' => \$tftpserver,
'node' => \$node,
'verbose' => \$debug,
'debug' => \$debug,
'help' => \$help,
);
$device = $ARGV[0];
$firmwarelocation = $ARGV[1] if $firmwareupdate;
===================================================================
#network
$debug=0;
$node=1;
GetOptions (
'netmake=s' => \$networkmake,
'netmodel=s' => \$networkmodel,
'netip=s' => \$networkip,
'status' => \$status,
'reset' => \$networkcardreset,
'discover' => \$discover,
'verbose' => \$debug,
'debug' => \$debug,
'help' => \$help,
);
PrintHelp() if scalar @ARGV != 4;
$device = $ARGV[0];
$networkdevice = $ARGV[1];
$networkblade = $ARGV[2];
$networkport = $ARGV[3];