MXS-2243_labels Maxscale system tests prepare environment by themselves
maxscale-system-test changed in order to control test environment by itself. Every test checks which machines are running, compare with list of needed machines and start new VMs is they are missing in the running machines list. Tests are executiong MDBCI commands, MDBCI executable should be in the PATH
This commit is contained in:
@ -17,6 +17,7 @@
|
||||
#include <sstream>
|
||||
#include <iostream>
|
||||
#include <vector>
|
||||
#include "envv.h"
|
||||
|
||||
namespace
|
||||
{
|
||||
@ -28,7 +29,8 @@ void Mariadb_nodes::require_gtid(bool value)
|
||||
g_require_gtid = value;
|
||||
}
|
||||
|
||||
Mariadb_nodes::Mariadb_nodes(const char *pref, const char *test_cwd, bool verbose):
|
||||
Mariadb_nodes::Mariadb_nodes(const char *pref, const char *test_cwd, bool verbose,
|
||||
std::string network_config):
|
||||
v51(false)
|
||||
{
|
||||
use_ipv6 = false;
|
||||
@ -37,6 +39,7 @@ Mariadb_nodes::Mariadb_nodes(const char *pref, const char *test_cwd, bool verbos
|
||||
memset(blocked, 0, sizeof(blocked));
|
||||
no_set_pos = false;
|
||||
this->verbose = verbose;
|
||||
this->network_config = network_config;
|
||||
strcpy(test_dir, test_cwd);
|
||||
read_env();
|
||||
truncate_mariadb_logs();
|
||||
@ -100,43 +103,21 @@ void Mariadb_nodes::close_connections()
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
void Mariadb_nodes::read_env()
|
||||
{
|
||||
char * env;
|
||||
char env_name[64];
|
||||
|
||||
read_basic_env();
|
||||
|
||||
sprintf(env_name, "%s_user", prefix);
|
||||
env = getenv(env_name);
|
||||
if (env != NULL)
|
||||
{
|
||||
sscanf(env, "%s", user_name);
|
||||
}
|
||||
else
|
||||
{
|
||||
sprintf(user_name, "skysql");
|
||||
}
|
||||
user_name = readenv(env_name, "skysql");
|
||||
|
||||
sprintf(env_name, "%s_password", prefix);
|
||||
env = getenv(env_name);
|
||||
if (env != NULL)
|
||||
{
|
||||
sscanf(env, "%s", password);
|
||||
}
|
||||
else
|
||||
{
|
||||
sprintf(password, "skysql");
|
||||
}
|
||||
password = readenv(env_name, "skysql");
|
||||
|
||||
ssl = false;
|
||||
sprintf(env_name, "%s_ssl", prefix);
|
||||
env = getenv(env_name);
|
||||
if ((env != NULL) && ((strcasecmp(env, "yes") == 0) || (strcasecmp(env, "true") == 0) ))
|
||||
{
|
||||
ssl = true;
|
||||
}
|
||||
ssl = readenv_bool(env_name, false);
|
||||
|
||||
if ((N > 0) && (N < 255))
|
||||
{
|
||||
@ -144,65 +125,34 @@ void Mariadb_nodes::read_env()
|
||||
{
|
||||
//reading ports
|
||||
sprintf(env_name, "%s_%03d_port", prefix, i);
|
||||
env = getenv(env_name);
|
||||
if (env != NULL)
|
||||
{
|
||||
sscanf(env, "%d", &port[i]);
|
||||
}
|
||||
else
|
||||
{
|
||||
port[i] = 3306;
|
||||
}
|
||||
port[i] = readenv_int(env_name, 3306);
|
||||
|
||||
//reading sockets
|
||||
sprintf(env_name, "%s_%03d_socket", prefix, i);
|
||||
env = getenv(env_name);
|
||||
if (env != NULL)
|
||||
socket[i] = readenv(env_name, " ");
|
||||
if (strcmp(socket[i], " "))
|
||||
{
|
||||
sprintf(socket[i], "%s", env);
|
||||
sprintf(socket_cmd[i], "--socket=%s", env);
|
||||
socket_cmd[i] = (char *) malloc(strlen(socket[i]) + 10);
|
||||
sprintf(socket_cmd[i], "--socket=%s", socket[i]);
|
||||
}
|
||||
else
|
||||
{
|
||||
sprintf(socket[i], " ");
|
||||
sprintf(socket_cmd[i], " ");
|
||||
socket_cmd[i] = (char *) " ";
|
||||
}
|
||||
|
||||
sprintf(env_name, "%s_%03d_socket_cmd", prefix, i);
|
||||
setenv(env_name, socket_cmd[i], 1);
|
||||
|
||||
//reading start_db_command
|
||||
sprintf(env_name, "%s_%03d_start_db_command", prefix, i);
|
||||
env = getenv(env_name);
|
||||
if (env != NULL)
|
||||
{
|
||||
sprintf(start_db_command[i], "%s", env);
|
||||
}
|
||||
else
|
||||
{
|
||||
sprintf(start_db_command[i], "%s", "service mysql start");
|
||||
}
|
||||
start_db_command[i] = readenv(env_name, (char *) "service mysql start");
|
||||
|
||||
//reading stop_db_command
|
||||
sprintf(env_name, "%s_%03d_stop_db_command", prefix, i);
|
||||
env = getenv(env_name);
|
||||
if (env != NULL)
|
||||
{
|
||||
sprintf(stop_db_command[i], "%s", env);
|
||||
}
|
||||
else
|
||||
{
|
||||
sprintf(stop_db_command[i], "%s", "service mysql stop");
|
||||
}
|
||||
stop_db_command[i] = readenv(env_name, (char *) "service mysql stop");
|
||||
|
||||
//reading cleanup_db_command
|
||||
sprintf(env_name, "%s_%03d_cleanup_db_command", prefix, i);
|
||||
env = getenv(env_name);
|
||||
if (env != NULL)
|
||||
{
|
||||
sprintf(cleanup_db_command[i], "%s", env);
|
||||
}
|
||||
else
|
||||
{
|
||||
sprintf(cleanup_db_command[i], "rm -rf /var/lib/mysql/*; killall -9 mysqld");
|
||||
}
|
||||
cleanup_db_command[i] = readenv(env_name, (char *) "rm -rf /var/lib/mysql/*; killall -9 mysqld");
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user