X-Git-Url: https://gerrit.fd.io/r/gitweb?p=csit.git;a=blobdiff_plain;f=bootstrap-verify-perf-DPDK.sh;h=94c581a8c1ce2f822560e21f5e811b8376747935;hp=b75caebefce7ca9eabf4c271173502a0ed333408;hb=6a6126b2f26607263e4543a1e0b5012ab2f0601b;hpb=d947e9de7ba6641145f00bece0ff61a4ef48d804 diff --git a/bootstrap-verify-perf-DPDK.sh b/bootstrap-verify-perf-DPDK.sh index b75caebefc..94c581a8c1 100755 --- a/bootstrap-verify-perf-DPDK.sh +++ b/bootstrap-verify-perf-DPDK.sh @@ -15,9 +15,9 @@ set -xo pipefail # Space separated list of available testbeds, described by topology files -TOPOLOGIES="topologies/available/lf_testbed1.yaml \ - topologies/available/lf_testbed2.yaml \ - topologies/available/lf_testbed3.yaml" +TOPOLOGIES="topologies/available/lf_3n_hsw_testbed1.yaml \ + topologies/available/lf_3n_hsw_testbed2.yaml \ + topologies/available/lf_3n_hsw_testbed3.yaml" SCRIPT_DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )" export PYTHONPATH=${SCRIPT_DIR} @@ -118,29 +118,64 @@ PYBOT_ARGS="--consolewidth 120 --loglevel TRACE --variable TOPOLOGY_PATH:${WORKI case "$TEST_TAG" in # select specific performance tests based on jenkins job type variable PERFTEST_MRR_DAILY ) - TAGS=('mrrAND64bAND1t1c' - 'mrrAND64bAND2t2c' - 'mrrAND64bAND4t4c' - 'mrrAND78bAND1t1c' - 'mrrAND78bAND2t2c' - 'mrrAND78bAND4t4c' - 'mrrANDimixAND1t1c' - 'mrrANDimixAND2t2c' - 'mrrANDimixAND4t4c') + TAGS=('mrrAND64bAND1c' + 'mrrAND64bAND2c' + 'mrrAND64bAND4c' + 'mrrAND78bAND1c' + 'mrrAND78bAND2c' + 'mrrAND78bAND4c' + 'mrrANDimixAND1c' + 'mrrANDimixAND2c' + 'mrrANDimixAND4c') ;; - VERIFY-PERF-MRR ) - TAGS=('mrrAND1t1c' - 'mrrAND2t2c') + VERIFY-PERF-PATCH ) + if [[ -z "$TEST_TAG_STRING" ]]; then + # If nothing is specified, we will run pre-selected tests by + # following tags. Items of array will be concatenated by OR in Robot + # Framework. + TEST_TAG_ARRAY=('mrrANDnic_intel-x710AND1cAND64bANDip4base' + 'mrrANDnic_intel-x710AND1cAND78bANDip6base' + 'mrrANDnic_intel-x710AND1cAND64bANDl2bdbase') + else + # If trigger contains tags, split them into array. + TEST_TAG_ARRAY=(${TEST_TAG_STRING//:/ }) + fi + + TAGS=() + + for TAG in "${TEST_TAG_ARRAY[@]}"; do + if [[ ${TAG} == "!"* ]]; then + # Exclude tags are not prefixed. + TAGS+=("${TAG}") + else + # We will prefix with perftest to prevent running other tests + # (e.g. Functional). + prefix="perftestAND" + if [[ ${JOB_NAME} == vpp-* ]] ; then + # Automatic prefixing for VPP jobs to limit the NIC used and + # traffic evaluation to MRR. + prefix="${prefix}mrrANDnic_intel-x710AND" + fi + TAGS+=("$prefix${TAG}") + fi + done ;; * ) TAGS=('perftest') esac -# Catenate TAG selections by 'OR' -printf -v INCLUDES " --include %s " "${TAGS[@]}" +# Catenate TAG selections +EXPANDED_TAGS=() +for TAG in "${TAGS[@]}"; do + if [[ ${TAG} == "!"* ]]; then + EXPANDED_TAGS+=(" --exclude ${TAG#$"!"} ") + else + EXPANDED_TAGS+=(" --include ${TAG} ") + fi +done # Execute the test -pybot ${PYBOT_ARGS}${INCLUDES} tests/ +pybot ${PYBOT_ARGS}${EXPANDED_TAGS[@]} tests/ RETURN_STATUS=$(echo $?) # Archive JOB artifacts in jenkins