a359c3a1ae
Don't hardcode packet loss threshold but make it configurable. New variable 'loss_threshold' is introduced in this change and by default is set to 1 Output of ping test might contain info about errors, for e.g.: 2486 packets transmitted, 2385 received, +73 errors, 4% packet loss versus: 520 packets transmitted, 505 received, 2% packet loss, time 519232ms causing issue in threshold assertion task. Change-Id: I77eca033dc818487cdb2c68fa2378cc9acad6e66
19 lines
572 B
Django/Jinja
19 lines
572 B
Django/Jinja
#!/bin/bash
|
|
#
|
|
# Script which stops the ICMP connectivity check on validates that
|
|
# there is no packet loss.
|
|
|
|
# kill the ping process
|
|
kill -s INT $(/usr/sbin/pidof ping)
|
|
|
|
# print the ping results
|
|
PING_RESULT_LOG=$(find ~ -iname 'ping_results*' | sort | tail -1)
|
|
tail -2 $PING_RESULT_LOG
|
|
|
|
# check results
|
|
PING_RESULT=$( awk '/[[:digit:]]+% packet loss/' $PING_RESULT_LOG | grep -Eo '[[:digit:]]+%' | sed s/\%// )
|
|
if [[ $PING_RESULT -gt {{ loss_threshold|default(1)|int }} ]]; then
|
|
echo "Ping loss higher than {{ loss_threshold|default(1)|int }}% detected"
|
|
exit 1
|
|
fi
|