ledmon/tests/ledctl_test/runtest.sh

73 lines
1.6 KiB
Bash
Executable File

#!/bin/bash
source tc.sh || exit 200
### return /dev/sda
function get_disk(){
local disk_lists=""
local first_disk=""
tlog "get disk from local"
for i in $(lsblk |grep disk |awk '{print $1}');do
disk_lists="$disk_lists $i"
done
tlog "disk list=$disk_lists"
RETURN_STR="$disk_lists"
}
uname -a
rpm -q ledmon
if [[ $? != 0 ]]; then
echo "ledmon is not installed" >&2
exit 1
fi
>/var/log/ledmon.log
>/var/log/ledctl.log
get_disk
disks=$RETURN_STR
tlog "disks=$disks"
tlog "get the first disk"
first_disk=$(echo $disks |awk '{print $1}')
if [ $first_disk == "" ];then
echo "can not get disk from get_disk function"
exit 0
fi
first_disk="/dev/$first_disk"
tlog "we will force in $first_disk"
tok "ledctl locate=$first_disk"
tok "ledctl locate_off=$first_disk"
tok "ledctl locate=$first_disk"
tok "ledctl off={ $first_disk }"
tok "ledctl degraded=$first_disk"
tok "ledctl rebuild=$first_disk"
tok "ledctl hotspare=$first_disk"
tok "ledctl pfa=$first_disk"
tok "ledctl failure=$first_disk"
tok "ledctl off={ $first_disk }"
tlog "ledctl on ses "
for i in ses_rebuild ses_ifa ses_ica ses_cons_check ses_hotspare ses_rsvd_dev \
ses_ok ses_ident ses_rm ses_insert ses_missing ses_dnr ses_devoff ses_fault ses_active ;do
tok "ledctl $i=$first_disk --log=/var/log/ledctl.log"
# don't sleep after skipped tests
if [[ $? != 2 ]]; then
sleep 2
fi
done
tok "ledctl off=$first_disk"
tlog "ledmon testing"
trun "ledmon --log=/var/log/ledmon.log"
sleep 2
trun "cat /var/log/ledmon.log"
trun "cat /var/log/ledctl.log"
tend