|
@@ -1,4 +1,8 @@
|
|
|
|
|
|
|
|
|
|
+#改变工作目录到当前脚本所在路径
|
|
|
|
|
+if [[ "$0" =~ / ]]; then cd "${0%/*}"; fi
|
|
|
|
|
+export CWD=`pwd`
|
|
|
|
|
+
|
|
|
echo "" > changed.log
|
|
echo "" > changed.log
|
|
|
|
|
|
|
|
parseargs() {
|
|
parseargs() {
|
|
@@ -17,8 +21,23 @@ fi
|
|
|
keyspace=`./mql keyspace? log.level=error "$@"`
|
|
keyspace=`./mql keyspace? log.level=error "$@"`
|
|
|
logfile="${keyspace}.test.log"
|
|
logfile="${keyspace}.test.log"
|
|
|
|
|
|
|
|
|
|
+wait_odbserver_change() {
|
|
|
|
|
+ while true; do
|
|
|
|
|
+ if [[ -e ~/odbserver/odbserver ]]; then
|
|
|
|
|
+ odbserver=`~/odbserver/odbserver -version 2>&1`
|
|
|
|
|
+ if [[ "${odbserver:0:12}" == "omdb version" ]]; then
|
|
|
|
|
+ if [[ "$odbserver" != "$last_odbserver" ]]; then
|
|
|
|
|
+ return 0
|
|
|
|
|
+ fi
|
|
|
|
|
+ fi
|
|
|
|
|
+ fi
|
|
|
|
|
+ sleep 2
|
|
|
|
|
+ done
|
|
|
|
|
+}
|
|
|
|
|
+
|
|
|
n=0
|
|
n=0
|
|
|
-while [[ $n -lt 1000 ]]; do
|
|
|
|
|
|
|
+while [[ true ]]; do
|
|
|
|
|
+ ret=0
|
|
|
n=`expr $n + 1`
|
|
n=`expr $n + 1`
|
|
|
if [[ -e ~/odbserver/odbserver ]]; then
|
|
if [[ -e ~/odbserver/odbserver ]]; then
|
|
|
odbserver=`~/odbserver/odbserver -version`
|
|
odbserver=`~/odbserver/odbserver -version`
|
|
@@ -34,59 +53,66 @@ while [[ $n -lt 1000 ]]; do
|
|
|
./initkeyspace.sh $keyspace
|
|
./initkeyspace.sh $keyspace
|
|
|
ret=$?
|
|
ret=$?
|
|
|
if [[ "$ret" != "0" ]]; then
|
|
if [[ "$ret" != "0" ]]; then
|
|
|
- exit $ret
|
|
|
|
|
|
|
+ n=0
|
|
|
|
|
+ else
|
|
|
|
|
+ n=1
|
|
|
fi
|
|
fi
|
|
|
|
|
+ else
|
|
|
|
|
+ n=1
|
|
|
fi
|
|
fi
|
|
|
-
|
|
|
|
|
- n=1
|
|
|
|
|
fi
|
|
fi
|
|
|
- fi
|
|
|
|
|
-
|
|
|
|
|
- cd /opt/matrix/test
|
|
|
|
|
- PREFIX="test $n"
|
|
|
|
|
- endflag="$odbserver end of test $n return"
|
|
|
|
|
- ttt=`date +'%Y%m%d%H%M%S'`
|
|
|
|
|
- check_odbserver() {
|
|
|
|
|
- sleep 10
|
|
|
|
|
- while true; do
|
|
|
|
|
- mqlproc=`ps -ef | grep -v grep | grep mql | grep "log.prefix=${PREFIX}"`
|
|
|
|
|
- if [[ "$mqlproc" == "" ]]; then
|
|
|
|
|
- exit 0
|
|
|
|
|
|
|
+ fi
|
|
|
|
|
+ if [[ "$n" != "0" ]]; then
|
|
|
|
|
+ cd "$CWD"
|
|
|
|
|
+ PREFIX="test $n"
|
|
|
|
|
+ endflag="$odbserver end of test $n return"
|
|
|
|
|
+ ttt=`date +'%Y%m%d%H%M%S'`
|
|
|
|
|
+ check_odbserver() {
|
|
|
|
|
+ sleep 10
|
|
|
|
|
+ while true; do
|
|
|
|
|
+ mqlproc=`ps -ef | grep -v grep | grep mql | grep "log.prefix=${PREFIX}"`
|
|
|
|
|
+ if [[ "$mqlproc" == "" ]]; then
|
|
|
|
|
+ return 0
|
|
|
|
|
+ fi
|
|
|
|
|
+ if [[ -e ~/odbserver/odbserver ]]; then
|
|
|
|
|
+ odbserver=`~/odbserver/odbserver -version`
|
|
|
|
|
+ if [[ "$odbserver" != "$last_odbserver" ]]; then
|
|
|
|
|
+ ps -ef | grep -v grep | grep mql | grep "log.prefix=${PREFIX}" | awk '{print $2}' | xargs kill -9
|
|
|
|
|
+ return 0
|
|
|
|
|
+ fi
|
|
|
|
|
+ fi
|
|
|
|
|
+ sleep 10
|
|
|
|
|
+ done
|
|
|
|
|
+ }
|
|
|
|
|
+ run() {
|
|
|
|
|
+ ./mqltest.sh "log.prefix=${PREFIX}" "$@"
|
|
|
|
|
+ ret=$?
|
|
|
|
|
+ if [[ "$ret" != "0" ]]; then
|
|
|
|
|
+ return $ret
|
|
|
fi
|
|
fi
|
|
|
- if [[ -e ~/odbserver/odbserver ]]; then
|
|
|
|
|
- odbserver=`~/odbserver/odbserver -version`
|
|
|
|
|
- if [[ "$odbserver" != "$last_odbserver" ]]; then
|
|
|
|
|
- ps -ef | grep -v grep | grep mql | grep "log.prefix=${PREFIX}" | awk '{print $2}' | xargs kill -9
|
|
|
|
|
|
|
+ lastline=`tail -n 1 $logfile 2>&1`
|
|
|
|
|
+ if [[ "$lastline" != "PASS" ]]; then
|
|
|
|
|
+ ret=1
|
|
|
|
|
+ if [[ `echo "$lastline" | grep './mqltest.sh:' | grep "已杀死"` != "" ]]; then
|
|
|
|
|
+ ret=0
|
|
|
|
|
+ elif [[ `echo "$lastline" | grep './mqltest.sh:' | grep "killed"` != "" ]]; then
|
|
|
|
|
+ ret=0
|
|
|
|
|
+ else
|
|
|
exit 0
|
|
exit 0
|
|
|
fi
|
|
fi
|
|
|
fi
|
|
fi
|
|
|
- sleep 10
|
|
|
|
|
- done
|
|
|
|
|
- }
|
|
|
|
|
-
|
|
|
|
|
- run() {
|
|
|
|
|
- ./mqltest.sh "log.prefix=${PREFIX}" "$@"
|
|
|
|
|
- ret=$?
|
|
|
|
|
- if [[ "$ret" != "0" ]]; then
|
|
|
|
|
- exit $ret
|
|
|
|
|
- fi
|
|
|
|
|
- lastline=`tail -n 1 $logfile 2>&1`
|
|
|
|
|
- if [[ "$lastline" != "PASS" ]]; then
|
|
|
|
|
- ret=1
|
|
|
|
|
- if [[ `echo "$lastline" | grep './mqltest.sh:' | grep "已杀死"` != "" ]]; then
|
|
|
|
|
- ret=0
|
|
|
|
|
- elif [[ `echo "$lastline" | grep './mqltest.sh:' | grep "killed"` != "" ]]; then
|
|
|
|
|
- ret=0
|
|
|
|
|
|
|
+ echo "$endflag $ret" >> $logfile
|
|
|
|
|
+ if [[ "$ret" != "0" ]]; then
|
|
|
|
|
+ return $ret
|
|
|
fi
|
|
fi
|
|
|
- fi
|
|
|
|
|
- echo "$endflag $ret" >> $logfile
|
|
|
|
|
- if [[ "$ret" != "0" ]]; then
|
|
|
|
|
- exit $ret
|
|
|
|
|
- fi
|
|
|
|
|
- }
|
|
|
|
|
- check_odbserver &
|
|
|
|
|
- run "$@"
|
|
|
|
|
|
|
+ }
|
|
|
|
|
+ check_odbserver &
|
|
|
|
|
+ run "$@"
|
|
|
|
|
+ ret=$?
|
|
|
|
|
+ fi
|
|
|
|
|
+
|
|
|
if [[ "$ret" != "0" ]]; then
|
|
if [[ "$ret" != "0" ]]; then
|
|
|
- exit $ret
|
|
|
|
|
|
|
+ echo "wait for odbserver upgrad"
|
|
|
|
|
+ wait_odbserver_change
|
|
|
fi
|
|
fi
|
|
|
done
|
|
done
|