#!/usr/bin/env perl # IBM(c) 2007 EPL license http://www.eclipse.org/legal/epl-v10.html use Getopt::Long; ################################################################# # This script is used for RMC node configuration ################################################################## sub usage { my %rsp; print "Usage: configrmcnode -a node_name ms_name ms_ip_addresses ms_node_id configrmcnode -d node_name "; } print "configrmcnode get called\n"; if (!GetOptions( 'a' => \$::ADD, 'd' => \$::DELETE,)) { &usage; exit 1; } if ($::ADD) { if (@ARGV < 4) { &usage; exit 1; } #check if rsct is installed and running if (! -e "/usr/bin/lsrsrc") { print "RSCT is not is not installed.\n"; exit 1; } my $result=`/usr/bin/lssrc -s ctrmc`; if ($result !~ /active/) { #restart rmc daemon $result=`startsrc -s ctrmc 2>&1`; if ($?) { print "rmc deamon cannot be started:$result\n"; exit 1; } } #enable remote client connection `/usr/bin/rmcctrl -p; /usr/bin/refrsrc IBM.MCP`; #define resource in IBM.MCP class on node $result=`/usr/bin/mkrsrc-api IBM.MCP::MNName::"$ARGV[0]"::KeyToken::"$ARGV[1]"::IPAddresses::"$ARGV[2]"::NodeID::$ARGV[3] 2>&1`; if ($?) { print "define resource in IBM.MCP class result=$result\n"; } #TODO: create predefined sensors. How does the scipts get on the node? mount? come with image? exit 0 } if ($::DELETE) { if (@ARGV < 1) { &usage; exit 1; } #remove resource in IBM.MCP class on the node my $result= `/usr/bin/rmrsrc-api -s IBM.MCP::"MNName=\\\"\"$ARGV[0]\\\"\"" 2>&1`; if ($?) { print "remove resource in IBM.MCP class result=$result\n"; } #TODO: remove predefined sensors, exit 0; }