138494Sobrien#!/bin/sh 238494Sobrien 338494SobrienIBPATH=${IBPATH:-@IBSCRIPTPATH@} 438494Sobrien 538494Sobrienfunction usage() { 638494Sobrien echo Usage: `basename $0` "[-h] [-v] [-N | -nocolor] [-G]" \ 738494Sobrien "[-C ca_name] [-P ca_port] [-t(imeout) timeout_ms] <lid|guid>" 838494Sobrien exit -1 938494Sobrien} 1038494Sobrien 1138494Sobrienfunction green() { 1238494Sobrien if [ "$bw" = "yes" ]; then 1338494Sobrien if [ "$verbose" = "yes" ]; then 1438494Sobrien echo $1 1538494Sobrien fi 1638494Sobrien return 1738494Sobrien fi 1838494Sobrien if [ "$verbose" = "yes" ]; then 1938494Sobrien echo -e "\\033[1;032m" $1 "\\033[0;39m" 2042629Sobrien fi 2138494Sobrien} 2238494Sobrien 2338494Sobrienfunction red() { 2438494Sobrien if [ "$bw" = "yes" ]; then 2538494Sobrien echo $1 2638494Sobrien return 2738494Sobrien fi 2838494Sobrien echo -e "\\033[1;031m" $1 "\\033[0;39m" 2938494Sobrien} 3038494Sobrien 3138494Sobrienguid_addr="" 3238494Sobrienbw="" 3338494Sobrienverbose="" 3438494Sobrienca_info="" 3538494Sobrien 3638494Sobrienwhile [ "$1" ]; do 3738494Sobrien case $1 in 3838494Sobrien -G) 3938494Sobrien guid_addr=yes 4038494Sobrien ;; 4142629Sobrien -nocolor|-N) 4238494Sobrien bw=yes 4338494Sobrien ;; 4438494Sobrien -v) 4538494Sobrien verbose=yes 4638494Sobrien ;; 4738494Sobrien -P | -C | -t | -timeout) 4838494Sobrien case $2 in 4938494Sobrien -*) 5038494Sobrien usage 5138494Sobrien ;; 5238494Sobrien esac 5338494Sobrien if [ x$2 = x ] ; then 5438494Sobrien usage 5538494Sobrien fi 5638494Sobrien ca_info="$ca_info $1 $2" 5738494Sobrien shift 5838494Sobrien ;; 5938494Sobrien -*) 6038494Sobrien usage 6138494Sobrien ;; 6238494Sobrien *) 6338494Sobrien break 6438494Sobrien ;; 6538494Sobrien esac 6638494Sobrien shift 6738494Sobriendone 6838494Sobrien 6938494Sobrienif [ -z "$1" ]; then 7038494Sobrien usage 7138494Sobrienfi 7238494Sobrien 7338494Sobrienif [ "$guid_addr" ]; then 7438494Sobrien if ! lid=`$IBPATH/ibaddr $ca_info -G -L $1 | awk '/failed/{exit -1} {print $3}'`; then 7538494Sobrien echo -n "guid $1 address resolution: " 7638494Sobrien red "FAILED" 7738494Sobrien exit -1 7838494Sobrien fi 7938494Sobrienelse 8038494Sobrien lid=$1 8138494Sobrien if ! temp=`$IBPATH/ibaddr $ca_info -L $1 | awk '/failed/{exit -1} {print $1}'`; then 8238494Sobrien echo -n "lid $1 address resolution: " 8338494Sobrien red "FAILED" 8438494Sobrien exit -1 8538494Sobrien fi 8638494Sobrienfi 8738494Sobrien 8838494Sobrien## For now, check node only checks if node info is replied 8938494Sobrien 9038494Sobrienif $IBPATH/smpquery $ca_info nodeinfo $lid > /dev/null 2>&1 ; then 9138494Sobrien if [ "$verbose" = "yes" ]; then 9238494Sobrien echo -n "Node check lid $lid: " 9338494Sobrien green OK 9438494Sobrien fi 9538494Sobrien exit 0 9638494Sobrienelse 97 echo -n "Node check lid $lid: " 98 red FAILED 99 exit -1 100fi 101