Files
MaxScale/maxscale-system-test
Timofey Turenko e1fc0b8734 Squashed commit of the following:
commit 48a0b902b67da46f1eed4afa687bdcb56b59d02f
Author: Timofey Turenko <timofey.turenko@mariadb.com>
Date:   Mon Dec 16 15:35:07 2019 +0200

    Increase timouts in the mxs173_trottle_filter test

commit 81d8083a89421a8004b8024d480ae0f35d715b86
Author: Timofey Turenko <timofey.turenko@mariadb.com>
Date:   Mon Dec 16 14:19:39 2019 +0200

    Increase timeouts in max1071_maxrow test

commit e1039c6132f0e9274b8801165f3f905ede7c9421
Author: Timofey Turenko <timofey.turenko@mariadb.com>
Date:   Mon Dec 16 00:06:53 2019 +0200

    Remove hardcoded 'home/vagrant/' from all maxscale.cnf in system tests

commit 28c8029e060afdcf5159bf802b13dcd5e484d9f1
Author: Timofey Turenko <timofey.turenko@mariadb.com>
Date:   Sun Dec 15 21:31:34 2019 +0200

    Use private IP for Galera congiguration in maxscale-system-tests

commit 66dc36cbf43a5fb92465df31e1295e82865be1fc
Author: Timofey Turenko <timofey.turenko@mariadb.com>
Date:   Sun Dec 15 09:06:28 2019 +0200

    Fix typos in fwf_*.cpp

commit 44c7a4384ddf39596c0254c955aeb6c008a00a35
Author: Timofey Turenko <timofey.turenko@mariadb.com>
Date:   Sun Dec 15 09:05:26 2019 +0200

    Fix typos in fwf_*.cpp

commit 2649017611908a8b0d27090f49722947ac31c4f4
Author: Timofey Turenko <timofey.turenko@mariadb.com>
Date:   Sun Dec 15 09:03:41 2019 +0200

    Fix typos in fwf_*.cpp

commit 5cc87658523e8496eaab17700be8a821af5b0cde
Author: Timofey Turenko <timofey.turenko@mariadb.com>
Date:   Sat Dec 14 23:54:53 2019 +0200

    Fix typo in fwf_copy_rules.cpp

commit fb1accc36cb9d79691469f63cb4535f3bc38dedd
Author: Timofey Turenko <timofey.turenko@mariadb.com>
Date:   Sat Dec 14 23:52:51 2019 +0200

    More hardcoded 'vagrant' removals

commit 77e49d474b4abe767629ff87b01f08137773d761
Author: Timofey Turenko <timofey.turenko@mariadb.com>
Date:   Sat Dec 14 23:35:09 2019 +0200

    Fix hardcoded 'vagrant' user in fwf* tests

    Several firewall filter tests has hardcoded 'vagrant' as a user name for
    access user on the VM. Changed to node->access_user.

commit ed5ab1487f37822db6a7478f76c0f3652776c389
Author: Timofey Turenko <timofey.turenko@mariadb.com>
Date:   Sat Dec 14 22:50:35 2019 +0200

    Fix IP vs IP_private

    Many tests use IP instead of IP_private which makes them failed in the
    AWS or GCloud environment.
    The same applies to get_conn_num() etc functions.

commit 0558aac23d303a675dc12d05b1766e698753b444
Author: Timofey Turenko <timofey.turenko@mariadb.com>
Date:   Thu Aug 15 12:02:01 2019 +0300

    fix IP -> IP_private for some mysqlmon* testst

commit 5d9c70970d970eb995c8774d0088bd1c54ab76fe
Author: Timofey Turenko <timofey.turenko@mariadb.com>
Date:   Sat Dec 14 20:20:51 2019 +0200

    Replace IP to IP_private in the maxscale-system-tests

