diff --git a/test/bin/ci_phase_test.sh b/test/bin/ci_phase_test.sh new file mode 100755 index 0000000000..66ec3dc853 --- /dev/null +++ b/test/bin/ci_phase_test.sh @@ -0,0 +1,33 @@ +#!/bin/bash +# +# This script runs on the CI cluster, from the metal-tests step. + +set -xeuo pipefail + +SCRIPTDIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )" +source "${SCRIPTDIR}/common.sh" + +cd "${TESTDIR}" + +if [ ! -d "${RF_VENV}" ]; then + "${ROOTDIR}/scripts/fetch_tools.sh" robotframework +fi + +for scenario in ./scenarios/*.sh; do + scenario_name="$(basename "${scenario}" .sh)" + logfile="${SCENARIO_INFO_DIR}/${scenario_name}/run.log" + mkdir -p "$(dirname "${logfile}")" + bash -x ./bin/scenario.sh run "${scenario}" >"${logfile}" 2>&1 & +done + +FAIL=0 +for job in $(jobs -p) ; do + jobs -l + echo "Waiting for job: ${job}" + wait "${job}" || ((FAIL+=1)) +done + +echo "Test phase complete" +if [[ ${FAIL} -ne 0 ]]; then + exit 1 +fi diff --git a/test/bin/scenario.sh b/test/bin/scenario.sh index a77a80a06f..a3bb32623e 100755 --- a/test/bin/scenario.sh +++ b/test/bin/scenario.sh @@ -255,7 +255,7 @@ API_PORT: ${api_port} LB_PORT: ${lb_port} USHIFT_HOST: ${public_ip} USHIFT_USER: redhat -SSH_PRIV_KEY: "${SSH_PRIVATE_KEY:-}" +SSH_PRIV_KEY: ${SSH_PRIVATE_KEY:-${HOME}/.ssh/id_rsa} SSH_PORT: ${ssh_port} EOF