Backport NPM test fixes
Backported to 2.2.
This commit is contained in:
@ -3,6 +3,7 @@ services:
|
||||
server1:
|
||||
image: mariadb:10.2
|
||||
network_mode: "host"
|
||||
container_name: server1
|
||||
environment:
|
||||
MYSQL_ALLOW_EMPTY_PASSWORD: Y
|
||||
volumes:
|
||||
@ -11,6 +12,7 @@ services:
|
||||
|
||||
server2:
|
||||
image: mariadb:10.2
|
||||
container_name: server2
|
||||
network_mode: "host"
|
||||
environment:
|
||||
MYSQL_ALLOW_EMPTY_PASSWORD: Y
|
||||
@ -20,6 +22,7 @@ services:
|
||||
|
||||
server3:
|
||||
image: mariadb:10.2
|
||||
container_name: server3
|
||||
network_mode: "host"
|
||||
environment:
|
||||
MYSQL_ALLOW_EMPTY_PASSWORD: Y
|
||||
@ -29,6 +32,7 @@ services:
|
||||
|
||||
server4:
|
||||
image: mariadb:10.2
|
||||
container_name: server4
|
||||
network_mode: "host"
|
||||
environment:
|
||||
MYSQL_ALLOW_EMPTY_PASSWORD: Y
|
||||
|
||||
@ -1,6 +1,5 @@
|
||||
[maxscale]
|
||||
threads=4
|
||||
log_info=1
|
||||
libdir=@CMAKE_INSTALL_PREFIX@/@MAXSCALE_LIBDIR@
|
||||
logdir=@CMAKE_INSTALL_PREFIX@/log/maxscale/
|
||||
datadir=@CMAKE_INSTALL_PREFIX@/lib/maxscale
|
||||
@ -14,7 +13,7 @@ type=monitor
|
||||
module=mariadbmon
|
||||
servers=server1,server2,server3,server4
|
||||
user=maxuser
|
||||
passwd=maxpwd
|
||||
password=maxpwd
|
||||
monitor_interval=10000
|
||||
|
||||
[RW-Split-Router]
|
||||
@ -22,7 +21,7 @@ type=service
|
||||
router=readwritesplit
|
||||
servers=server1,server2,server3,server4
|
||||
user=maxuser
|
||||
passwd=maxpwd
|
||||
password=maxpwd
|
||||
max_slave_connections=100%
|
||||
|
||||
[SchemaRouter-Router]
|
||||
@ -30,7 +29,7 @@ type=service
|
||||
router=schemarouter
|
||||
servers=server1,server2,server3,server4
|
||||
user=maxuser
|
||||
passwd=maxpwd
|
||||
password=maxpwd
|
||||
auth_all_servers=1
|
||||
|
||||
[RW-Split-Hint-Router]
|
||||
@ -38,7 +37,7 @@ type=service
|
||||
router=readwritesplit
|
||||
servers=server1,server2,server3,server4
|
||||
user=maxuser
|
||||
passwd=maxpwd
|
||||
password=maxpwd
|
||||
max_slave_connections=100%
|
||||
filters=Hint
|
||||
|
||||
@ -48,7 +47,7 @@ router=readconnroute
|
||||
router_options=master
|
||||
servers=server1
|
||||
user=maxuser
|
||||
passwd=maxpwd
|
||||
password=maxpwd
|
||||
filters=QLA
|
||||
|
||||
[Hint]
|
||||
|
||||
@ -1,13 +1,12 @@
|
||||
[maxscale]
|
||||
threads=4
|
||||
log_info=1
|
||||
libdir=@CMAKE_INSTALL_PREFIX@/@MAXSCALE_LIBDIR@
|
||||
logdir=@CMAKE_INSTALL_PREFIX@/secondary/log/maxscale/
|
||||
datadir=@CMAKE_INSTALL_PREFIX@/secondary/lib/maxscale
|
||||
cachedir=@CMAKE_INSTALL_PREFIX@/secondary/cache/maxscale
|
||||
language=@CMAKE_INSTALL_PREFIX@/secondary/lib/maxscale/
|
||||
piddir=@CMAKE_INSTALL_PREFIX@/secondary/run/maxscale
|
||||
config_persistdir=@CMAKE_INSTALL_PREFIX@/secondary/lib/maxscale/
|
||||
persistdir=@CMAKE_INSTALL_PREFIX@/secondary/lib/maxscale/maxscale.cnf.d/
|
||||
admin_auth=false
|
||||
admin_port=8990
|
||||
|
||||
@ -16,7 +15,7 @@ type=monitor
|
||||
module=mariadbmon
|
||||
servers=server1,server2,server3,server4
|
||||
user=maxuser
|
||||
passwd=maxpwd
|
||||
password=maxpwd
|
||||
monitor_interval=10000
|
||||
|
||||
[RW-Split-Router]
|
||||
@ -24,7 +23,7 @@ type=service
|
||||
router=readwritesplit
|
||||
servers=server1,server2,server3,server4
|
||||
user=maxuser
|
||||
passwd=maxpwd
|
||||
password=maxpwd
|
||||
max_slave_connections=100%
|
||||
|
||||
[SchemaRouter-Router]
|
||||
@ -32,7 +31,7 @@ type=service
|
||||
router=schemarouter
|
||||
servers=server1,server2,server3,server4
|
||||
user=maxuser
|
||||
passwd=maxpwd
|
||||
password=maxpwd
|
||||
auth_all_servers=1
|
||||
|
||||
[RW-Split-Hint-Router]
|
||||
@ -40,7 +39,7 @@ type=service
|
||||
router=readwritesplit
|
||||
servers=server1,server2,server3,server4
|
||||
user=maxuser
|
||||
passwd=maxpwd
|
||||
password=maxpwd
|
||||
max_slave_connections=100%
|
||||
filters=Hint
|
||||
|
||||
@ -50,7 +49,8 @@ router=readconnroute
|
||||
router_options=master
|
||||
servers=server1
|
||||
user=maxuser
|
||||
passwd=maxpwd
|
||||
password=maxpwd
|
||||
filters=QLA
|
||||
|
||||
[Hint]
|
||||
type=filter
|
||||
@ -71,6 +71,14 @@ type=filter
|
||||
module=tee
|
||||
service=RW-Split-Hint-Router
|
||||
|
||||
[QLA]
|
||||
type=filter
|
||||
module=qlafilter
|
||||
log_type=unified
|
||||
append=false
|
||||
flush=true
|
||||
filebase=/tmp/qla2.log
|
||||
|
||||
[CLI]
|
||||
type=service
|
||||
router=cli
|
||||
|
||||
@ -18,6 +18,8 @@ testdir=$3
|
||||
|
||||
maxscaledir=$PWD/maxscale_test/
|
||||
|
||||
rm -f $maxscaledir/maxscale{,1,2}.output $maxscaledir/{,secondary/}log/maxscale/maxscale.log
|
||||
|
||||
# Create the test directories
|
||||
mkdir -p $maxscaledir $testdir
|
||||
|
||||
@ -30,6 +32,9 @@ cp -t $testdir -r $testsrc/*
|
||||
# Required by MaxCtrl (not super pretty)
|
||||
cp -t $testdir/.. $srcdir/VERSION*.cmake
|
||||
|
||||
# This avoids running npm as root if we're executing the tests as root (MaxCtrl specific)
|
||||
(cd $testdir && test -f configure_version.cmake && cmake -P configure_version.cmake)
|
||||
|
||||
# Copy required docker-compose files to the MaxScale directory and bring MariaDB
|
||||
# servers up. This is an asynchronous process.
|
||||
cd $maxscaledir
|
||||
@ -44,17 +49,13 @@ npm install || exit 1
|
||||
cd $maxscaledir
|
||||
cmake $srcdir -DCMAKE_BUILD_TYPE=Debug \
|
||||
-DCMAKE_INSTALL_PREFIX=$maxscaledir \
|
||||
-DBUILD_TESTS=Y \
|
||||
-DBUILD_TESTS=N \
|
||||
-DMAXSCALE_VARDIR=$maxscaledir \
|
||||
-DCMAKE_BUILD_TYPE=Debug \
|
||||
-DWITH_SCRIPTS=N \
|
||||
-DWITH_MAXSCALE_CNF=N \
|
||||
-DBUILD_CDC=Y \
|
||||
-DTARGET_COMPONENT=all \
|
||||
-DDEFAULT_MODULE_CONFIGDIR=$maxscaledir \
|
||||
-DDEFAULT_ADMIN_USER=`whoami` || exit 1
|
||||
-DBUILD_CDC=N || exit 1
|
||||
|
||||
make install || exit 1
|
||||
make -j $(grep -c processor /proc/cpuinfo) install || exit 1
|
||||
|
||||
# Create required directories (we could run the postinst script but it's a bit too invasive)
|
||||
mkdir -p $maxscaledir/lib64/maxscale
|
||||
@ -80,10 +81,20 @@ do
|
||||
printf "Waiting for $node to start... "
|
||||
for ((i=0; i<60; i++))
|
||||
do
|
||||
docker-compose exec $node mysql -umaxuser -pmaxpwd -e "select 1" >& /dev/null && break
|
||||
docker exec -i $node mysql -umaxuser -pmaxpwd -e "select 1" >& /dev/null && break
|
||||
sleep 1
|
||||
done
|
||||
echo "Done!"
|
||||
|
||||
docker exec -i $node mysql -umaxuser -pmaxpwd -e "select 1" >& /dev/null
|
||||
|
||||
if [ $? -ne 0 ]
|
||||
then
|
||||
echo "failed to start $node, error is:"
|
||||
docker exec -i $node mysql -umaxuser -pmaxpwd -e "select 1"
|
||||
exit 1
|
||||
else
|
||||
echo "Done!"
|
||||
fi
|
||||
done
|
||||
|
||||
# Go to the test directory
|
||||
|
||||
@ -9,37 +9,46 @@ maxscaledir=$MAXSCALE_DIR
|
||||
|
||||
test -z "$MAXSCALE_DIR" && exit 1
|
||||
|
||||
# Create directories for the secondary MaxScale
|
||||
# Create directories for both MaxScales
|
||||
|
||||
rm -r $maxscaledir/lib/maxscale
|
||||
rm -r $maxscaledir/cache/maxscale
|
||||
rm -r $maxscaledir/run/maxscale
|
||||
rm -r $maxscaledir/secondary/lib/maxscale
|
||||
rm -r $maxscaledir/secondary/cache/maxscale
|
||||
rm -r $maxscaledir/secondary/run/maxscale
|
||||
rm -r $maxscaledir/secondary/log/maxscale
|
||||
test -f /tmp/maxadmin.sock && rm /tmp/maxadmin.sock
|
||||
test -f /tmp/maxadmin2.sock && rm /tmp/maxadmin2.sock
|
||||
|
||||
mkdir -m 0755 -p $maxscaledir/secondary/lib/maxscale
|
||||
mkdir -m 0755 -p $maxscaledir/lib/maxscale/maxscale.cnf.d
|
||||
mkdir -m 0755 -p $maxscaledir/cache/maxscale
|
||||
mkdir -m 0755 -p $maxscaledir/run/maxscale
|
||||
mkdir -m 0755 -p $maxscaledir/log/maxscale
|
||||
mkdir -m 0755 -p $maxscaledir/secondary/lib/maxscale/maxscale.cnf.d
|
||||
mkdir -m 0755 -p $maxscaledir/secondary/cache/maxscale
|
||||
mkdir -m 0755 -p $maxscaledir/secondary/run/maxscale
|
||||
mkdir -m 0755 -p $maxscaledir/secondary/log/maxscale
|
||||
|
||||
# Start MaxScale
|
||||
$maxscaledir/bin/maxscale -lstdout -df $maxscaledir/maxscale.cnf >& $maxscaledir/maxscale1.output &
|
||||
if [ "`whoami`" == "root" ]
|
||||
then
|
||||
user_opt="-U root"
|
||||
fi
|
||||
|
||||
# Wait for the first MaxScale to start
|
||||
for ((i=0;i<60;i++))
|
||||
do
|
||||
$maxscaledir/bin/maxadmin help >& /dev/null && break
|
||||
sleep 0.1
|
||||
done
|
||||
# Start MaxScale
|
||||
$maxscaledir/bin/maxscale $user_opt -f $maxscaledir/maxscale.cnf &>> $maxscaledir/maxscale1.output || exit 1
|
||||
|
||||
# Start a second maxscale
|
||||
$maxscaledir/bin/maxscale -lstdout -df $maxscaledir/maxscale_secondary.cnf >& $maxscaledir/maxscale2.output &
|
||||
$maxscaledir/bin/maxscale $user_opt -f $maxscaledir/maxscale_secondary.cnf &>> $maxscaledir/maxscale2.output || exit 1
|
||||
|
||||
# Wait for the second MaxScale to start
|
||||
for ((i=0;i<60;i++))
|
||||
# Wait for the MaxScales to start
|
||||
|
||||
for ((i=0;i<150;i++))
|
||||
do
|
||||
$maxscaledir/bin/maxadmin -S /tmp/maxadmin2.sock help >& /dev/null && break
|
||||
$maxscaledir/bin/maxctrl list servers >& /dev/null && \
|
||||
$maxscaledir/bin/maxctrl --hosts 127.0.0.1:8990 list servers >& /dev/null && \
|
||||
exit 0
|
||||
sleep 0.1
|
||||
done
|
||||
|
||||
# Give MaxScale some time to settle
|
||||
sleep 1
|
||||
# MaxScales failed to start, exit with an error
|
||||
exit 1
|
||||
|
||||
@ -9,16 +9,30 @@ maxscaledir=$MAXSCALE_DIR
|
||||
|
||||
test -z "$MAXSCALE_DIR" && exit 1
|
||||
|
||||
rm -r $maxscaledir/lib/maxscale
|
||||
rm -r $maxscaledir/cache/maxscale
|
||||
rm -r $maxscaledir/run/maxscale
|
||||
test -f /tmp/maxadmin.sock && rm /tmp/maxadmin.sock
|
||||
|
||||
mkdir -m 0755 -p $maxscaledir/lib/maxscale/maxscale.cnf.d
|
||||
mkdir -m 0755 -p $maxscaledir/cache/maxscale
|
||||
mkdir -m 0755 -p $maxscaledir/run/maxscale
|
||||
mkdir -m 0755 -p $maxscaledir/log/maxscale
|
||||
|
||||
if [ "`whoami`" == "root" ]
|
||||
then
|
||||
user_opt="-U root"
|
||||
fi
|
||||
|
||||
# Start MaxScale
|
||||
$maxscaledir/bin/maxscale -df $maxscaledir/maxscale.cnf >& $maxscaledir/maxscale.output &
|
||||
pid=$!
|
||||
$maxscaledir/bin/maxscale $user_opt -f $maxscaledir/maxscale.cnf &>> $maxscaledir/maxscale.output || exit 1
|
||||
|
||||
# Wait for MaxScale to start
|
||||
for ((i=0;i<60;i++))
|
||||
for ((i=0;i<150;i++))
|
||||
do
|
||||
$maxscaledir/bin/maxadmin help >& /dev/null && break
|
||||
$maxscaledir/bin/maxctrl list servers >& /dev/null && exit 0
|
||||
sleep 0.1
|
||||
done
|
||||
|
||||
# Give MaxScale some time to settle
|
||||
sleep 1
|
||||
# MaxScale failed to start, exit with an error
|
||||
exit 1
|
||||
|
||||
@ -1,29 +1,3 @@
|
||||
#!/bin/bash
|
||||
|
||||
#
|
||||
# This script is run after each test block. It kills the two MaxScale processes
|
||||
# and cleans up the directories that contain generated files.
|
||||
#
|
||||
|
||||
maxscaledir=$MAXSCALE_DIR
|
||||
|
||||
test -z "$MAXSCALE_DIR" && exit 1
|
||||
|
||||
for ((i=0;i<20;i++))
|
||||
do
|
||||
pkill '^maxscale$' || break
|
||||
sleep 0.5
|
||||
done
|
||||
|
||||
# If it wasn't dead before, now it is
|
||||
pkill -9 '^maxscale$'
|
||||
|
||||
rm -r $maxscaledir/lib/maxscale
|
||||
rm -r $maxscaledir/cache/maxscale
|
||||
rm -r $maxscaledir/run/maxscale
|
||||
test -f /tmp/maxadmin.sock && rm /tmp/maxadmin.sock
|
||||
test -f /tmp/maxadmin2.sock && rm /tmp/maxadmin2.sock
|
||||
|
||||
mkdir -m 0755 -p $maxscaledir/lib/maxscale
|
||||
mkdir -m 0755 -p $maxscaledir/cache/maxscale
|
||||
mkdir -m 0755 -p $maxscaledir/run/maxscale
|
||||
./stop_maxscale.sh
|
||||
|
||||
@ -1,28 +1,22 @@
|
||||
#!/bin/bash
|
||||
|
||||
#
|
||||
# This script is run after each test block. It kills the MaxScale process
|
||||
# and cleans up the directories that contain generated files.
|
||||
# This script is run after each test block. It kills the MaxScale process.
|
||||
#
|
||||
|
||||
maxscaledir=$MAXSCALE_DIR
|
||||
|
||||
test -z "$MAXSCALE_DIR" && exit 1
|
||||
|
||||
for ((i=0;i<20;i++))
|
||||
pkill '^maxscale$'
|
||||
|
||||
for ((i=0;i<100;i++))
|
||||
do
|
||||
pkill '^maxscale$' || break
|
||||
sleep 0.5
|
||||
pgrep '^maxscale$' &> /dev/null || break
|
||||
sleep 0.1
|
||||
done
|
||||
|
||||
# If it wasn't dead before, now it is
|
||||
pkill -9 '^maxscale$'
|
||||
pgrep '^maxscale$' &> /dev/null && pkill -11 '^maxscale$'
|
||||
|
||||
rm -r $maxscaledir/lib/maxscale
|
||||
rm -r $maxscaledir/cache/maxscale
|
||||
rm -r $maxscaledir/run/maxscale
|
||||
test -f /tmp/maxadmin.sock && rm /tmp/maxadmin.sock
|
||||
|
||||
mkdir -m 0755 -p $maxscaledir/lib/maxscale
|
||||
mkdir -m 0755 -p $maxscaledir/cache/maxscale
|
||||
mkdir -m 0755 -p $maxscaledir/run/maxscale
|
||||
exit 0
|
||||
|
||||
Reference in New Issue
Block a user