You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
48 lines
1.1 KiB
48 lines
1.1 KiB
10 months ago
|
#!/bin/sh
|
||
|
# Author: Christoph Galuschka <christoph.galuschka@chello.at>
|
||
|
|
||
|
if [ "$CONTAINERTEST" -eq "1" ]; then
|
||
|
t_Log "Running in container -> SKIP"
|
||
|
exit 0
|
||
|
fi
|
||
|
|
||
|
TEST=mtr
|
||
|
|
||
|
# Testing availability of network
|
||
|
if [ $SKIP_QA_HARNESS -eq 1 ]; then
|
||
|
HOST="www.centos.org"
|
||
|
else
|
||
|
HOST="www.centos.org"
|
||
|
fi
|
||
|
|
||
|
t_Log "Running $0 - running ${TEST} to ${HOST}"
|
||
|
ret_val=1
|
||
|
FILE=/var/tmp/mtr_result
|
||
|
|
||
|
IP=$(dig +short ${HOST} A ${HOST} AAAA)
|
||
|
|
||
|
# getting IP-address of default gateway as a fall back
|
||
|
defgw=$(ip route list | grep default | cut -d' ' -f3)
|
||
|
|
||
|
if [[ ! -z "$IP" ]]
|
||
|
then
|
||
|
mtr -nr -c1 ${HOST} > ${FILE}
|
||
|
COUNT=$(echo "$IP" | grep -cf - ${FILE})
|
||
|
GW=$(grep -c ${defgw} ${FILE})
|
||
|
if [ $COUNT = 1 ]
|
||
|
then
|
||
|
t_Log "${TEST} reached ${HOST}"
|
||
|
ret_val=0
|
||
|
elif ([ $COUNT = 0 ] && [ $GW -gt 0 ])
|
||
|
then
|
||
|
t_Log "${TEST} didn't reach ${HOST} (maybe because of ACLs on the network), but at least the Default Gateway ${defgw} was reached. Treating as SUCCESS."
|
||
|
ret_val=0
|
||
|
else
|
||
|
t_Log "${TEST} didn't reach ${HOST}"
|
||
|
ret_val=1
|
||
|
fi
|
||
|
fi
|
||
|
|
||
|
/bin/rm ${FILE}
|
||
|
t_CheckExitStatus $ret_val
|