hostname=$(grep search /etc/resolv.conf | cut -d' ' -f3) || die
ssh="ssh root@${hostname} -p 6022"
run="activate_wrapper ${NODENESS} ${FLAVOR} ${device_image}"
+ # The "declare -f" output is long and boring.
+ set +x
# backtics to avoid https://midnight-commander.org/ticket/2142
env_vars=`${ssh} "$(declare -f); ${run}"` || {
die "Topology reservation via shim-dcr failed!"
}
+ set -x
set -a
source <(echo "$env_vars" | grep -v /usr/bin/docker) || {
die "Source failed!"
pip3 install --upgrade virtualenv || {
die "Virtualenv package install failed."
}
- virtualenv -p $(which python3) "${env_dir}" || {
- die "Virtualenv creation for $(which python) failed."
+ virtualenv --python=$(which python3) "${env_dir}" || {
+ die "Virtualenv creation for $(which python3) failed."
}
set +u
source "${env_dir}/bin/activate" || die "Virtualenv activation failed."
hostname=$(grep search /etc/resolv.conf | cut -d' ' -f3) || die
ssh="ssh root@${hostname} -p 6022"
env_vars=$(env | grep CSIT_ | tr '\n' ' ' ) || die
+ # The "declare -f" output is long and boring.
+ set +x
${ssh} "$(declare -f); deactivate_wrapper ${env_vars}" || {
die "Topology cleanup via shim-dcr failed!"
}
+ set -x
;;
"1n_vbox")
enter_mutex || die
cp -r "${CSIT_DIR}/tests" "${GENERATED_DIR}/tests" || die
cmd_line=("find" "${GENERATED_DIR}/tests" "-type" "f")
cmd_line+=("-executable" "-name" "*.py")
- file_list=$("${cmd_line[@]}") || die
+ # We sort the directories, so log output can be compared between runs.
+ file_list=$("${cmd_line[@]}" | sort) || die
for gen in ${file_list}; do
directory="$(dirname "${gen}")" || die
# - WORKING_TOPOLOGY - Path to topology yaml file of the reserved testbed.
# Functions called:
# - die - Print to stderr and exit.
- # - ansible_hosts - Perform an action using ansible, see ansible.sh
+ # - ansible_playbook - Perform an action using ansible, see ansible.sh
# Traps registered:
# - EXIT - Calls cancel_all for ${WORKING_TOPOLOGY}.
set +e
scrpt="${PYTHON_SCRIPTS_DIR}/topo_reservation.py"
opts=("-t" "${topo}" "-r" "${BUILD_TAG:-Unknown}")
- python "${scrpt}" "${opts[@]}"
+ python3 "${scrpt}" "${opts[@]}"
result="$?"
set -e
if [[ "${result}" == "0" ]]; then
}
die "Trap attempt failed, unreserve succeeded. Aborting."
}
- # Cleanup check.
+ # Cleanup + calibration checks.
set +e
- ansible_hosts "cleanup"
+ ansible_playbook "cleanup, calibration"
result="$?"
set -e
if [[ "${result}" == "0" ]]; then
pushd "${CSIT_DIR}" || die "Change directory operation failed."
set +e
- python -V
robot "${all_options[@]}" "${GENERATED_DIR}/tests/"
PYBOT_EXIT_STATUS="$?"
set -e
esac
sed_nic_sub_cmd="sed s/\${default_nic}/${default_nic}/"
+ sed_nics_sub_cmd="sed -e s/ANDxxv710/ANDnic_intel-xxv710/"
+ sed_nics_sub_cmd+=" | sed -e s/ANDx710/ANDnic_intel-x710/"
+ sed_nics_sub_cmd+=" | sed -e s/ANDxl710/ANDnic_intel-xl710/"
+ sed_nics_sub_cmd+=" | sed -e s/ANDx520-da2/ANDnic_intel-x520-da2/"
+ sed_nics_sub_cmd+=" | sed -e s/ANDx553/ANDnic_intel-x553/"
+ sed_nics_sub_cmd+=" | sed -e s/ANDcx556a/ANDnic_mellanox-cx556a/"
+ sed_nics_sub_cmd+=" | sed -e s/ANDvic1227/ANDnic_cisco-vic-1227/"
+ sed_nics_sub_cmd+=" | sed -e s/ANDvic1385/ANDnic_cisco-vic-1385/"
# Tag file directory shorthand.
tfd="${BASH_FUNCTION_DIR}"
case "${TEST_CODE}" in
readarray -t test_tag_array < "${tfd}/mlr-weekly.txt" || die
;;
*"mrr-daily"* )
- readarray -t test_tag_array <<< $(${sed_nic_sub_cmd} \
- ${tfd}/mrr-daily-${FLAVOR}.txt) || die
+ readarray -t test_tag_array <<< $(sed 's/ //g' \
+ ${tfd}/mrr-daily-${NODENESS}-${FLAVOR}.txt |
+ eval ${sed_nics_sub_cmd}) || die
;;
*"mrr-weekly"* )
readarray -t test_tag_array <<< $(${sed_nic_sub_cmd} \
# - EXIT - Failure to untrap is reported, but ignored otherwise.
# Functions called:
# - die - Print to stderr and exit.
- # - ansible_hosts - Perform an action using ansible, see ansible.sh
+ # - ansible_playbook - Perform an action using ansible, see ansible.sh
set -xo pipefail
set +eu # We do not want to exit early in a "teardown" function.
set -eu
warn "Testbed looks unreserved already. Trap removal failed before?"
else
- ansible_hosts "cleanup" || true
- python "${PYTHON_SCRIPTS_DIR}/topo_reservation.py" -c -t "${wt}" || {
+ ansible_playbook "cleanup" || true
+ python3 "${PYTHON_SCRIPTS_DIR}/topo_reservation.py" -c -t "${wt}" || {
die "${1:-FAILED TO UNRESERVE, FIX MANUALLY.}" 2
}
WORKING_TOPOLOGY=""