You've already forked mariadb-columnstore-engine
mirror of
https://github.com/mariadb-corporation/mariadb-columnstore-engine.git
synced 2025-07-30 19:23:07 +03:00
chore(ci) MCOL-6071 multinode mtr in bash script
This commit is contained in:
committed by
Leonid Fedorov
parent
2fc6e976b2
commit
460cb17e37
@ -92,8 +92,6 @@ local echo_running_on = ["echo running on ${DRONE_STAGE_MACHINE}",
|
|||||||
|
|
||||||
local Pipeline(branch, platform, event, arch="amd64", server="10.6-enterprise", customBootstrapParams="", customBuildEnvCommandsMapKey="") = {
|
local Pipeline(branch, platform, event, arch="amd64", server="10.6-enterprise", customBootstrapParams="", customBuildEnvCommandsMapKey="") = {
|
||||||
local pkg_format = if (std.split(platform, ":")[0] == "rockylinux") then "rpm" else "deb",
|
local pkg_format = if (std.split(platform, ":")[0] == "rockylinux") then "rpm" else "deb",
|
||||||
local mtr_path = if (pkg_format == "rpm") then "/usr/share/mysql-test" else "/usr/share/mysql/mysql-test",
|
|
||||||
local socket_path = if (pkg_format == "rpm") then "/var/lib/mysql/mysql.sock" else "/run/mysqld/mysqld.sock",
|
|
||||||
local img = if (platform == "rockylinux:8") then platform else "detravi/" + std.strReplace(platform, "/", "-"),
|
local img = if (platform == "rockylinux:8") then platform else "detravi/" + std.strReplace(platform, "/", "-"),
|
||||||
local branch_ref = if (branch == any_branch) then current_branch else branch,
|
local branch_ref = if (branch == any_branch) then current_branch else branch,
|
||||||
|
|
||||||
@ -400,7 +398,7 @@ local Pipeline(branch, platform, event, arch="amd64", server="10.6-enterprise",
|
|||||||
name: "mtr",
|
name: "mtr",
|
||||||
depends_on: ["dockerhub"],
|
depends_on: ["dockerhub"],
|
||||||
image: "docker:28.2.2",
|
image: "docker:28.2.2",
|
||||||
volumes: [pipeline._volumes.docker],
|
volumes: [pipeline._volumes.docker, pipeline._volumes.mdb],
|
||||||
environment: {
|
environment: {
|
||||||
DOCKER_LOGIN: {
|
DOCKER_LOGIN: {
|
||||||
from_secret: "dockerhub_user",
|
from_secret: "dockerhub_user",
|
||||||
@ -412,18 +410,10 @@ local Pipeline(branch, platform, event, arch="amd64", server="10.6-enterprise",
|
|||||||
},
|
},
|
||||||
commands: [
|
commands: [
|
||||||
"echo $$DOCKER_PASSWORD | docker login --username $$DOCKER_LOGIN --password-stdin",
|
"echo $$DOCKER_PASSWORD | docker login --username $$DOCKER_LOGIN --password-stdin",
|
||||||
"cd docker",
|
|
||||||
"cp .env_example .env",
|
"apk add bash && bash /mdb/" + builddir + "/storage/columnstore/columnstore/build/run_multi_node_mtr.sh " +
|
||||||
'sed -i "/^MCS_IMAGE_NAME=/s/=.*/=${MCS_IMAGE_NAME}/" .env',
|
"--columnstore-image-name $${MCS_IMAGE_NAME}" +
|
||||||
'sed -i "/^MAXSCALE=/s/=.*/=false/" .env',
|
"--distro " + platform,
|
||||||
"docker-compose up -d",
|
|
||||||
"docker exec mcs1 provision mcs1 mcs2 mcs3",
|
|
||||||
"docker cp ../mysql-test/columnstore mcs1:" + mtr_path + "/suite/",
|
|
||||||
"docker exec -t mcs1 chown mysql:mysql -R " + mtr_path,
|
|
||||||
'docker exec -t mcs1 mariadb -e "create database if not exists test;"',
|
|
||||||
// delay for manual debugging on live instance
|
|
||||||
"sleep $${COMPOSE_DELAY_SECONDS:-1s}",
|
|
||||||
'docker exec -t mcs1 bash -c "cd ' + mtr_path + " && ./mtr --extern socket=" + socket_path + ' --force --print-core=detailed --print-method=gdb --max-test-fail=0 --suite=columnstore/basic,columnstore/bugfixes"',
|
|
||||||
],
|
],
|
||||||
},
|
},
|
||||||
|
|
||||||
|
57
build/run_multi_node_mtr.sh
Executable file
57
build/run_multi_node_mtr.sh
Executable file
@ -0,0 +1,57 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
set -eo pipefail
|
||||||
|
|
||||||
|
SCRIPT_LOCATION=$(dirname "$0")
|
||||||
|
source "$SCRIPT_LOCATION"/utils.sh
|
||||||
|
|
||||||
|
optparse.define short=i long=columnstore-image-name desc="Name of columnstore docker image" variable=MCS_IMAGE_NAME
|
||||||
|
optparse.define short=d long=distro desc="Linux distro for which multinode mtr is executed" variable=DISTRO
|
||||||
|
source $(optparse.build)
|
||||||
|
|
||||||
|
echo "Arguments received: $@"
|
||||||
|
|
||||||
|
if [[ "$EUID" -ne 0 ]]; then
|
||||||
|
error "Please run script as root"
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
for flag in MCS_IMAGE_NAME DISTRO; do
|
||||||
|
if [[ -z "${!flag}" ]]; then
|
||||||
|
error "Missing required flag: -${flag:0:1} / --${flag,,}"
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
done
|
||||||
|
|
||||||
|
|
||||||
|
if [[ "$DISTRO" == *rocky* ]]; then
|
||||||
|
SOCKET_PATH="/var/lib/mysql/mysql.sock"
|
||||||
|
MTR_PATH="/usr/share/mysql-test"
|
||||||
|
else
|
||||||
|
SOCKET_PATH="/run/mysqld/mysqld.sock"
|
||||||
|
MTR_PATH="/usr/share/mysql/mysql-test"
|
||||||
|
fi
|
||||||
|
|
||||||
|
message "Running multinode mtr tests..."
|
||||||
|
|
||||||
|
cd docker
|
||||||
|
cp .env_example .env
|
||||||
|
sed -i "/^MCS_IMAGE_NAME=/s|=.*|=${MCS_IMAGE_NAME}|" .env
|
||||||
|
sed -i "/^MAXSCALE=/s|=.*|=false|" .env
|
||||||
|
|
||||||
|
docker-compose up -d
|
||||||
|
docker exec mcs1 provision mcs1 mcs2 mcs3
|
||||||
|
docker cp ../mysql-test/columnstore mcs1:"${MTR_PATH}/suite/"
|
||||||
|
docker exec -t mcs1 chown -R mysql:mysql "${MTR_PATH}"
|
||||||
|
docker exec -t mcs1 mariadb -e "CREATE DATABASE IF NOT EXISTS test;"
|
||||||
|
|
||||||
|
docker exec -t mcs1 bash -c "\
|
||||||
|
cd '${MTR_PATH}' && \
|
||||||
|
./mtr \
|
||||||
|
--extern socket='${SOCKET_PATH}' \
|
||||||
|
--force \
|
||||||
|
--print-core=detailed \
|
||||||
|
--print-method=gdb \
|
||||||
|
--max-test-fail=0 \
|
||||||
|
--suite=columnstore/basic,columnstore/bugfixes \
|
||||||
|
"
|
@ -24,12 +24,6 @@ if [[ -z $(docker ps -q --filter "name=${CONTAINER_NAME}") ]]; then
|
|||||||
exit 1
|
exit 1
|
||||||
fi
|
fi
|
||||||
|
|
||||||
##Collect the logs on exit event
|
|
||||||
#collect_logs(){
|
|
||||||
# "${SCRIPT_LOCATION}/report_test_stage.sh" --container-name "${CONTAINER_NAME}" --result-path "${RESULT}" --stage "regression"
|
|
||||||
#}
|
|
||||||
#trap collect_logs EXIT
|
|
||||||
|
|
||||||
BUILD_DIR="verylongdirnameforverystrangecpackbehavior"
|
BUILD_DIR="verylongdirnameforverystrangecpackbehavior"
|
||||||
|
|
||||||
prepare_regression() {
|
prepare_regression() {
|
||||||
|
Reference in New Issue
Block a user