From e94dc2aadef7527e12d8329170297d7294351df2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Markus=20M=C3=A4kel=C3=A4?= Date: Wed, 11 Oct 2017 11:29:02 +0300 Subject: [PATCH] MXS-1468: Add test case Added test case that reproduces the bug. --- maxscale-system-test/CMakeLists.txt | 4 ++ .../cnf/maxscale.cnf.template.mxs1468 | 18 +++++++++ maxscale-system-test/mxs1468.cpp | 37 +++++++++++++++++++ 3 files changed, 59 insertions(+) create mode 100755 maxscale-system-test/cnf/maxscale.cnf.template.mxs1468 create mode 100644 maxscale-system-test/mxs1468.cpp diff --git a/maxscale-system-test/CMakeLists.txt b/maxscale-system-test/CMakeLists.txt index 90d31c0ff..9d32e9568 100644 --- a/maxscale-system-test/CMakeLists.txt +++ b/maxscale-system-test/CMakeLists.txt @@ -502,6 +502,10 @@ add_test_executable(mxs1451_skip_auth.cpp mxs1451_skip_auth mxs1451_skip_auth LA # https://jira.mariadb.org/browse/MXS-1457 add_test_executable(mxs1457_ignore_deleted.cpp mxs1457_ignore_deleted mxs1457_ignore_deleted LABELS REPL_BACKEND) +# MXS-1468: Using dynamic commands to create readwritesplit configs fail after restart +# https://jira.mariadb.org/browse/MXS-1468 +add_test_executable(mxs1468.cpp mxs1468 mxs1468 LABELS REPL_BACKEND) + # 'namedserverfilter' test add_test_executable(namedserverfilter.cpp namedserverfilter namedserverfilter LABELS namedserverfilter LIGHT REPL_BACKEND) diff --git a/maxscale-system-test/cnf/maxscale.cnf.template.mxs1468 b/maxscale-system-test/cnf/maxscale.cnf.template.mxs1468 new file mode 100755 index 000000000..e395186fe --- /dev/null +++ b/maxscale-system-test/cnf/maxscale.cnf.template.mxs1468 @@ -0,0 +1,18 @@ +[maxscale] +threads=###threads### + +[rwsplit-service] +type=service +router=readwritesplit +user=maxskysql +passwd=skysql + +[CLI] +type=service +router=cli + +[CLI Listener] +type=listener +service=CLI +protocol=maxscaled +socket=default diff --git a/maxscale-system-test/mxs1468.cpp b/maxscale-system-test/mxs1468.cpp new file mode 100644 index 000000000..70161fce7 --- /dev/null +++ b/maxscale-system-test/mxs1468.cpp @@ -0,0 +1,37 @@ +/** + * MXS-1468: Using dynamic commands to create readwritesplit configs fail after restart + * + * https://jira.mariadb.org/browse/MXS-1468 + */ + +#include "testconnections.h" + +int main(int argc, char** argv) +{ + TestConnections test(argc, argv); + + test.verbose = true; + test.ssh_maxscale(true, + "maxadmin create monitor cluster-monitor mysqlmon;" + "maxadmin alter monitor cluster-monitor user=maxskysql password=skysql monitor_interval=1000;" + "maxadmin restart monitor cluster-monitor;" + "maxadmin create listener rwsplit-service rwsplit-listener 0.0.0.0 4006;" + "maxadmin create listener rwsplit-service rwsplit-listener2 0.0.0.0 4008;" + "maxadmin create listener rwsplit-service rwsplit-listener3 0.0.0.0 4009;" + "maxadmin list listeners;" + "maxadmin create server prod_mysql01 %s 3306;" + "maxadmin create server prod_mysql02 %s 3306;" + "maxadmin create server prod_mysql03 %s 3306;" + "maxadmin list servers;" + "maxadmin add server prod_mysql02 cluster-monitor rwsplit-service;" + "maxadmin add server prod_mysql01 cluster-monitor rwsplit-service;" + "maxadmin add server prod_mysql03 cluster-monitor rwsplit-service;" + "maxadmin list servers;", test.repl->IP[0], test.repl->IP[1], test.repl->IP[2]); + test.verbose = false; + + test.tprintf("Restarting MaxScale"); + test.add_result(test.restart_maxscale(), "Restart should succeed"); + test.check_maxscale_alive(); + + return test.global_result; +}