diff --git a/.build/docker/_docker_init_tests.sh b/.build/docker/_docker_init_tests.sh index 7c90833582..1efbd87526 100755 --- a/.build/docker/_docker_init_tests.sh +++ b/.build/docker/_docker_init_tests.sh @@ -36,4 +36,12 @@ if [ -d "${DIST_DIR}/test/logs" ]; then find "${DIST_DIR}/test/logs" -type f -name "*.log" | xargs xz -qq fi popd >/dev/null + +# check/clean containerfs (it can leak on host) +if [ -d /home/cassandra-tmp/.m2/repository ]; then + echo "WARN: /home/cassandra-tmp/.m2/repository exists" +fi +# these happen when the image hasn't pre-downloaded all the ccm versions used in tests +rm -rf /tmp/ccm-*.tar.gz + exit ${status} \ No newline at end of file diff --git a/.build/docker/run-tests.sh b/.build/docker/run-tests.sh index 88a570b891..44fc82da06 100755 --- a/.build/docker/run-tests.sh +++ b/.build/docker/run-tests.sh @@ -146,6 +146,11 @@ case ${target} in esac docker_cpus=$(echo "scale=2; ${cores} / ( ${jenkins_executors} )" | bc) +docker_cpus_limit=$(docker info | grep CPUs | cut -d" " -f3) +if (( $(echo "${docker_cpus} > ${docker_cpus_limit}" |bc -l) )) ; then + echo "WARNING: requested more cpus (${docker_cpus}) than docker cpu limit (${docker_cpus_limit}), reducing cpus…" + docker_cpus=${docker_cpus_limit} +fi # hack: long-test does not handle limited CPUs if [ "${target}" == "long-test" ] ; then @@ -156,7 +161,7 @@ else docker_flags="--cpus=${docker_cpus} -m 5g --memory-swap 5g" fi -docker_flags="${docker_flags} --env-file build/env.list -d --rm" +docker_flags="${docker_flags} -d --rm" # make sure build_dir is good mkdir -p ${build_dir}/tmp || true @@ -186,14 +191,7 @@ else fi # the docker container's env -touch build/env.list -cat > build/env.list <