add tests
This commit is contained in:

committed by
Markus Mäkelä

parent
dbfd631fed
commit
8c6ca38a8a
16
maxscale-system-test/local_tests/cleanup_db.sh
Executable file
16
maxscale-system-test/local_tests/cleanup_db.sh
Executable file
@ -0,0 +1,16 @@
|
||||
set -x
|
||||
|
||||
dir=`pwd`
|
||||
|
||||
|
||||
#cp ~/build-scripts/test/multiple_servers.cnf $dir
|
||||
sudo killall mysqld
|
||||
sudo killall mysql_install_db
|
||||
sleep 10
|
||||
rm -rf /data/mysql/mysql$1
|
||||
rm -rf /var/log/mysql/*
|
||||
mkdir -p /data/mysql/mysql$1
|
||||
chown mysql:mysql -R /data
|
||||
chown mysql:mysql -R /var/run/mysqld
|
||||
|
||||
mysql_install_db --defaults-file=$dir/local_tests/multiple_servers.cnf --user=mysql --datadir=/data/mysql/mysql$1
|
4
maxscale-system-test/local_tests/create_repl_user.sql
Normal file
4
maxscale-system-test/local_tests/create_repl_user.sql
Normal file
@ -0,0 +1,4 @@
|
||||
#create user repl@'%' identified by 'repl';
|
||||
grant replication slave on *.* to repl@'%' identified by 'repl';
|
||||
|
||||
FLUSH PRIVILEGES;
|
18
maxscale-system-test/local_tests/create_skysql_user.sql
Normal file
18
maxscale-system-test/local_tests/create_skysql_user.sql
Normal file
@ -0,0 +1,18 @@
|
||||
create user skysql@'%' identified by 'skysql';
|
||||
create user skysql@'localhost' identified by 'skysql';
|
||||
GRANT ALL PRIVILEGES ON *.* TO skysql@'%' WITH GRANT OPTION;
|
||||
GRANT ALL PRIVILEGES ON *.* TO skysql@'localhost' WITH GRANT OPTION;
|
||||
|
||||
create user maxuser@'%' identified by 'maxpwd';
|
||||
create user maxuser@'localhost' identified by 'maxpwd';
|
||||
GRANT ALL PRIVILEGES ON *.* TO maxuser@'%' WITH GRANT OPTION;
|
||||
GRANT ALL PRIVILEGES ON *.* TO maxuser@'localhost' WITH GRANT OPTION;
|
||||
|
||||
create user maxskysql@'%' identified by 'skysql';
|
||||
create user maxskysql@'localhost' identified by 'skysql';
|
||||
GRANT ALL PRIVILEGES ON *.* TO maxskysql@'%' WITH GRANT OPTION;
|
||||
GRANT ALL PRIVILEGES ON *.* TO maxskysql@'localhost' WITH GRANT OPTION;
|
||||
|
||||
|
||||
FLUSH PRIVILEGES;
|
||||
CREATE DATABASE IF NOT EXISTS test;
|
114
maxscale-system-test/local_tests/install_rpm_local.sh
Executable file
114
maxscale-system-test/local_tests/install_rpm_local.sh
Executable file
@ -0,0 +1,114 @@
|
||||
#!/bin/bash
|
||||
|
||||
# Do the real building work. This script is executed on build VM and
|
||||
# requires a working installation of CMake.
|
||||
|
||||
cd $work_dir
|
||||
|
||||
# Check if CMake needs to be installed
|
||||
command -v cmake || install_cmake="cmake"
|
||||
|
||||
command -v yum
|
||||
|
||||
if [ $? -ne 0 ]
|
||||
then
|
||||
sudo zypper -n install gcc gcc-c++ ncurses-devel bison glibc-devel libgcc_s1 perl \
|
||||
make libtool libopenssl-devel libaio libaio-devel flex libcurl-devel \
|
||||
pcre-devel git wget tcl libuuid-devel \
|
||||
xz-devel sqlite3 sqlite3-devel pkg-config lua lua-devel \
|
||||
libmicrohttpd-devel $install_cmake
|
||||
sudo zypper -n install rpm-build
|
||||
cat /etc/*-release | grep "SUSE Linux Enterprise Server 11"
|
||||
|
||||
if [ $? -ne 0 ]
|
||||
then
|
||||
sudo zypper -n install libedit-devel
|
||||
fi
|
||||
else
|
||||
sudo yum clean all
|
||||
sudo yum install -y --nogpgcheck gcc gcc-c++ ncurses-devel bison glibc-devel \
|
||||
libgcc perl make libtool openssl-devel libaio libaio-devel libedit-devel \
|
||||
libedit-devel libcurl-devel curl-devel systemtap-sdt-devel rpm-sign \
|
||||
gnupg pcre-devel flex rpmdevtools git wget tcl openssl libuuid-devel xz-devel \
|
||||
sqlite sqlite-devel pkgconfig lua lua-devel rpm-build createrepo yum-utils \
|
||||
libmicrohttpd-devel $install_cmake
|
||||
|
||||
cat /etc/redhat-release | grep "release 5"
|
||||
if [ $? -eq 0 ]
|
||||
then
|
||||
sudo yum remove -y libedit-devel libedit
|
||||
fi
|
||||
fi
|
||||
|
||||
# Flex
|
||||
wget http://maxscale-jenkins.mariadb.com/x/flex-2.5.35-0.8.el5.rfb.x86_64.rpm
|
||||
sudo yum install flex-2.5.35-0.8.el5.rfb.x86_64.rpm -y --nogpgcheck
|
||||
rm flex-2.5.35-0.8.el5.rfb.x86_64*
|
||||
|
||||
# RabbitMQ C client
|
||||
mkdir rabbit
|
||||
cd rabbit
|
||||
git clone https://github.com/alanxz/rabbitmq-c.git
|
||||
|
||||
if [ $? -ne 0 ]
|
||||
then
|
||||
echo "Error cloning rabbitmq-c"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
cd rabbitmq-c
|
||||
git checkout v0.7.1
|
||||
cmake . -DCMAKE_C_FLAGS=-fPIC -DBUILD_SHARED_LIBS=N -DCMAKE_INSTALL_PREFIX=/usr
|
||||
sudo make install
|
||||
cd ../../
|
||||
|
||||
# TCL
|
||||
mkdir tcl
|
||||
cd tcl
|
||||
wget --no-check-certificate http://prdownloads.sourceforge.net/tcl/tcl8.6.5-src.tar.gz
|
||||
|
||||
if [ $? -ne 0 ]
|
||||
then
|
||||
echo "Error getting tcl"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
tar xzvf tcl8.6.5-src.tar.gz
|
||||
cd tcl8.6.5/unix
|
||||
./configure
|
||||
sudo make install
|
||||
cd ../../..
|
||||
|
||||
|
||||
# Jansson
|
||||
git clone https://github.com/akheron/jansson.git
|
||||
if [ $? != 0 ]
|
||||
then
|
||||
echo "Error cloning jansson"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
mkdir -p jansson/build
|
||||
pushd jansson/build
|
||||
cmake .. -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_C_FLAGS=-fPIC -DJANSSON_INSTALL_LIB_DIR=/usr/lib64
|
||||
make
|
||||
sudo make install
|
||||
popd
|
||||
|
||||
# Avro C API
|
||||
wget http://mirror.netinch.com/pub/apache/avro/avro-1.8.2/c/avro-c-1.8.2.tar.gz
|
||||
if [ $? != 0 ]
|
||||
then
|
||||
echo "Error getting avro-c"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
tar -axf avro-c-1.8.2.tar.gz
|
||||
mkdir avro-c-1.8.2/build
|
||||
pushd avro-c-1.8.2/build
|
||||
cmake .. -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_C_FLAGS=-fPIC -DCMAKE_CXX_FLAGS=-fPIC
|
||||
make
|
||||
sudo make install
|
||||
popd
|
||||
|
||||
#sudo yum install -y mariadb mariadb-server
|
79
maxscale-system-test/local_tests/multiple_servers.cnf
Normal file
79
maxscale-system-test/local_tests/multiple_servers.cnf
Normal file
@ -0,0 +1,79 @@
|
||||
|
||||
#
|
||||
# These groups are read by MariaDB server.
|
||||
# Use it for options that only the server (but not clients) should see
|
||||
#
|
||||
# See the examples of server my.cnf files in /usr/share/mysql/
|
||||
#
|
||||
|
||||
# this is read by the standalone daemon and embedded servers
|
||||
[server]
|
||||
|
||||
# this is only for the mysqld standalone daemon
|
||||
[mysqld1]
|
||||
log-bin=mar-bin
|
||||
binlog-format=row
|
||||
#max_long_data_size=1000000000
|
||||
#innodb_log_file_size=2000000000
|
||||
slave-skip-errors=all
|
||||
server_id=1
|
||||
user = mysql
|
||||
pid-file = /var/run/mysqld/mysqld1.pid
|
||||
socket = /var/run/mysqld/mysqld1.sock
|
||||
port = 3301
|
||||
datadir = /data/mysql/mysql1
|
||||
|
||||
[mysqld2]
|
||||
log-bin=mar-bin
|
||||
binlog-format=row
|
||||
#max_long_data_size=1000000000
|
||||
#innodb_log_file_size=2000000000
|
||||
slave-skip-errors=all
|
||||
server_id=2
|
||||
user = mysql
|
||||
pid-file = /var/run/mysqld/mysqld2.pid
|
||||
socket = /var/run/mysqld/mysqld2.sock
|
||||
port = 3302
|
||||
datadir = /data/mysql/mysql2
|
||||
|
||||
[mysqld3]
|
||||
log-bin=mar-bin
|
||||
binlog-format=row
|
||||
#max_long_data_size=1000000000
|
||||
#innodb_log_file_size=2000000000
|
||||
slave-skip-errors=all
|
||||
server_id=3
|
||||
user = mysql
|
||||
pid-file = /var/run/mysqld/mysqld3.pid
|
||||
socket = /var/run/mysqld/mysqld3.sock
|
||||
port = 3303
|
||||
datadir = /data/mysql/mysql3
|
||||
|
||||
[mysqld4]
|
||||
log-bin=mar-bin
|
||||
binlog-format=row
|
||||
#max_long_data_size=1000000000
|
||||
#innodb_log_file_size=2000000000
|
||||
slave-skip-errors=all
|
||||
server_id=4
|
||||
user = mysql
|
||||
pid-file = /var/run/mysqld/mysqld4.pid
|
||||
socket = /var/run/mysqld/mysqld4.sock
|
||||
port = 3304
|
||||
datadir = /data/mysql/mysql4
|
||||
|
||||
# this is only for embedded server
|
||||
[embedded]
|
||||
|
||||
# This group is only read by MariaDB-5.5 servers.
|
||||
# If you use the same .cnf file for MariaDB of different versions,
|
||||
# use this group for options that older servers don't understand
|
||||
[mysqld-5.5]
|
||||
|
||||
# These two groups are only read by MariaDB servers, not by MySQL.
|
||||
# If you use the same .cnf file for MySQL and MariaDB,
|
||||
# you can put MariaDB-only options here
|
||||
[mariadb]
|
||||
|
||||
[mariadb-5.5]
|
||||
|
93
maxscale-system-test/local_tests/set_env_local.sh
Normal file
93
maxscale-system-test/local_tests/set_env_local.sh
Normal file
@ -0,0 +1,93 @@
|
||||
set -x
|
||||
echo $*
|
||||
export config_name="$1"
|
||||
if [ -z $1 ] ; then
|
||||
config_name="local1"
|
||||
fi
|
||||
|
||||
export curr_dir=`pwd`
|
||||
|
||||
export new_dirs="yes"
|
||||
|
||||
export maxscale_binlog_dir="/var/lib/maxscale/Binlog_Service"
|
||||
export maxdir="/usr/bin/"
|
||||
export maxdir_bin="/usr/bin/"
|
||||
export maxscale_cnf="/etc/maxscale.cnf"
|
||||
export maxscale_log_dir="/var/log/maxscale/"
|
||||
export maxscale_sshkey=$maxscale_keyfile
|
||||
|
||||
cd $mdbci_dir
|
||||
|
||||
# Number of nodes
|
||||
export node_N=4
|
||||
|
||||
export maxscale_IP=127.0.0.1
|
||||
export maxscale_network=127.0.0.1
|
||||
export maxscale_keyfile=$HOME/.ssh/id_rsa
|
||||
|
||||
# User name and Password for Master/Slave replication setup (should have all PRIVILEGES)
|
||||
export node_user="skysql"
|
||||
export node_password="skysql"
|
||||
|
||||
# User name and Password for Galera setup (should have all PRIVILEGES)
|
||||
#export galera_user="skysql"
|
||||
#export galera_password="skysql"
|
||||
|
||||
export maxscale_user="skysql"
|
||||
export maxscale_password="skysql"
|
||||
|
||||
export maxadmin_password="mariadb"
|
||||
|
||||
#for prefix in "node" "galera"
|
||||
for prefix in "node"
|
||||
do
|
||||
N_var="$prefix"_N
|
||||
Nx=${!N_var}
|
||||
N=`expr $Nx - 1`
|
||||
for i in $(seq 0 $N)
|
||||
do
|
||||
num=`printf "%03d" $i`
|
||||
username=`whoami`
|
||||
eval 'export "$prefix"_"$num"_network=127.0.0.1'
|
||||
eval 'export "$prefix"_"$num"_private_ip=127.0.0.1'
|
||||
eval 'export "$prefix"_"$num"_hostname="$prefix""$num"'
|
||||
eval 'export "$prefix"_"$num"_whoami="$username"'
|
||||
eval 'export "$prefix"_"$num"_keyfile="$HOME"/.ssh/id_rsa'
|
||||
j=`expr $i + 1`
|
||||
eval 'export "$prefix"_"$num"_socket=/var/run/mysqld/mysqld"$j".sock'
|
||||
|
||||
mariadbport=`expr $i + 3301`
|
||||
eval 'export "$prefix"_"$num"_port="$mariadbport"'
|
||||
eval 'export "$prefix"_"$num"_access_sudo=sudo'
|
||||
|
||||
start_cmd_var="$prefix"_"$num"_start_db_command
|
||||
stop_cmd_var="$prefix"_"$num"_stop_db_command
|
||||
GRN=`expr $i + 1`
|
||||
eval 'export $start_cmd_var="mysqld_multi --defaults-file=$HOME/maxscale-system-test/local_tests/multiple_servers.cnf start $GRN"'
|
||||
eval 'export $stop_cmd_var="mysqld_multi --defaults-file=$HOME/maxscale-system-test/local_tests/multiple_servers.cnf stop $GRN"'
|
||||
|
||||
start_cmd_var="$prefix"_"$num"_cleanup_db_command
|
||||
GRN=`expr $i + 1`
|
||||
eval 'export $start_cmd_var="$HOME/maxscale-system-test/local_tests/cleanup_db.sh $GRN"'
|
||||
|
||||
# cd ..
|
||||
done
|
||||
done
|
||||
|
||||
cd $mdbci_dir
|
||||
export maxscale_access_user=`whoami`
|
||||
export maxscale_whoami=`whoami`
|
||||
export maxscale_access_sudo="sudo "
|
||||
|
||||
# Sysbench directory (should be sysbench >= 0.5)
|
||||
export sysbench_dir="$HOME/sysbench_deb7/sysbench/"
|
||||
|
||||
export ssl=true
|
||||
|
||||
#export use_snapshots=yes
|
||||
export take_snapshot_command="echo Snapshots are not supported in the local config"
|
||||
export revert_snapshot_command="echo Snapshots are not supported in the local config"
|
||||
|
||||
export smoke=yes
|
||||
cd $curr_dir
|
||||
set +x
|
34
maxscale-system-test/local_tests/start_multiple_mariadb.sh
Executable file
34
maxscale-system-test/local_tests/start_multiple_mariadb.sh
Executable file
@ -0,0 +1,34 @@
|
||||
set -x
|
||||
|
||||
servers=4;
|
||||
dir=`pwd`
|
||||
|
||||
#cp ~/build-scripts/test/multiple_servers.cnf $dir
|
||||
sudo rm -rf /data/mysql/*
|
||||
sudo rm -rf /var/log/mysql/*
|
||||
sudo mkdir -p /data/mysql
|
||||
sudo chown mysql:mysql -R /data
|
||||
sudo mkdir -p /var/run/mysqld
|
||||
sudo chown mysql:mysql -R /var/run/mysqld
|
||||
sudo killall mysqld
|
||||
sudo killall mysql_install_db
|
||||
sleep 20
|
||||
|
||||
for i in `seq 1 $servers`;
|
||||
do
|
||||
sudo mysql_install_db --defaults-file=$dir/multiple_servers.cnf --user=mysql --datadir=/data/mysql/mysql$i
|
||||
done
|
||||
|
||||
sudo mysqld_multi --defaults-file=$dir/multiple_servers.cnf start &
|
||||
|
||||
running_servers=0
|
||||
while [ $running_servers != $servers ] ; do
|
||||
running_servers=`mysqld_multi --defaults-file=$dir/multiple_servers.cnf report | grep "is running" | wc -l`
|
||||
done
|
||||
|
||||
|
||||
for i in `seq 1 $servers`;
|
||||
do
|
||||
sudo mysql --socket=/var/run/mysqld/mysqld$i.sock < $dir/create_repl_user.sql
|
||||
sudo mysql --socket=/var/run/mysqld/mysqld$i.sock < $dir/create_skysql_user.sql
|
||||
done
|
Reference in New Issue
Block a user