k3s/scripts/sonobuoy-e2e-tests

71 lines
1.5 KiB
Bash
Executable File

#!/bin/bash
set -e -x
cd $(dirname $0)/..
if [ -z "$K3S_IMAGE" ]; then
source $(dirname $0)/version.sh
TAG=${TAG:-${VERSION}${SUFFIX}}
REPO=${REPO:-rancher}
IMAGE_NAME=${IMAGE_NAME:-k3s}
export K3S_IMAGE=${REPO}/${IMAGE_NAME}:${TAG}
fi
OUTPUT=$(pwd)/dist/artifacts
mkdir -p ${OUTPUT}
pids=()
output=()
run-sonobuoy() {
output+=(${log_output})
E2E_LOG_OUTPUT=${log_output} ./scripts/sonobuoy ${@} &
pids+=($!)
}
log_output=${OUTPUT}/e2e-STATUS-${ARCH}-parallel.log \
run-sonobuoy --e2e-focus='\[Conformance\]' --e2e-skip='\[Serial\]' --e2e-parallel=y
sleep 60
log_output=${OUTPUT}/e2e-STATUS-${ARCH}-serial.log \
run-sonobuoy --e2e-focus='\[Serial\].*\[Conformance\]'
show-logs() {
for pid in "${pids[@]}"; do
logdir=$(pwd)/logs/${pid}
if [ ! -d $logdir ]; then
continue
fi
echo
echo "#- Begin: logs for sonobuoy run pid ${pid}"
for log in $(pwd)/logs/${pid}/*; do
if [ -f ${log} ]; then
echo
echo "#- Start: ${log}"
cat ${log}
echo "#- End: ${log}"
echo
fi
done
echo "#- Finish: logs for sonobuoy run pid ${pid}"
echo
done
}
cleanup() {
exit_status=$?
set +e +x
wait
echo "Finished the tests!"
if [ "${exit_status}" -ne "0" ]; then
show-logs
fi
exit ${exit_status}
}
trap cleanup EXIT
for pid in "${pids[@]}"; do
wait $pid || exit $?
done