commit b06cf3329af59ff100748691991213fe639f29e6
Author: Timofey Turenko <timofey.turenko@mariadb.com>
Date:   Tue Nov 19 11:52:33 2019 +0200

    Remove spaces from value which were read from *_network_config

    MDBCI can put spaces around values in the *_network_config file which
    can cause ssh connection failures in the tests. To fix it removing all
    spaces from all values which were read from *_network_config

commit b3904f019847ef1db9d4ec9714ad9ef869fa0b01
Author: Timofey Turenko <timofey.turenko@mariadb.com>
Date:   Thu Dec 12 23:36:31 2019 +0200

    Increate default timeout for all system tests
2019-12-16 15:41:52 +02:00
..
2019-10-29 12:51:31 +02:00
2017-05-26 15:40:40 +03:00
2017-11-07 12:03:09 +02:00
2019-12-16 15:41:52 +02:00
2019-05-03 13:38:12 +03:00
2017-12-08 12:23:04 +02:00
2017-05-26 15:40:40 +03:00
2017-05-26 15:40:40 +03:00
2017-05-26 15:40:40 +03:00
2019-05-09 17:12:52 +03:00
2017-05-26 15:40:40 +03:00
2017-05-26 15:40:40 +03:00
2017-05-26 15:40:40 +03:00
2018-09-09 22:26:19 +03:00
2018-09-09 22:26:19 +03:00
2018-11-09 14:22:28 +02:00
2018-09-09 22:26:19 +03:00
2017-05-26 15:40:40 +03:00
2017-05-26 15:40:40 +03:00
2018-09-09 22:26:19 +03:00
2018-09-13 12:26:58 +02:00
2018-09-09 22:26:19 +03:00
2018-09-09 22:26:19 +03:00
2019-04-18 09:48:39 +03:00
2018-09-09 22:26:19 +03:00
2018-09-09 22:26:19 +03:00
2019-12-16 15:41:52 +02:00
2018-09-09 22:26:19 +03:00
2018-09-09 22:26:19 +03:00
2018-09-09 22:26:19 +03:00
2019-04-15 14:35:24 +03:00
2018-09-10 13:22:49 +03:00
2018-09-14 16:20:13 +03:00
2018-09-10 13:22:49 +03:00
2018-09-10 13:22:49 +03:00
2018-09-09 22:26:19 +03:00
2018-09-10 13:22:49 +03:00
2018-09-10 13:22:49 +03:00
2018-11-19 20:02:10 +02:00
2017-05-26 15:40:40 +03:00
2018-09-10 13:22:49 +03:00
2019-10-29 12:51:31 +02:00
2018-09-09 22:26:19 +03:00
2018-09-09 22:26:19 +03:00
2018-09-09 22:26:19 +03:00
2019-09-06 10:12:16 +03:00
2018-09-09 22:26:19 +03:00
2018-11-06 15:09:14 +02:00
2018-09-09 22:26:19 +03:00
2017-05-26 15:40:40 +03:00
2017-05-26 15:40:40 +03:00
2018-11-19 20:19:21 +02:00
2018-09-09 22:26:19 +03:00
2017-05-26 15:40:40 +03:00
2017-05-26 15:40:40 +03:00
2017-05-26 15:40:40 +03:00
2017-05-26 15:40:40 +03:00
2017-05-26 15:40:40 +03:00
2017-05-26 15:40:40 +03:00
2018-09-09 22:26:19 +03:00
2019-04-15 14:35:24 +03:00
2017-05-26 15:40:40 +03:00
2018-11-22 13:51:08 +02:00
2018-09-09 22:26:19 +03:00
2018-09-10 13:22:49 +03:00
2018-09-09 22:26:19 +03:00
2018-09-09 22:26:19 +03:00
2019-03-15 12:26:59 +02:00
2019-12-16 15:41:52 +02:00
2018-09-09 22:26:19 +03:00
2017-05-26 15:40:40 +03:00
2017-05-26 15:40:40 +03:00
2018-11-14 16:20:42 +02:00
2017-05-26 15:40:40 +03:00
2019-03-05 04:54:40 +02:00
2017-05-26 15:40:40 +03:00
2019-01-03 09:23:16 +02:00
2019-06-11 21:30:16 +03:00
2017-05-26 15:40:40 +03:00
2017-05-26 15:40:40 +03:00
2019-04-15 14:35:24 +03:00
2019-04-15 14:35:24 +03:00
2019-01-03 09:23:16 +02:00
2018-09-09 22:26:19 +03:00
2017-05-26 15:40:40 +03:00
2017-12-08 12:23:04 +02:00
2017-05-26 15:40:40 +03:00
2019-04-18 09:48:39 +03:00
2018-09-09 22:26:19 +03:00
2018-11-30 12:05:14 +02:00
2018-09-09 22:26:19 +03:00
2018-09-09 22:26:19 +03:00
2017-05-26 15:40:40 +03:00
2018-10-31 09:46:02 +02:00
2018-11-19 20:02:10 +02:00
2018-09-09 22:26:19 +03:00
2018-11-09 12:13:22 +02:00
2018-09-09 22:26:19 +03:00
2019-10-29 12:51:31 +02:00
2018-10-31 09:03:09 +02:00
2017-12-08 12:23:04 +02:00
2019-01-03 09:23:16 +02:00
2018-09-09 22:26:19 +03:00
2018-11-19 20:02:11 +02:00
2018-10-02 09:44:01 +03:00
2018-09-09 22:26:19 +03:00
2018-09-09 22:26:19 +03:00
2018-09-09 22:26:19 +03:00
2018-09-09 22:26:19 +03:00
2018-09-09 22:26:19 +03:00
2018-09-10 13:22:49 +03:00
2017-12-08 12:23:04 +02:00
2018-09-09 22:26:19 +03:00
2018-09-09 22:26:19 +03:00
2018-09-09 22:26:19 +03:00
2018-09-09 22:26:19 +03:00
2018-09-09 22:26:19 +03:00
2018-09-09 22:26:19 +03:00
2018-09-09 22:26:19 +03:00
2018-09-09 22:26:19 +03:00
2018-11-19 20:02:10 +02:00
2018-09-09 22:26:19 +03:00
2019-12-16 15:41:52 +02:00
2018-02-02 16:05:14 +02:00
2018-09-09 22:26:19 +03:00
2018-09-09 22:26:19 +03:00
2018-11-06 15:08:36 +02:00
2018-09-09 22:26:19 +03:00
2018-02-08 16:59:00 +02:00
2018-09-09 22:26:19 +03:00
2019-12-16 15:41:52 +02:00
2018-09-09 22:26:19 +03:00
2018-09-10 12:29:00 +03:00
2018-09-09 22:26:19 +03:00
2018-09-09 22:26:19 +03:00
2018-10-31 09:46:02 +02:00
2018-11-01 14:05:15 +02:00
2019-06-06 16:36:36 +03:00
2019-06-27 08:25:12 +03:00
2019-07-01 16:57:52 +03:00
2019-12-16 15:41:52 +02:00
2019-05-14 10:54:32 +03:00
2017-12-08 12:23:04 +02:00
2018-11-19 20:02:10 +02:00
2017-05-26 15:40:40 +03:00
2018-02-09 21:58:10 +02:00
2018-09-09 22:26:19 +03:00
2018-09-09 22:26:19 +03:00
2018-09-10 12:29:00 +03:00
2019-04-01 11:32:48 +03:00
2019-10-29 11:33:10 +02:00
2019-04-15 14:35:24 +03:00
2018-09-09 22:26:19 +03:00
2017-05-26 15:40:40 +03:00
2018-05-15 10:14:38 +03:00
2018-09-09 22:26:19 +03:00
2018-09-09 22:26:19 +03:00
2018-09-09 22:26:19 +03:00
2019-04-15 14:35:24 +03:00
2018-09-09 22:26:19 +03:00
2017-05-26 15:40:40 +03:00
2017-05-23 21:09:30 +03:00

