mirror of
https://github.com/Telecominfraproject/wlan-lanforge-scripts.git
synced 2025-10-29 18:02:35 +00:00
updateTest.bash: fixes many reliability problems with script
This commit is contained in:
112
updateTest.bash
112
updateTest.bash
@@ -1,17 +1,55 @@
|
|||||||
#!/bin/bash
|
#!/bin/bash
|
||||||
export DISPLAY=:1
|
export DISPLAY=:1
|
||||||
|
[ ! -z "$DEBUG" ] && set -x
|
||||||
|
IP="192.168.95.239"
|
||||||
HL="/home/lanforge"
|
HL="/home/lanforge"
|
||||||
HLD="${HL}/Documents"
|
HLD="${HL}/Documents"
|
||||||
scripts="${HLD}/lanforge-scripts"
|
scripts="${HLD}/lanforge-scripts"
|
||||||
|
verNum="5.4.3"
|
||||||
GUILog="/home/lanforge/Documents/GUILog.txt"
|
GUILog="/home/lanforge/Documents/GUILog.txt"
|
||||||
GUIUpdate="/home/lanforge/Documents/GUIUpdateLog.txt"
|
GUIUpdate="/home/lanforge/Documents/GUIUpdateLog.txt"
|
||||||
CTLGUI="/home/lanforge/Documents/connectTestGUILog.txt"
|
CTLGUI="/home/lanforge/Documents/connectTestGUILog.txt"
|
||||||
CTLH="/home/lanforge/Documents/connectTestHLog.txt"
|
CTLH="/home/lanforge/Documents/connectTestHLog.txt"
|
||||||
verNum="5.4.3"
|
|
||||||
GUIDIR="${HL}/LANforgeGUI_${verNum}"
|
GUIDIR="${HL}/LANforgeGUI_${verNum}"
|
||||||
ST="/tmp/summary.txt"
|
ST="/tmp/summary.txt"
|
||||||
IP="192.168.95.239"
|
DM_FLAG="${HL}/LANforgeGUI_${verNum}/DAEMON_MODE"
|
||||||
|
output=/tmp/gui_update_test
|
||||||
|
|
||||||
|
function start_gui() {
|
||||||
|
daemon_mode=""
|
||||||
|
[ -f $GUIDIR/DAEMON_MODE ] && daemon_mode="-daemon"
|
||||||
|
( cd $GUIDIR; nohup env RESTARTS=999999 ./lfclient.bash $daemon_mode -s localhost &> $GUILog & )
|
||||||
|
connect_fail=0
|
||||||
|
wait_8080 || connect_fail=1
|
||||||
|
|
||||||
|
if [[ $connect_fail = 1 ]]; then
|
||||||
|
echo "" > $output
|
||||||
|
[ -s $GUIUpdate ] && cat $GUIUpdate >> $output
|
||||||
|
cat $GUILog >> $output
|
||||||
|
mail -s 'GUI connect failure' "test.notice@candelatech.com" < $output
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
function wait_8080() {
|
||||||
|
set +x
|
||||||
|
local connected=0
|
||||||
|
local limit_sec=30
|
||||||
|
echo "Testing for 8080 connection "
|
||||||
|
while (( connected == 0 )); do
|
||||||
|
(( limit_sec <= 0)) && break
|
||||||
|
curl -so /dev/null http://localhost:8080/ && connected=1
|
||||||
|
(( connected >= 1 )) && break;
|
||||||
|
limit_sec=$(( limit_sec - 1 ))
|
||||||
|
echo -n "."
|
||||||
|
sleep 1
|
||||||
|
done
|
||||||
|
if [[ $connected = 0 ]]; then
|
||||||
|
echo "Unable to connect, bye"
|
||||||
|
return 1
|
||||||
|
fi
|
||||||
|
[ ! -z "$DEBUG" ] && set -x
|
||||||
|
}
|
||||||
|
|
||||||
if [ -f ${GUIDIR}/down-check ]; then
|
if [ -f ${GUIDIR}/down-check ]; then
|
||||||
numFound=`find ${GUIDIR} -name down-check -mmin +59 | grep -c down-check`
|
numFound=`find ${GUIDIR} -name down-check -mmin +59 | grep -c down-check`
|
||||||
@@ -35,44 +73,66 @@ if [ -f ${GUIDIR}/down-check ]; then
|
|||||||
fi
|
fi
|
||||||
fi
|
fi
|
||||||
|
|
||||||
rm -f /tmp/*.txt
|
sudo rm -f /tmp/*.txt
|
||||||
rm -f $GUILog $GUIUpdate $CTLGUI $CTLH $ST
|
sudo rm -f $GUILog $GUIUpdate $CTLGUI $CTLH $ST
|
||||||
|
|
||||||
touch "${HL}/LANforgeGUI_${verNum}/NO_AUTOSTART"
|
touch "${HL}/LANforgeGUI_${verNum}/NO_AUTOSTART"
|
||||||
pgrep java &>/dev/null && killall -9 java
|
pgrep java &>/dev/null && killall -9 java
|
||||||
python3 ${scripts}/auto-install-gui.py --versionNumber $verNum &> $GUIUpdate
|
touch $GUIUpdate
|
||||||
|
if [ ! -z "SKIP_INSTALL" ] && [ x$SKIP_INSTALL = x1 ]; then
|
||||||
|
echo "skipping installation"
|
||||||
|
sleep 4
|
||||||
|
else
|
||||||
|
echo "doing installation"
|
||||||
|
sleep 4
|
||||||
|
python3 ${scripts}/auto-install-gui.py --versionNumber $verNum &> $GUIUpdate
|
||||||
|
[ -s $GUIUpdate ] && grep -q "Current GUI version up to date" $GUIUpdate && exit
|
||||||
|
echo "===============================================" > $ST
|
||||||
|
head $GUILog >> $ST
|
||||||
|
echo "===============================================" >> $ST
|
||||||
|
[ -s $GUIUpdate ] && head $GUIUpdate >> $ST
|
||||||
|
if grep -q -i "fail" $GUIUpdate; then
|
||||||
|
cat $ST | mail -s 'GUI Update Test Failure' -a $GUILog -a $GUIUpdate "test.notice@candelatech.com"
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
fi
|
||||||
sleep 1
|
sleep 1
|
||||||
rm -f "${HL}/LANforgeGUI_${verNum}/NO_AUTOSTART"
|
rm -f "${HL}/LANforgeGUI_${verNum}/NO_AUTOSTART"
|
||||||
( cd $GUIDIR; nohup env RESTARTS=999999 ./lfclient.bash -s localhost &> $GUILog & )
|
|
||||||
sleep 10
|
|
||||||
grep -q "Current GUI version up to date" $GUIUpdate && exit
|
|
||||||
echo "===============================================" > $ST
|
|
||||||
head $GUILog >> $ST
|
|
||||||
echo "===============================================" >> $ST
|
|
||||||
head $GUIUpdate >> $ST
|
|
||||||
if grep -q -i "fail" $GUIUpdate; then
|
|
||||||
cat $ST | mail -s 'GUI Update Test Failure' -a $GUILog -a $GUIUpdate "test.notice@candelatech.com"
|
|
||||||
fi
|
|
||||||
|
|
||||||
#pgrep java &>/dev/null && killall -9 java
|
start_gui
|
||||||
#( cd $GUIDIR; nohup env RESTARTS=999999 ./lfclient.bash -s localhost &> $GUILog & )
|
|
||||||
python3 ${scripts}/connectTest.py &> $CTLGUI
|
python3 ${scripts}/connectTest.py &> $CTLGUI
|
||||||
|
pgrep java &>/dev/null && killall -9 java
|
||||||
|
sleep 1
|
||||||
|
|
||||||
|
#-daemon
|
||||||
touch "${HL}/LANforgeGUI_${verNum}/DAEMON_MODE"
|
touch "${HL}/LANforgeGUI_${verNum}/DAEMON_MODE"
|
||||||
|
start_gui
|
||||||
pgrep java &>/dev/null && killall -9 java
|
|
||||||
sleep 10
|
|
||||||
|
|
||||||
python3 ${scripts}/connectTest.py &> $CTLH
|
python3 ${scripts}/connectTest.py &> $CTLH
|
||||||
|
|
||||||
rm "${HL}/LANforgeGUI_${verNum}/DAEMON_MODE"
|
|
||||||
pgrep java &>/dev/null && killall -9 java
|
|
||||||
|
|
||||||
echo "===============================================" >> $ST
|
echo "===============================================" >> $ST
|
||||||
head $CTLGUI >> $ST
|
head $CTLGUI >> $ST
|
||||||
echo "===============================================" >> $ST
|
echo "===============================================" >> $ST
|
||||||
head $CTLH >> $ST
|
head $CTLH >> $ST
|
||||||
echo "===============================================" >> $ST
|
echo "===============================================" >> $ST
|
||||||
|
rm -f "${HL}/LANforgeGUI_${verNum}/DAEMON_MODE"
|
||||||
|
pgrep java &>/dev/null && killall -9 java
|
||||||
|
start_gui
|
||||||
|
connect_fail=0
|
||||||
|
wait_8080 || connect_fail=1
|
||||||
|
|
||||||
cat $ST | mail -s 'GUI Update Test' -a $GUILog -a $GUIUpdate -a $CTLGUI -a $CTLH "test.notice@candelatech.com"
|
cat $ST > $output
|
||||||
|
echo "===============================================" >> $output
|
||||||
|
[ -s $GUILog ] && cat $GUILog >> $output
|
||||||
|
echo "===============================================" >> $output
|
||||||
|
[ -s $GUIUpdate ] && cat $GUIUpdate >> $output
|
||||||
|
echo "===============================================" >> $output
|
||||||
|
[ -s $CTLGUI ] && cat $CTLGUI >> $output
|
||||||
|
echo "===============================================" >> $output
|
||||||
|
[ -s $CTLH ] && cat $CTLH >> $output
|
||||||
|
echo "===============================================" >> $output
|
||||||
|
echo -e "--\n.\n" >> $output
|
||||||
|
|
||||||
|
mail -s 'GUI Update Test' "test.notice@candelatech.com" < $output
|
||||||
|
|
||||||
|
#cat $ST | mail -s 'GUI Update Test' -a $GUILog -a $GUIUpdate -a $CTLGUI -a $CTLH "test.notice@candelatech.com"
|
||||||
|
#eof
|
||||||
|
|||||||
Reference in New Issue
Block a user