
- 1 master, 3 slaves - stop maxscale so it does not autorejoin later on - stop & reset slave on servers 3 & 4 - add data to server 4 - restart maxscale, check that server 3 is rejoined but not server 4 - manually set server 1 to replicate from server 4, creating a relay master - check that servers 2 & 3 are redirected, making server 1 just a slave - switchover master to server 1, check that it's the master Also, moved some common functions into their own files. These functions are used by multiple tests.
35 lines
622 B
C++
35 lines
622 B
C++
/**
|
|
* Test auto_failover
|
|
*/
|
|
|
|
#include "testconnections.h"
|
|
#include "failover_common.cpp"
|
|
|
|
int main(int argc, char** argv)
|
|
{
|
|
interactive = strcmp(argv[argc - 1], "interactive") == 0;
|
|
TestConnections test(argc, argv);
|
|
|
|
// Wait a few seconds
|
|
sleep(5);
|
|
basic_test(test);
|
|
|
|
// Test 1
|
|
int node0_id = prepare_test_1(test);
|
|
sleep(10);
|
|
check_test_1(test, node0_id);
|
|
|
|
// Test 2
|
|
prepare_test_2(test);
|
|
sleep(10);
|
|
check_test_2(test);
|
|
|
|
// Test 3
|
|
prepare_test_3(test);
|
|
sleep(10);
|
|
check_test_3(test);
|
|
|
|
test.repl->fix_replication();
|
|
return test.global_result;
|
|
}
|