maxscale-system-test

System level tests for MaxScale

Basics

  • every test is separate executable file
  • backend for test:
    • 1 machine for Maxscale
    • = 4 machines for Master/Slave

    • = 4 machines for Galera cluster

  • environmental variables contains all information about backend: IPs, user names, passwords, paths to tools, etc
  • backed can be created with help of MDBCI tool
  • configuring of Master/Slave and Galera can be done with help of maxscale-system-test/mdbci/run_test.sh script

Manuals

MDBCI and running tests basics

Hints: How to write a test

Jenkins instructions

Environmental variables

variable meaning
node_N Number of machines for Master/Slave
node_XXX_network IP address of Master/Slave machine number XXX
node_XXX_private_ip private IP address of Master/Slave machine XXX for AWS machines (for everything else - same as node_XXX
node_XXX_port MariaDB port of Master/Slave machine XXX
node_XXX_whoami user name to access Master/Slave machine XXX via ssh
node_XXX_access_sudo 'sudo ' if node_access_user_XXX does not have root rights, empty string if node_access_user_XXX has root rights
node_XXX_keyfile full name of secret key to access Master/Slave machine XXX via ssh
node_XXX_start_db_command bash command to start DB server on Master/Slave machine XXX
node_XXX_stop_db_command bash command to stop DB server on Master/Slave machine XXX
node_user DB user name to access Master/Slave nodes (have to have all priveligies with GRANT option)
node_password password for node_user
galera_N Number of machines for Galera
galera_XXX_network IP address of Galera machine number XXX
galera_XXX_private private IP address of Galera machine XXX for AWS machines (for everything else - same as node_XXX
galera_XXX_port MariaDB port of Galera machine XXX
galera_XXX_whoami user name to access Galera machine XXX via ssh
galera_XXX_access 'sudo ' if node_access_user_XXX does not have root rights, empty string if node_access_user_XXX has root rights
galera_XXX_keyfile full name of secret key to access Galera machine XXX via ssh
galera_XXX_start_db_command bash command to start DB server on Galera machine XXX
galera_XXX_stop_db_command bash command to stop DB server on Galera machine XXX
galera_user DB user name to access Galera nodes (have to have all priveligies with GRANT option)
galera_password password for node_user
maxscale_cnf full name of Maxscale configuration file (maxscale.cnf)
maxscale_log_dir directory for Maxscale log files
maxscale_IP IP address of Maxscale machine
maxscale_sshkey full name of secret key to access Maxscale machine via ssh
maxscale_access_user user name to access Maxscale machine via ssh
maxscale_access_sudo 'sudo ' if maxscale_access_user does not have root rights, empty string if maxscale_access_user has root rights
maxscale_user DB user to access via Maxscale
maxscale_password password for maxscale_user
maxscale_hostname hostname of Maxscale machine
sysbench_dir directory where Sysbanch is installed
ssl 'yes' if tests should try to use ssl to connect to Maxscale and to backends (obsolete, now should be 'yes' in all cases)
smoke if 'yes' all tests are executed in 'quick' mode (less iterations, skip heavy operations)
backend_ssl if 'yes' ssl config will be added to all servers definition in maxscale.cnf
use_snapshots if TRUE every test is trying to revert snapshot before running the test
take_snapshot_command revert_snapshot_command
revert_snapshot_command Command line to revert a snapshot of all VMs
no_nodes_check if yes backend checks are not executed (needed in case of RDS or similar backend)
no_backend_log_copy if yes logs from backend nodes are not copied (needed in case of RDS or similar backend)
no_maxscale_start Do not start Maxscale automatically
no_vm_revert If true tests do not revert VMs after the test even if test failed