100 lines
2.4 KiB
Bash
Executable File
100 lines
2.4 KiB
Bash
Executable File
#!/bin/bash
|
|
|
|
function checkExitStatus {
|
|
returnCode=$1
|
|
errorMessage=$2
|
|
lockFilePath=$3
|
|
if [ "$returnCode" != 0 ]; then
|
|
echo "$errorMesage"
|
|
rm $lockFilePath
|
|
echo "Snapshot lock file was deleted due to an error"
|
|
exit 1
|
|
fi
|
|
}
|
|
|
|
set -x
|
|
export dir=`pwd`
|
|
|
|
# read the name of build scripts directory
|
|
export script_dir="$(dirname $(readlink -f $0))"
|
|
|
|
. ${script_dir}/set_run_test_variables.sh
|
|
export name="$box-$product-$version-permanent"
|
|
|
|
export snapshot_name=${snapshot_name:-"clean"}
|
|
|
|
rm -rf LOGS
|
|
|
|
export target=`echo $target | sed "s/?//g"`
|
|
export name=`echo $name | sed "s/?//g"`
|
|
|
|
. ${script_dir}/configure_log_dir.sh
|
|
|
|
# Setting snapshot_lock
|
|
export snapshot_lock_file=${MDBCI_VM_PATH}/${name}_snapshot_lock
|
|
if [ -f ${snapshot_lock_file} ]; then
|
|
echo "Snapshot is locked, waiting ..."
|
|
fi
|
|
while [ -f ${snapshot_lock_file} ]
|
|
do
|
|
sleep 5
|
|
done
|
|
|
|
touch ${snapshot_lock_file}
|
|
echo $JOB_NAME-$BUILD_NUMBER >> ${snapshot_lock_file}
|
|
|
|
${mdbci_dir}/mdbci snapshot revert --path-to-nodes $name --snapshot-name $snapshot_name
|
|
|
|
if [ $? != 0 ]; then
|
|
${mdbci_dir}/mdbci destroy $name
|
|
${MDBCI_VM_PATH}/scripts/clean_vms.sh $name
|
|
|
|
${script_dir}/create_config.sh
|
|
checkExitStatus $? "Error creating configuration" $snapshot_lock_file
|
|
|
|
echo "Creating snapshot from new config"
|
|
${mdbci_dir}/mdbci snapshot take --path-to-nodes $name --snapshot-name $snapshot_name
|
|
fi
|
|
|
|
. ${script_dir}/set_env.sh "$name"
|
|
|
|
if [ ${maxscale_N} -gt 1 ] ; then
|
|
maxscales_vm=`env | grep maxscale | grep network | sed 's/_network.*//' | grep "_"`
|
|
else
|
|
maxscales_vm="maxscale"
|
|
fi
|
|
|
|
for maxscale_vm_name in ${maxscales_vm}
|
|
do
|
|
${mdbci_dir}/mdbci sudo --command 'yum remove maxscale -y' $name/${maxscale_vm_name}
|
|
${mdbci_dir}/mdbci sudo --command 'yum clean all' $name/${maxscale_vm_name}
|
|
|
|
${mdbci_dir}/mdbci setup_repo --product maxscale_ci --product-version ${target} $name/${maxscale_vm_name}
|
|
${mdbci_dir}/mdbci install_product --product maxscale_ci $name/${maxscale_vm_name}
|
|
|
|
checkExitStatus $? "Error installing Maxscale" $snapshot_lock_file
|
|
done
|
|
|
|
|
|
cd ${script_dir}/../../
|
|
|
|
rm -rf build
|
|
|
|
mkdir build && cd build
|
|
cmake .. -DBUILDNAME=$JOB_NAME-$BUILD_NUMBER-$target -DBUILD_SYSTEM_TESTS=Y
|
|
cd maxscale-system-test
|
|
make
|
|
|
|
./check_backend --restart-galera
|
|
|
|
checkExitStatus $? "Failed to check backends" $snapshot_lock_file
|
|
ulimit -c unlimited
|
|
ctest $test_set -VV
|
|
cp core.* ${logs_publish_dir}
|
|
${script_dir}/copy_logs.sh
|
|
|
|
|
|
# Removing snapshot_lock
|
|
rm ${snapshot_lock_file}
|
|
|