261 lines
6.7 KiB
Diff
261 lines
6.7 KiB
Diff
From 4d7278dbd9cf5f9a7d6060eb96e1ba5af6b3d505 Mon Sep 17 00:00:00 2001
|
|
From: =?UTF-8?q?Jan=20Pokorn=C3=BD?= <jpokorny@redhat.com>
|
|
Date: Thu, 19 Jul 2018 19:44:34 +0200
|
|
Subject: [PATCH 2/3] maint: test: polish live_test.sh
|
|
MIME-Version: 1.0
|
|
Content-Type: text/plain; charset=UTF-8
|
|
Content-Transfer-Encoding: 8bit
|
|
|
|
- from issues found with ShellCheck, fix those marked as important
|
|
- suppress some ShellCheck issues, mostly related to the fact that
|
|
some ticket-related variables are established dynamically,
|
|
also drop a never-used local variable (see commits 74a3f5c + 4136682)
|
|
and another global one that was used but consequently ditched
|
|
(see commits 08f56bd + d952b27)
|
|
- fix s/boots not uptodate/booths not up-to-date/ spelling
|
|
- fix whitespace issues
|
|
|
|
Signed-off-by: Jan Pokorný <jpokorny@redhat.com>
|
|
---
|
|
test/live_test.sh | 60 ++++++++++++++++++++++++-----------------------
|
|
1 file changed, 31 insertions(+), 29 deletions(-)
|
|
|
|
diff --git a/test/live_test.sh b/test/live_test.sh
|
|
index f8644a2..c131f8c 100755
|
|
--- a/test/live_test.sh
|
|
+++ b/test/live_test.sh
|
|
@@ -41,7 +41,6 @@ EOF
|
|
[ $# -eq 0 ] && usage 0
|
|
|
|
cnf=$1
|
|
-BOOTH_DIR="/etc/booth"
|
|
run_cnf="/etc/booth/booth.conf"
|
|
|
|
shift 1
|
|
@@ -62,9 +61,9 @@ get_internal_site() {
|
|
|
|
logmsg() {
|
|
if [ "$WE_SERVER" -o "$_JUST_NETEM" ]; then
|
|
- logger -t "BOOTHTEST" -p $HA_LOGFACILITY.info -- $@
|
|
+ logger -t "BOOTHTEST" -p $HA_LOGFACILITY.info -- "$@"
|
|
else
|
|
- ssh $SSH_OPTS `get_site 1` logger -t "BOOTHTEST" -p $HA_LOGFACILITY.info -- $@
|
|
+ ssh $SSH_OPTS `get_site 1` logger -t "BOOTHTEST" -p $HA_LOGFACILITY.info -- "$@"
|
|
fi
|
|
}
|
|
|
|
@@ -141,20 +140,20 @@ local_netem_env() {
|
|
}
|
|
|
|
is_function() {
|
|
- test z"`command -v $1`" = z"$1"
|
|
+ test z"`command -v $1`" = z"$1"
|
|
}
|
|
runcmd() {
|
|
local h=$1 rc
|
|
shift 1
|
|
- echo "$h: running '$@'" | logmsg
|
|
+ echo "$h: running '$*'" | logmsg
|
|
if ip a l | fgrep -wq $h; then
|
|
- eval $@
|
|
+ eval "$@"
|
|
else
|
|
- ssh $SSH_OPTS $h $@
|
|
+ ssh $SSH_OPTS $h "$@"
|
|
fi
|
|
rc=$?
|
|
if [ $rc -ne 0 ]; then
|
|
- echo "$h: '$@' failed (exit code $rc)" | logmsg
|
|
+ echo "$h: '$*' failed (exit code $rc)" | logmsg
|
|
fi
|
|
return $rc
|
|
}
|
|
@@ -306,7 +305,7 @@ dump_conf() {
|
|
forall() {
|
|
local h rc=0
|
|
for h in $sites $arbitrators; do
|
|
- runcmd $h $@
|
|
+ runcmd $h "$@"
|
|
rc=$((rc|$?))
|
|
done
|
|
return $rc
|
|
@@ -314,7 +313,7 @@ forall() {
|
|
forall_withname() {
|
|
local h rc=0 output
|
|
for h in $sites $arbitrators; do
|
|
- output=`runcmd $h $@`
|
|
+ output=`runcmd $h "$@"`
|
|
rc=$((rc|$?))
|
|
echo $h: $output
|
|
done
|
|
@@ -323,7 +322,7 @@ forall_withname() {
|
|
forall_sites() {
|
|
local h rc=0
|
|
for h in $sites; do
|
|
- runcmd $h $@
|
|
+ runcmd $h "$@"
|
|
rc=$((rc|$?))
|
|
done
|
|
return $rc
|
|
@@ -343,7 +342,7 @@ forall_fun2() {
|
|
f=$1
|
|
shift 1
|
|
for h in $sites $arbitrators; do
|
|
- $f $@ | ssh $SSH_OPTS $h
|
|
+ $f "$@" | ssh $SSH_OPTS $h
|
|
rc=$((rc|$?))
|
|
[ $rc -ne 0 ] && break
|
|
done
|
|
@@ -353,13 +352,13 @@ run_site() {
|
|
local n=$1 h
|
|
shift 1
|
|
h=`echo $sites | awk '{print $'$n'}'`
|
|
- runcmd $h $@
|
|
+ runcmd $h "$@"
|
|
}
|
|
run_arbitrator() {
|
|
local n=$1 h
|
|
shift 1
|
|
h=`echo $arbitrators | awk '{print $'$n'}'`
|
|
- runcmd $h $@
|
|
+ runcmd $h "$@"
|
|
}
|
|
|
|
# need to get logs from _all_ clusters' nodes
|
|
@@ -450,6 +449,8 @@ n && (/^$/ || /^ticket.*/) {exit}
|
|
' $1
|
|
}
|
|
wait_exp() {
|
|
+ # shellcheck disable=SC2154
|
|
+ # (T_expire: defined with get_tkt_settings)
|
|
sleep $T_expire
|
|
}
|
|
wait_renewal() {
|
|
@@ -593,7 +594,7 @@ booth_leader_consistency_2() {
|
|
# b) some booths not uptodate (have no leader for the ticket)
|
|
# c) ticket expiry times differ
|
|
check_booth_consistency() {
|
|
- local tlist tlist_validate rc rc_lead maxdiff
|
|
+ local tlist rc rc_lead maxdiff
|
|
tlist=`forall_withname booth list 2>/dev/null | grep $tkt`
|
|
|
|
# Check time consistency
|
|
@@ -620,7 +621,7 @@ check_booth_consistency() {
|
|
`if [ $rc -ge 4 ]; then
|
|
echo "booth list consistency failed (more than one leader!):"
|
|
elif [ $rc -ge 2 ]; then
|
|
- echo "booth list consistency failed (some boots not uptodate):"
|
|
+ echo "booth list consistency failed (some booths not up-to-date):"
|
|
else
|
|
echo "booth list consistency failed (max valid time diff: $maxdiff):"
|
|
fi`
|
|
@@ -677,11 +678,10 @@ run_report() {
|
|
runtest() {
|
|
local start_ts end_ts
|
|
local rc booth_status dep_rsc_status
|
|
- local start_time end_time
|
|
local usrmsg
|
|
rc=0
|
|
TEST=$1
|
|
- start_time=`date`
|
|
+ start_ts=`date` # to have the expanded form in the logfile
|
|
start_ts=`date +%s`
|
|
echo -n "Testing: $1 (ticket: $tkt)... "
|
|
can_run_test $1 || return 0
|
|
@@ -719,7 +719,7 @@ runtest() {
|
|
usrmsg="test FAIL: $rc"
|
|
;;
|
|
esac
|
|
- end_time=`date`
|
|
+ end_ts=`date` # to have the expanded form in the logfile
|
|
end_ts=`date +%s`
|
|
echo "finished booth test $1 ($tkt): $usrmsg" | logmsg
|
|
echo "==================================================" | logmsg
|
|
@@ -791,6 +791,8 @@ setup_longgrant2() {
|
|
}
|
|
test_longgrant2() {
|
|
local i
|
|
+ # shellcheck disable=SC2034
|
|
+ # (variable exists merely out of necessity)
|
|
for i in `seq 10`; do
|
|
wait_exp
|
|
done
|
|
@@ -1033,14 +1035,14 @@ setup_split_leader() {
|
|
return 0
|
|
}
|
|
test_split_leader() {
|
|
- run_site 1 $iprules stop $port >/dev/null
|
|
+ run_site 1 $iprules stop $port >/dev/null
|
|
wait_exp
|
|
wait_timeout
|
|
wait_timeout
|
|
wait_timeout
|
|
wait_timeout
|
|
check_cib any || return 1
|
|
- run_site 1 $iprules start $port >/dev/null
|
|
+ run_site 1 $iprules start $port >/dev/null
|
|
wait_timeout
|
|
wait_timeout
|
|
wait_timeout
|
|
@@ -1049,7 +1051,7 @@ check_split_leader() {
|
|
check_consistency any
|
|
}
|
|
recover_split_leader() {
|
|
- run_site 1 $iprules start $port >/dev/null
|
|
+ run_site 1 $iprules start $port >/dev/null
|
|
}
|
|
|
|
## TEST: split_follower ##
|
|
@@ -1059,10 +1061,10 @@ setup_split_follower() {
|
|
grant_ticket_cib 1
|
|
}
|
|
test_split_follower() {
|
|
- run_site 2 $iprules stop $port >/dev/null
|
|
+ run_site 2 $iprules stop $port >/dev/null
|
|
wait_exp
|
|
wait_timeout
|
|
- run_site 2 $iprules start $port >/dev/null
|
|
+ run_site 2 $iprules start $port >/dev/null
|
|
wait_timeout
|
|
}
|
|
check_split_follower() {
|
|
@@ -1076,9 +1078,9 @@ setup_split_edge() {
|
|
grant_ticket_cib 1
|
|
}
|
|
test_split_edge() {
|
|
- run_site 1 $iprules stop $port >/dev/null
|
|
+ run_site 1 $iprules stop $port >/dev/null
|
|
wait_exp
|
|
- run_site 1 $iprules start $port >/dev/null
|
|
+ run_site 1 $iprules start $port >/dev/null
|
|
wait_timeout
|
|
wait_timeout
|
|
}
|
|
@@ -1215,13 +1217,11 @@ internal_arbitrators=`get_value arbitrator < $cnf`
|
|
all_nodes=`get_all_nodes`
|
|
port=`get_value port < $cnf`
|
|
: ${port:=9929}
|
|
-site_cnt=`echo $internal_sites | wc -w`
|
|
-arbitrator_cnt=`echo $internal_arbitrators | wc -w`
|
|
|
|
if [ "$1" = "__netem__" ]; then
|
|
shift 1
|
|
_JUST_NETEM=1
|
|
- local_netem_env $@
|
|
+ local_netem_env "$@"
|
|
exit
|
|
fi
|
|
|
|
@@ -1314,6 +1314,8 @@ do
|
|
|
|
eval `get_tkt_settings booth_${i}.conf`
|
|
|
|
+ # shellcheck disable=SC2154
|
|
+ # (T_timeout: defined with get_tkt_settings)
|
|
MIN_TIMEOUT=`awk -v tm=$T_timeout 'BEGIN{
|
|
if (tm >= 2) print tm;
|
|
else print 2*tm;
|
|
--
|
|
2.18.0.rc2
|
|
|