Skip to content

Instantly share code, notes, and snippets.

@Oats87
Created June 24, 2024 16:19
Show Gist options
  • Save Oats87/a39437a05f000c747007e7359cd84d46 to your computer and use it in GitHub Desktop.
Save Oats87/a39437a05f000c747007e7359cd84d46 to your computer and use it in GitHub Desktop.
#!/bin/bash
# Space delimited versions of RKE2 or K3s to run
V2PROV_TEST_RUN_REGEX=Test_Operation_SetA_Custom_CertificateRotation
V2PROV_TEST_DIST=rke2
VERSIONS="v1.27.10+rke2r1 v1.27.11+rke2r1 v1.27.12+rke2r1 v1.27.13+rke2r1 v1.27.14+rke2r1"
ITERATIONS=5
GENERATION_MAX=20
# Absolute path...
LOG_DIR="/root/output"
RANCHER_REPO_DIR="/root/rancher"
mkdir -p ${LOG_DIR}
pushd ${RANCHER_REPO_DIR}
if [ -z "$(cat ${RANCHER_REPO_DIR}/Dockerfile.dapper | grep "SOME_K8S_VERSION")" ]; then
echo "Mutating Dockerfile.dapper with SOME_K8S_VERSION..."
sed -i 's/^ENV DAPPER_ENV.*/& SOME_K8S_VERSION/' ${RANCHER_REPO_DIR}/Dockerfile.dapper
git commit Dockerfile.dapper -m "add SOME_K8S_VERSION"
fi
#GENERATION=-5
echo "Running V2PROV Tests"
echo "V2PROV_TEST_RUN_REGEX=${V2PROV_TEST_RUN_REGEX}"
echo "V2PROV_TEST_DIST=${V2PROV_TEST_DIST}"
echo "VERSIONS=${VERSIONS}"
echo "ITERATIONS=${ITERATIONS}"
echo "LOG_DIR=${LOG_DIR}"
if [ -z ${GENERATION} ] && [ -f "${LOG_DIR}/generation" ]; then
GENERATION=$((cat ${LOG_DIR}/generation));
if [ -z "${GENERATION}" ]; then
GENERATION=0
else
GENERATION=$((GENERATION+1))
fi
fi
if [ -z "${GENERATION}" ]; then
GENERATION=0
fi
echo "GENERATION=${GENERATION}"
echo ${GENERATION} > ${LOG_DIR}/generation
for GENERATION in $(seq $GENERATION $GENERATION_MAX); do
for SOME_K8S_VERSION in ${VERSIONS}; do
for i in $(seq 1 ${ITERATIONS}); do
docker system prune -f --all
echo "Running tests with ${SOME_K8S_VERSION}: generation: ${GENERATION}; iteration ${i} at $(date)"
TEST_LOG=${LOG_DIR}/run-${V2PROV_TEST_RUN_REGEX}-${SOME_K8S_VERSION}-${GENERATION}-${i}.log
echo "Test start time: $(date)" >> ${TEST_LOG}
V2PROV_TEST_DIST=${V2PROV_TEST_DIST} V2PROV_TEST_RUN_REGEX=${V2PROV_TEST_RUN_REGEX} SOME_K8S_VERSION=${SOME_K8S_VERSION} make provisioning-tests &>> ${LOG_DIR}/run-${V2PROV_TEST_RUN_REGEX}-${SOME_K8S_VERSION}-${GENERATION}-${i}.log
echo "Test end time: $(date)" >> ${TEST_LOG}
done
done
done
popd
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment