1#!/bin/sh 2 3IBPATH=${IBPATH:-@IBSCRIPTPATH@} 4 5function usage() { 6 echo Usage: `basename $0` "[-h] [-v] [-N | -nocolor] [-G]" \ 7 "[-C ca_name] [-P ca_port] [-t(imeout) timeout_ms] <lid|guid>" 8 exit -1 9} 10 11function green() { 12 if [ "$bw" = "yes" ]; then 13 if [ "$verbose" = "yes" ]; then 14 echo $1 15 fi 16 return 17 fi 18 if [ "$verbose" = "yes" ]; then 19 echo -e "\\033[1;032m" $1 "\\033[0;39m" 20 fi 21} 22 23function red() { 24 if [ "$bw" = "yes" ]; then 25 echo $1 26 return 27 fi 28 echo -e "\\033[1;031m" $1 "\\033[0;39m" 29} 30 31guid_addr="" 32bw="" 33verbose="" 34ca_info="" 35 36while [ "$1" ]; do 37 case $1 in 38 -G) 39 guid_addr=yes 40 ;; 41 -nocolor|-N) 42 bw=yes 43 ;; 44 -v) 45 verbose=yes 46 ;; 47 -P | -C | -t | -timeout) 48 case $2 in 49 -*) 50 usage 51 ;; 52 esac 53 if [ x$2 = x ] ; then 54 usage 55 fi 56 ca_info="$ca_info $1 $2" 57 shift 58 ;; 59 -*) 60 usage 61 ;; 62 *) 63 break 64 ;; 65 esac 66 shift 67done 68 69if [ -z "$1" ]; then 70 usage 71fi 72 73if [ "$guid_addr" ]; then 74 if ! lid=`$IBPATH/ibaddr $ca_info -G -L $1 | awk '/failed/{exit -1} {print $3}'`; then 75 echo -n "guid $1 address resolution: " 76 red "FAILED" 77 exit -1 78 fi 79else 80 lid=$1 81 if ! temp=`$IBPATH/ibaddr $ca_info -L $1 | awk '/failed/{exit -1} {print $1}'`; then 82 echo -n "lid $1 address resolution: " 83 red "FAILED" 84 exit -1 85 fi 86fi 87 88## For now, check node only checks if node info is replied 89 90if $IBPATH/smpquery $ca_info nodeinfo $lid > /dev/null 2>&1 ; then 91 if [ "$verbose" = "yes" ]; then 92 echo -n "Node check lid $lid: " 93 green OK 94 fi 95 exit 0 96else 97 echo -n "Node check lid $lid: " 98 red FAILED 99 exit -1 100fi 101