Home | History | Annotate | Download | only in test_scripts
      1 #!/bin/bash
      2 
      3 function runtest() {
      4 
      5 	$IPMITOOL $*
      6 	RETURN=$?
      7 	if [ $RETURN -ne 0 ]; then
      8 		echo "Test ipmitool $* failed with code $RETURN."
      9 		status=$(($status+1))
     10 	fi
     11 }
     12 
     13 CHECK=`dmidecode | egrep '(Baseboard Management Controller|IPMI)'`
     14 if [ -z "$CHECK" ]; then
     15 	echo "BMC is not detected. Aborting."
     16 	exit 255
     17 fi
     18 
     19 IPMITOOL=`ls $POUNDER_OPTDIR/ipmitool*/src/ipmitool 2> /dev/null`
     20 if [ -z "$IPMITOOL" ]; then
     21 	IPMITOOL=`which ipmitool 2> /dev/null`
     22 	if [ -z "$IPMITOOL" ]; then
     23 		echo "Cannot find ipmitool; ipmitool utility not installed on system."
     24 		echo "Please install package containing ipmitool utility and re-run test."
     25 		exit -1
     26 	fi
     27 else
     28 	IPMITOOL="$POUNDER_OPTDIR/ipmitool*/src/ipmitool"
     29 fi
     30 
     31 status=0
     32 /etc/init.d/ipmi restart #maybe start
     33 RETURN=$?
     34 if [ $RETURN -ne 0 ]; then
     35 	echo "Could not start driver with code $RETURN."
     36 	status=$(($status+1))
     37 	exit $status
     38 fi
     39 
     40 echo
     41 echo "ipmitool utility version:  "
     42 runtest -V
     43 echo
     44 echo "OpenIPMI Driver version:  "
     45 dmesg |grep ipmi |grep -i -m 1 version
     46 echo
     47 
     48 runtest bmc info
     49 if [ $status -eq 0 ]; then
     50 	BMC2=`$IPMITOOL bmc info | grep "IPMI Version" | cut -b 29`
     51 	#possibly log this stuff here
     52 	if [ $BMC2 -ge 2 ]; then
     53 		runtest firewall info lun 0 netfn 0
     54 		 		 runtest firewall info lun 0 netfn 1
     55 		 		 runtest firewall info lun 0 netfn 4
     56 		 		 runtest firewall info lun 0 netfn 0 command 0
     57 		 		 runtest firewall info lun 0 netfn 0 command 1
     58 		 		 runtest firewall info lun 0 netfn 0 command 2
     59 		 		 runtest firewall info lun 0 netfn 1 command 0
     60 		 		 runtest firewall info lun 0 netfn 1 command 1
     61 		 		 runtest firewall info lun 0 netfn 1 command 2
     62 		 		 runtest firewall info lun 0 netfn 4 command 0
     63 		 		 runtest firewall info lun 0 netfn 4 command 1
     64 		 		 runtest firewall info lun 0 netfn 4 command 2
     65 	 		        runtest firewall disable lun 0 netfn 0 command 2
     66 		 		 runtest firewall enable lun 0 netfn 0 command 2
     67 		 		 runtest firewall info lun 0 netfn 0 command 2
     68 		 		 runtest channel getciphers ipmi 1
     69 		 		 runtest channel getciphers sol 1
     70 
     71 	else
     72 		echo "BMC is not 2.0 compatible; skipping firewall tests."
     73 	fi
     74 fi
     75 runtest lan print
     76 runtest bmc getenables
     77 runtest channel info 0
     78 runtest channel info 1
     79 runtest channel info 2
     80 runtest channel info 14
     81 runtest channel info 15
     82 runtest channel authcap 1 1
     83 runtest channel authcap 1 2
     84 runtest channel authcap 1 3
     85 runtest channel authcap 1 4
     86 runtest channel getaccess 0x1
     87 runtest channel getaccess 0x2
     88 runtest chassis status
     89 runtest chassis identify
     90 runtest chassis restart_cause
     91 runtest chassis power status
     92 runtest pef info
     93 runtest pef status
     94 runtest pef list
     95 runtest sdr info
     96 runtest sdr list all
     97 runtest sdr list full
     98 runtest sdr list compact
     99 runtest sdr list event
    100 runtest sdr list mcloc
    101 runtest sdr list fru
    102 runtest sdr list generic
    103 runtest sdr type list
    104 runtest sdr entity
    105 runtest sel
    106 runtest sel info
    107 runtest sel list
    108 runtest sel elist
    109 runtest sel list 5
    110 runtest sel time get
    111 runtest sel writeraw testing
    112 runtest sel readraw testing
    113 runtest sensor list
    114 runtest session info all
    115 runtest session info active
    116 runtest user summary 0x1
    117 runtest user summary 0x2
    118 runtest user list 0x1
    119 runtest user list 0x2
    120 
    121 if [ $status -eq 255 ]; then
    122 	status=254
    123 fi
    124 
    125 
    126 
    127 exit $status
    128