diff options
-rw-r--r-- | VPP_AGENT_STABLE_VER | 2 | ||||
-rwxr-xr-x | bootstrap-verify-perf-DPDK.sh | 38 | ||||
-rw-r--r-- | bootstrap-verify-perf-ligato.sh | 134 | ||||
-rwxr-xr-x | bootstrap-verify-perf.sh | 73 | ||||
-rw-r--r-- | resources/libraries/robot/performance/performance_utils.robot | 22 | ||||
-rw-r--r-- | tests/dpdk/perf/__init__.robot | 5 | ||||
-rw-r--r-- | tests/kubernetes/perf/__init__.robot | 8 | ||||
-rw-r--r-- | tests/vpp/perf/__init__.robot | 4 |
8 files changed, 152 insertions, 134 deletions
diff --git a/VPP_AGENT_STABLE_VER b/VPP_AGENT_STABLE_VER index b6d7951a73..7f7ba444f1 100644 --- a/VPP_AGENT_STABLE_VER +++ b/VPP_AGENT_STABLE_VER @@ -1 +1 @@ -v1.1
+v1.3
diff --git a/bootstrap-verify-perf-DPDK.sh b/bootstrap-verify-perf-DPDK.sh index 4d53c68c39..13ef3331c6 100755 --- a/bootstrap-verify-perf-DPDK.sh +++ b/bootstrap-verify-perf-DPDK.sh @@ -78,25 +78,32 @@ function cancel_all { # On script exit we cancel the reservation trap "cancel_all ${WORKING_TOPOLOGY}" EXIT +# Based on job we will identify DUT +if [[ ${JOB_NAME} == *hc2vpp* ]] ; +then + DUT="hc2vpp" +elif [[ ${JOB_NAME} == *vpp* ]] ; +then + DUT="vpp" +elif [[ ${JOB_NAME} == *ligato* ]] ; +then + DUT="kubernetes" +elif [[ ${JOB_NAME} == *dpdk* ]] ; +then + DUT="dpdk" +else + echo "Unable to identify dut type based on JOB_NAME variable: ${JOB_NAME}" + exit 1 +fi + case "$TEST_TAG" in # run specific performance tests based on jenkins job type variable - PERFTEST_SHORT ) - pybot ${PYBOT_ARGS} \ - -L TRACE \ - -v TOPOLOGY_PATH:${WORKING_TOPOLOGY} \ - -v DPDK_TEST:True \ - -s "tests.dpdk.perf" \ - -i NDRCHK \ - tests/ - RETURN_STATUS=$(echo $?) - ;; - PERFTEST_NIGHTLY ) - #run all available tests + VERIFY-PERF-MRR ) pybot ${PYBOT_ARGS} \ -L TRACE \ -v TOPOLOGY_PATH:${WORKING_TOPOLOGY} \ - -v DPDK_TEST:True \ - -s "tests.dpdk.perf" \ + -s "tests.${DUT}.perf" \ + -i mrrAND1t1cORmrrAND2t2c \ tests/ RETURN_STATUS=$(echo $?) ;; @@ -105,8 +112,7 @@ case "$TEST_TAG" in pybot ${PYBOT_ARGS} \ -L TRACE \ -v TOPOLOGY_PATH:${WORKING_TOPOLOGY} \ - -v DPDK_TEST:True \ - -s "tests.dpdk.perf" \ + -s "tests.${DUT}.perf" \ tests/ RETURN_STATUS=$(echo $?) esac diff --git a/bootstrap-verify-perf-ligato.sh b/bootstrap-verify-perf-ligato.sh index 90b157611c..44ebd8d9f3 100644 --- a/bootstrap-verify-perf-ligato.sh +++ b/bootstrap-verify-perf-ligato.sh @@ -40,8 +40,7 @@ then mkdir -p vpp/build-root cd vpp/build-root - if [[ ${TEST_TAG} == *NIGHTLY ]] || \ - [[ ${TEST_TAG} == *DAILY ]] || \ + if [[ ${TEST_TAG} == *DAILY ]] || \ [[ ${TEST_TAG} == *WEEKLY ]]; then # Download the latest VPP build .deb install packages @@ -86,15 +85,15 @@ else echo "Unable to identify job type based on JOB_NAME variable: ${JOB_NAME}" exit 1 fi -dpkg -x vpp/build-root/vpp_${VPP_STABLE_VER}.deb /tmp/vpp +# Extract VPP API to specific folder +dpkg -x vpp/build-root/vpp_${VPP_STABLE_VER}.deb /tmp/vpp # Compress all VPP debs and remove temporary directory tar -zcvf ${SCRIPT_DIR}/vpp.tar.gz vpp/* && rm -R vpp LIGATO_REPO_URL=$(cat ${SCRIPT_DIR}/LIGATO_REPO_URL) VPP_AGENT_STABLE_VER=$(cat ${SCRIPT_DIR}/VPP_AGENT_STABLE_VER) -VPP_AGENT_STABLE_COMMIT="$( expr match `cat VPP_AGENT_STABLE_VER` '.*g\(.*\)' )" -DOCKER_DEB="docker-ce_17.09.0~ce-0~ubuntu_amd64.deb" +DOCKER_DEB="docker-ce_18.03.0~ce-0~ubuntu_amd64.deb" # Clone & checkout stable vnf-agent cd .. && git clone ${LIGATO_REPO_URL}/vpp-agent @@ -103,7 +102,7 @@ if [ $? != 0 ]; then echo "Failed to run: git clone --depth 1 ${LIGATO_REPO_URL}/vpp-agent" exit 1 fi -cd vpp-agent && git checkout b99e43a +cd vpp-agent && git checkout tags/${VPP_AGENT_STABLE_VER} # If the git checkout fails, complain clearly and exit if [ $? != 0 ]; then echo "Failed to run: git checkout ${VPP_AGENT_STABLE_VER}" @@ -120,17 +119,10 @@ if [ $? != 0 ]; then fi # Pull ligato/dev_vpp_agent docker image and re-tag as local -if [[ ${VPP_AGENT_STABLE_VER} == g* ]] ; -then - sudo docker pull ligato/dev-vpp-agent:${VPP_AGENT_STABLE_COMMIT} - sudo docker tag ligato/dev-vpp-agent:${VPP_AGENT_STABLE_COMMIT}\ - dev_vpp_agent:latest -else - sudo docker pull ligato/dev-vpp-agent:${VPP_AGENT_STABLE_VER} - sudo docker tag ligato/dev-vpp-agent:${VPP_AGENT_STABLE_VER}\ - dev_vpp_agent:latest -fi -sudo docker images +sudo docker pull ligato/dev-vpp-agent:${VPP_AGENT_STABLE_VER} +sudo docker tag ligato/dev-vpp-agent:${VPP_AGENT_STABLE_VER}\ + dev_vpp_agent:latest + # Start dev_vpp_agent container as daemon sudo docker run --rm -itd --name agentcnt dev_vpp_agent bash # Copy latest vpp api into running container @@ -167,12 +159,12 @@ DOCKER_IMAGE="$( readlink -f prod_vpp_agent.tar.gz | tr '\n' ' ' )" cd ${SCRIPT_DIR} -sudo apt-get -y update -sudo apt-get -y install libpython2.7-dev python-virtualenv - WORKING_TOPOLOGY="" export PYTHONPATH=${SCRIPT_DIR} +sudo apt-get -y update +sudo apt-get -y install libpython2.7-dev python-virtualenv + virtualenv --system-site-packages env . env/bin/activate @@ -211,7 +203,7 @@ function cancel_all { # packages trap "cancel_all ${WORKING_TOPOLOGY}" EXIT -python ${SCRIPT_DIR}/resources/tools/scripts/topo_container_copy.py\ +python ${SCRIPT_DIR}/resources/tools/scripts/topo_container_copy.py \ -t ${WORKING_TOPOLOGY} -d ${INSTALLATION_DIR} -i ${DOCKER_IMAGE} if [ $? -eq 0 ]; then echo "Docker image copied and loaded on hosts from: ${WORKING_TOPOLOGY}" @@ -220,13 +212,30 @@ else exit 1 fi +# Based on job we will identify DUT +if [[ ${JOB_NAME} == *hc2vpp* ]] ; +then + DUT="hc2vpp" +elif [[ ${JOB_NAME} == *vpp* ]] ; +then + DUT="vpp" +elif [[ ${JOB_NAME} == *ligato* ]] ; +then + DUT="kubernetes" +elif [[ ${JOB_NAME} == *dpdk* ]] ; +then + DUT="dpdk" +else + echo "Unable to identify dut type based on JOB_NAME variable: ${JOB_NAME}" + exit 1 +fi + case "$TEST_TAG" in # run specific performance tests based on jenkins job type variable PERFTEST_DAILY ) pybot ${PYBOT_ARGS} \ -v TOPOLOGY_PATH:${WORKING_TOPOLOGY} \ - -v DPDK_TEST:True \ - -s "tests.kubernetes.perf" \ + -s "tests.${DUT}.perf" \ --include ndrdiscANDnic_intel-x520-da2AND1t1cORndrdiscANDnic_intel-x520-da2AND2t2c \ --include ndrdiscAND1t1cANDipsecORndrdiscAND2t2cANDipsec \ tests/ @@ -235,8 +244,7 @@ case "$TEST_TAG" in PERFTEST_SEMI_WEEKLY ) pybot ${PYBOT_ARGS} \ -v TOPOLOGY_PATH:${WORKING_TOPOLOGY} \ - -v DPDK_TEST:True \ - -s "tests.kubernetes.perf" \ + -s "tests.${DUT}.perf" \ --include ndrdiscANDnic_intel-x710AND1t1cORndrdiscANDnic_intel-x710AND2t2cORndrdiscANDnic_intel-xl710AND1t1cORndrdiscANDnic_intel-xl710AND2t2c \ tests/ RETURN_STATUS=$(echo $?) @@ -244,22 +252,26 @@ case "$TEST_TAG" in PERFTEST_MRR_DAILY ) pybot ${PYBOT_ARGS} \ -v TOPOLOGY_PATH:${WORKING_TOPOLOGY} \ - -v DPDK_TEST:True \ - -s "tests.kubernetes.perf" \ + -s "tests.${DUT}.perf" \ --include mrrAND64bAND1t1c \ --include mrrAND64bAND2t2c \ --include mrrAND64bAND4t4c \ --include mrrAND78bAND1t1c \ --include mrrAND78bAND2t2c \ --include mrrAND78bAND4t4c \ + --include mrrANDimixAND1t1cANDvhost \ + --include mrrANDimixAND2t2cANDvhost \ + --include mrrANDimixAND4t4cANDvhost \ + --include mrrANDimixAND1t1cANDmemif \ + --include mrrANDimixAND2t2cANDmemif \ + --include mrrANDimixAND4t4cANDmemif \ tests/ RETURN_STATUS=$(echo $?) ;; VERIFY-PERF-NDRDISC ) pybot ${PYBOT_ARGS} \ -v TOPOLOGY_PATH:${WORKING_TOPOLOGY} \ - -v DPDK_TEST:True \ - -s "tests.kubernetes.perf" \ + -s "tests.${DUT}.perf" \ --include ndrdiscAND1t1cORndrdiscAND2t2c \ tests/ RETURN_STATUS=$(echo $?) @@ -267,8 +279,7 @@ case "$TEST_TAG" in VERIFY-PERF-PDRDISC ) pybot ${PYBOT_ARGS} \ -v TOPOLOGY_PATH:${WORKING_TOPOLOGY} \ - -v DPDK_TEST:True \ - -s "tests.kubernetes.perf" \ + -s "tests.${DUT}.perf" \ --include pdrdiscAND1t1cORpdrdiscAND2t2c \ tests/ RETURN_STATUS=$(echo $?) @@ -276,8 +287,7 @@ case "$TEST_TAG" in VERIFY-PERF-MRR ) pybot ${PYBOT_ARGS} \ -v TOPOLOGY_PATH:${WORKING_TOPOLOGY} \ - -v DPDK_TEST:True \ - -s "tests.kubernetes.perf" \ + -s "tests.${DUT}.perf" \ --include mrrAND1t1cORmrrAND2t2c \ tests/ RETURN_STATUS=$(echo $?) @@ -285,8 +295,7 @@ case "$TEST_TAG" in VERIFY-PERF-IP4 ) pybot ${PYBOT_ARGS} \ -v TOPOLOGY_PATH:${WORKING_TOPOLOGY} \ - -v DPDK_TEST:True \ - -s "tests.kubernetes.perf" \ + -s "tests.${DUT}.perf" \ --include ndrdiscANDnic_intel-x520-da2AND1t1cANDip4baseORndrdiscANDnic_intel-x520-da2AND1t1cANDip4fwdANDfib_2m \ tests/ RETURN_STATUS=$(echo $?) @@ -294,8 +303,7 @@ case "$TEST_TAG" in VERIFY-PERF-IP6 ) pybot ${PYBOT_ARGS} \ -v TOPOLOGY_PATH:${WORKING_TOPOLOGY} \ - -v DPDK_TEST:True \ - -s "tests.kubernetes.perf" \ + -s "tests.${DUT}.perf" \ --include ndrdiscANDnic_intel-x520-da2AND1t1cANDip6baseORndrdiscANDnic_intel-x520-da2AND1t1cANDip6fwdANDfib_2m \ tests/ RETURN_STATUS=$(echo $?) @@ -303,8 +311,7 @@ case "$TEST_TAG" in VERIFY-PERF-L2 ) pybot ${PYBOT_ARGS} \ -v TOPOLOGY_PATH:${WORKING_TOPOLOGY} \ - -v DPDK_TEST:True \ - -s "tests.kubernetes.perf" \ + -s "tests.${DUT}.perf" \ --include ndrdiscANDnic_intel-x520-da2AND1t1cANDl2xcbaseORndrdiscANDnic_intel-x520-da2AND1t1cANDl2bdbase \ tests/ RETURN_STATUS=$(echo $?) @@ -312,8 +319,7 @@ case "$TEST_TAG" in VERIFY-PERF-LISP ) pybot ${PYBOT_ARGS} \ -v TOPOLOGY_PATH:${WORKING_TOPOLOGY} \ - -v DPDK_TEST:True \ - -s "tests.kubernetes.perf" \ + -s "tests.${DUT}.perf" \ --include ndrdiscANDnic_intel-x520-da2AND1t1cANDlisp \ tests/ RETURN_STATUS=$(echo $?) @@ -321,8 +327,7 @@ case "$TEST_TAG" in VERIFY-PERF-VXLAN ) pybot ${PYBOT_ARGS} \ -v TOPOLOGY_PATH:${WORKING_TOPOLOGY} \ - -v DPDK_TEST:True \ - -s "tests.kubernetes.perf" \ + -s "tests.${DUT}.perf" \ --include ndrdiscANDnic_intel-x520-da2AND1t1cANDvxlan \ tests/ RETURN_STATUS=$(echo $?) @@ -330,8 +335,7 @@ case "$TEST_TAG" in VERIFY-PERF-VHOST ) pybot ${PYBOT_ARGS} \ -v TOPOLOGY_PATH:${WORKING_TOPOLOGY} \ - -v DPDK_TEST:True \ - -s "tests.kubernetes.perf" \ + -s "tests.${DUT}.perf" \ --include ndrdiscANDnic_intel-x520-da2AND1t1cANDvhost \ tests/ RETURN_STATUS=$(echo $?) @@ -339,8 +343,7 @@ case "$TEST_TAG" in VERIFY-PERF-MEMIF ) pybot ${PYBOT_ARGS} \ -v TOPOLOGY_PATH:${WORKING_TOPOLOGY} \ - -v DPDK_TEST:True \ - -s "tests.kubernetes.perf" \ + -s "tests.${DUT}.perf" \ --include ndrdiscANDnic_intel-x520-da2AND1t1cANDmemif \ tests/ RETURN_STATUS=$(echo $?) @@ -348,18 +351,18 @@ case "$TEST_TAG" in VERIFY-PERF-IPSECHW ) pybot ${PYBOT_ARGS} \ -v TOPOLOGY_PATH:${WORKING_TOPOLOGY} \ - -v DPDK_TEST:True \ - -s "tests.kubernetes.perf" \ + -s "tests.${DUT}.perf.crypto" \ --include ndrdiscANDnic_intel-xl710AND1t1cANDipsechw \ --include ndrdiscANDnic_intel-xl710AND2t2cANDipsechw \ + --include mrrANDnic_intel-xl710AND1t1cANDipsechw \ + --include mrrANDnic_intel-xl710AND2t2cANDipsechw \ tests/ RETURN_STATUS=$(echo $?) ;; VPP-VERIFY-PERF-IP4 ) pybot ${PYBOT_ARGS} \ -v TOPOLOGY_PATH:${WORKING_TOPOLOGY} \ - -v DPDK_TEST:True \ - -s "tests.kubernetes.perf" \ + -s "tests.${DUT}.perf" \ --include mrrANDnic_intel-x520-da2AND1t1cANDip4baseORmrrANDnic_intel-x520-da2AND1t1cANDip4fwdANDfib_2m \ tests/ RETURN_STATUS=$(echo $?) @@ -367,8 +370,7 @@ case "$TEST_TAG" in VPP-VERIFY-PERF-IP6 ) pybot ${PYBOT_ARGS} \ -v TOPOLOGY_PATH:${WORKING_TOPOLOGY} \ - -v DPDK_TEST:True \ - -s "tests.kubernetes.perf" \ + -s "tests.${DUT}.perf" \ --include mrrANDnic_intel-x520-da2AND1t1cANDip6baseORmrrANDnic_intel-x520-da2AND1t1cANDip6fwdANDfib_2m \ tests/ RETURN_STATUS=$(echo $?) @@ -376,8 +378,7 @@ case "$TEST_TAG" in VPP-VERIFY-PERF-L2 ) pybot ${PYBOT_ARGS} \ -v TOPOLOGY_PATH:${WORKING_TOPOLOGY} \ - -v DPDK_TEST:True \ - -s "tests.kubernetes.perf" \ + -s "tests.${DUT}.perf" \ --include mrrANDnic_intel-x520-da2AND1t1cANDl2xcbaseORmrrANDnic_intel-x520-da2AND1t1cANDl2bdbase \ tests/ RETURN_STATUS=$(echo $?) @@ -385,8 +386,7 @@ case "$TEST_TAG" in VPP-VERIFY-PERF-LISP ) pybot ${PYBOT_ARGS} \ -v TOPOLOGY_PATH:${WORKING_TOPOLOGY} \ - -v DPDK_TEST:True \ - -s "tests.kubernetes.perf" \ + -s "tests.${DUT}.perf" \ --include pdrchkANDnic_intel-x520-da2AND1t1cANDlisp \ tests/ RETURN_STATUS=$(echo $?) @@ -394,8 +394,7 @@ case "$TEST_TAG" in VPP-VERIFY-PERF-VXLAN ) pybot ${PYBOT_ARGS} \ -v TOPOLOGY_PATH:${WORKING_TOPOLOGY} \ - -v DPDK_TEST:True \ - -s "tests.kubernetes.perf" \ + -s "tests.${DUT}.perf" \ --include pdrchkANDnic_intel-x520-da2AND1t1cANDvxlan \ tests/ RETURN_STATUS=$(echo $?) @@ -403,8 +402,7 @@ case "$TEST_TAG" in VPP-VERIFY-PERF-VHOST ) pybot ${PYBOT_ARGS} \ -v TOPOLOGY_PATH:${WORKING_TOPOLOGY} \ - -v DPDK_TEST:True \ - -s "tests.kubernetes.perf" \ + -s "tests.${DUT}.perf" \ --include pdrdiscANDnic_intel-x520-da2AND1t1cANDvhost \ tests/ RETURN_STATUS=$(echo $?) @@ -412,8 +410,7 @@ case "$TEST_TAG" in VPP-VERIFY-PERF-MEMIF ) pybot ${PYBOT_ARGS} \ -v TOPOLOGY_PATH:${WORKING_TOPOLOGY} \ - -v DPDK_TEST:True \ - -s "tests.kubernetes.perf" \ + -s "tests.${DUT}.perf" \ --include pdrdiscANDnic_intel-x520-da2AND1t1cANDmemif \ --include pdrdiscANDnic_intel-x520-da2AND2t2cANDmemif \ --include mrrANDnic_intel-x520-da2AND1t1cANDmemif \ @@ -424,8 +421,7 @@ case "$TEST_TAG" in VPP-VERIFY-PERF-ACL ) pybot ${PYBOT_ARGS} \ -v TOPOLOGY_PATH:${WORKING_TOPOLOGY} \ - -v DPDK_TEST:True \ - -s "tests.kubernetes.perf" \ + -s "tests.${DUT}.perf" \ --include pdrdiscANDnic_intel-x520-da2AND1t1cANDacl \ --include pdrdiscANDnic_intel-x520-da2AND2t2cANDacl \ tests/ @@ -434,10 +430,11 @@ case "$TEST_TAG" in VPP-VERIFY-PERF-IPSECHW ) pybot ${PYBOT_ARGS} \ -v TOPOLOGY_PATH:${WORKING_TOPOLOGY} \ - -v DPDK_TEST:True \ - -s "tests.kubernetes.perf" \ + -s "tests.${DUT}.perf.crypto" \ --include pdrdiscANDnic_intel-xl710AND1t1cANDipsechw \ --include pdrdiscANDnic_intel-xl710AND2t2cANDipsechw \ + --include mrrANDnic_intel-xl710AND1t1cANDipsechw \ + --include mrrANDnic_intel-xl710AND2t2cANDipsechw \ tests/ RETURN_STATUS=$(echo $?) ;; @@ -445,8 +442,7 @@ case "$TEST_TAG" in # run full performance test suite and exit on fail pybot ${PYBOT_ARGS} \ -v TOPOLOGY_PATH:${WORKING_TOPOLOGY} \ - -v DPDK_TEST:True \ - -s "tests.kubernetes.perf" \ + -s "tests.${DUT}.perf" \ tests/ RETURN_STATUS=$(echo $?) esac diff --git a/bootstrap-verify-perf.sh b/bootstrap-verify-perf.sh index 98855a7be1..4177625726 100755 --- a/bootstrap-verify-perf.sh +++ b/bootstrap-verify-perf.sh @@ -65,7 +65,7 @@ then VPP_DEBS="$( readlink -f *.deb | tr '\n' ' ' )" fi - cd .. + cd ${SCRIPT_DIR} # If we run this script from vpp project we want to use local build elif [[ ${JOB_NAME} == vpp-* ]] ; @@ -124,9 +124,8 @@ function cancel_all { # packages trap "cancel_all ${WORKING_TOPOLOGY}" EXIT -python ${SCRIPT_DIR}/resources/tools/scripts/topo_installation.py -t ${WORKING_TOPOLOGY} \ - -d ${INSTALLATION_DIR} \ - -p ${VPP_DEBS} +python ${SCRIPT_DIR}/resources/tools/scripts/topo_installation.py \ + -t ${WORKING_TOPOLOGY} -d ${INSTALLATION_DIR} -p ${VPP_DEBS} if [ $? -eq 0 ]; then echo "VPP Installed on hosts from: ${WORKING_TOPOLOGY}" else @@ -134,12 +133,30 @@ else exit 1 fi +# Based on job we will identify DUT +if [[ ${JOB_NAME} == *hc2vpp* ]] ; +then + DUT="hc2vpp" +elif [[ ${JOB_NAME} == *vpp* ]] ; +then + DUT="vpp" +elif [[ ${JOB_NAME} == *ligato* ]] ; +then + DUT="kubernetes" +elif [[ ${JOB_NAME} == *dpdk* ]] ; +then + DUT="dpdk" +else + echo "Unable to identify dut type based on JOB_NAME variable: ${JOB_NAME}" + exit 1 +fi + case "$TEST_TAG" in # run specific performance tests based on jenkins job type variable PERFTEST_DAILY ) pybot ${PYBOT_ARGS} \ -v TOPOLOGY_PATH:${WORKING_TOPOLOGY} \ - -s "tests.vpp.perf" \ + -s "tests.${DUT}.perf" \ --include ndrdiscANDnic_intel-x520-da2AND1t1cORndrdiscANDnic_intel-x520-da2AND2t2c \ --include ndrdiscAND1t1cANDipsecORndrdiscAND2t2cANDipsec \ tests/ @@ -148,7 +165,7 @@ case "$TEST_TAG" in PERFTEST_SEMI_WEEKLY ) pybot ${PYBOT_ARGS} \ -v TOPOLOGY_PATH:${WORKING_TOPOLOGY} \ - -s "tests.vpp.perf" \ + -s "tests.${DUT}.perf" \ --include ndrdiscANDnic_intel-x710AND1t1cORndrdiscANDnic_intel-x710AND2t2cORndrdiscANDnic_intel-xl710AND1t1cORndrdiscANDnic_intel-xl710AND2t2c \ tests/ RETURN_STATUS=$(echo $?) @@ -156,7 +173,7 @@ case "$TEST_TAG" in PERFTEST_MRR_DAILY ) pybot ${PYBOT_ARGS} \ -v TOPOLOGY_PATH:${WORKING_TOPOLOGY} \ - -s "tests.vpp.perf" \ + -s "tests.${DUT}.perf" \ --include mrrAND64bAND1t1c \ --include mrrAND64bAND2t2c \ --include mrrAND64bAND4t4c \ @@ -175,7 +192,7 @@ case "$TEST_TAG" in VERIFY-PERF-NDRDISC ) pybot ${PYBOT_ARGS} \ -v TOPOLOGY_PATH:${WORKING_TOPOLOGY} \ - -s "tests.vpp.perf" \ + -s "tests.${DUT}.perf" \ --include ndrdiscAND1t1cORndrdiscAND2t2c \ tests/ RETURN_STATUS=$(echo $?) @@ -183,7 +200,7 @@ case "$TEST_TAG" in VERIFY-PERF-PDRDISC ) pybot ${PYBOT_ARGS} \ -v TOPOLOGY_PATH:${WORKING_TOPOLOGY} \ - -s "tests.vpp.perf" \ + -s "tests.${DUT}.perf" \ --include pdrdiscAND1t1cORpdrdiscAND2t2c \ tests/ RETURN_STATUS=$(echo $?) @@ -191,7 +208,7 @@ case "$TEST_TAG" in VERIFY-PERF-MRR ) pybot ${PYBOT_ARGS} \ -v TOPOLOGY_PATH:${WORKING_TOPOLOGY} \ - -s "tests.vpp.perf" \ + -s "tests.${DUT}.perf" \ --include mrrAND1t1cORmrrAND2t2c \ tests/ RETURN_STATUS=$(echo $?) @@ -199,7 +216,7 @@ case "$TEST_TAG" in VERIFY-PERF-IP4 ) pybot ${PYBOT_ARGS} \ -v TOPOLOGY_PATH:${WORKING_TOPOLOGY} \ - -s "tests.vpp.perf" \ + -s "tests.${DUT}.perf" \ --include ndrdiscANDnic_intel-x520-da2AND1t1cANDip4baseORndrdiscANDnic_intel-x520-da2AND1t1cANDip4fwdANDfib_2m \ tests/ RETURN_STATUS=$(echo $?) @@ -207,7 +224,7 @@ case "$TEST_TAG" in VERIFY-PERF-IP6 ) pybot ${PYBOT_ARGS} \ -v TOPOLOGY_PATH:${WORKING_TOPOLOGY} \ - -s "tests.vpp.perf" \ + -s "tests.${DUT}.perf" \ --include ndrdiscANDnic_intel-x520-da2AND1t1cANDip6baseORndrdiscANDnic_intel-x520-da2AND1t1cANDip6fwdANDfib_2m \ tests/ RETURN_STATUS=$(echo $?) @@ -215,7 +232,7 @@ case "$TEST_TAG" in VERIFY-PERF-L2 ) pybot ${PYBOT_ARGS} \ -v TOPOLOGY_PATH:${WORKING_TOPOLOGY} \ - -s "tests.vpp.perf" \ + -s "tests.${DUT}.perf" \ --include ndrdiscANDnic_intel-x520-da2AND1t1cANDl2xcbaseORndrdiscANDnic_intel-x520-da2AND1t1cANDl2bdbase \ tests/ RETURN_STATUS=$(echo $?) @@ -223,7 +240,7 @@ case "$TEST_TAG" in VERIFY-PERF-LISP ) pybot ${PYBOT_ARGS} \ -v TOPOLOGY_PATH:${WORKING_TOPOLOGY} \ - -s "tests.vpp.perf" \ + -s "tests.${DUT}.perf" \ --include ndrdiscANDnic_intel-x520-da2AND1t1cANDlisp \ tests/ RETURN_STATUS=$(echo $?) @@ -231,7 +248,7 @@ case "$TEST_TAG" in VERIFY-PERF-VXLAN ) pybot ${PYBOT_ARGS} \ -v TOPOLOGY_PATH:${WORKING_TOPOLOGY} \ - -s "tests.vpp.perf" \ + -s "tests.${DUT}.perf" \ --include ndrdiscANDnic_intel-x520-da2AND1t1cANDvxlan \ tests/ RETURN_STATUS=$(echo $?) @@ -239,7 +256,7 @@ case "$TEST_TAG" in VERIFY-PERF-VHOST ) pybot ${PYBOT_ARGS} \ -v TOPOLOGY_PATH:${WORKING_TOPOLOGY} \ - -s "tests.vpp.perf" \ + -s "tests.${DUT}.perf" \ --include ndrdiscANDnic_intel-x520-da2AND1t1cANDvhost \ tests/ RETURN_STATUS=$(echo $?) @@ -247,7 +264,7 @@ case "$TEST_TAG" in VERIFY-PERF-MEMIF ) pybot ${PYBOT_ARGS} \ -v TOPOLOGY_PATH:${WORKING_TOPOLOGY} \ - -s "tests.vpp.perf" \ + -s "tests.${DUT}.perf" \ --include ndrdiscANDnic_intel-x520-da2AND1t1cANDmemif \ tests/ RETURN_STATUS=$(echo $?) @@ -255,7 +272,7 @@ case "$TEST_TAG" in VERIFY-PERF-IPSECHW ) pybot ${PYBOT_ARGS} \ -v TOPOLOGY_PATH:${WORKING_TOPOLOGY} \ - -s "tests.vpp.perf.crypto" \ + -s "tests.${DUT}.perf.crypto" \ --include ndrdiscANDnic_intel-xl710AND1t1cANDipsechw \ --include ndrdiscANDnic_intel-xl710AND2t2cANDipsechw \ --include mrrANDnic_intel-xl710AND1t1cANDipsechw \ @@ -266,7 +283,7 @@ case "$TEST_TAG" in VPP-VERIFY-PERF-IP4 ) pybot ${PYBOT_ARGS} \ -v TOPOLOGY_PATH:${WORKING_TOPOLOGY} \ - -s "tests.vpp.perf" \ + -s "tests.${DUT}.perf" \ --include mrrANDnic_intel-x520-da2AND1t1cANDip4baseORmrrANDnic_intel-x520-da2AND1t1cANDip4fwdANDfib_2m \ tests/ RETURN_STATUS=$(echo $?) @@ -274,7 +291,7 @@ case "$TEST_TAG" in VPP-VERIFY-PERF-IP6 ) pybot ${PYBOT_ARGS} \ -v TOPOLOGY_PATH:${WORKING_TOPOLOGY} \ - -s "tests.vpp.perf" \ + -s "tests.${DUT}.perf" \ --include mrrANDnic_intel-x520-da2AND1t1cANDip6baseORmrrANDnic_intel-x520-da2AND1t1cANDip6fwdANDfib_2m \ tests/ RETURN_STATUS=$(echo $?) @@ -282,7 +299,7 @@ case "$TEST_TAG" in VPP-VERIFY-PERF-L2 ) pybot ${PYBOT_ARGS} \ -v TOPOLOGY_PATH:${WORKING_TOPOLOGY} \ - -s "tests.vpp.perf" \ + -s "tests.${DUT}.perf" \ --include mrrANDnic_intel-x520-da2AND1t1cANDl2xcbaseORmrrANDnic_intel-x520-da2AND1t1cANDl2bdbase \ tests/ RETURN_STATUS=$(echo $?) @@ -290,7 +307,7 @@ case "$TEST_TAG" in VPP-VERIFY-PERF-LISP ) pybot ${PYBOT_ARGS} \ -v TOPOLOGY_PATH:${WORKING_TOPOLOGY} \ - -s "tests.vpp.perf" \ + -s "tests.${DUT}.perf" \ --include pdrchkANDnic_intel-x520-da2AND1t1cANDlisp \ tests/ RETURN_STATUS=$(echo $?) @@ -298,7 +315,7 @@ case "$TEST_TAG" in VPP-VERIFY-PERF-VXLAN ) pybot ${PYBOT_ARGS} \ -v TOPOLOGY_PATH:${WORKING_TOPOLOGY} \ - -s "tests.vpp.perf" \ + -s "tests.${DUT}.perf" \ --include pdrchkANDnic_intel-x520-da2AND1t1cANDvxlan \ tests/ RETURN_STATUS=$(echo $?) @@ -306,7 +323,7 @@ case "$TEST_TAG" in VPP-VERIFY-PERF-VHOST ) pybot ${PYBOT_ARGS} \ -v TOPOLOGY_PATH:${WORKING_TOPOLOGY} \ - -s "tests.vpp.perf" \ + -s "tests.${DUT}.perf" \ --include pdrdiscANDnic_intel-x520-da2AND1t1cANDvhost \ tests/ RETURN_STATUS=$(echo $?) @@ -314,7 +331,7 @@ case "$TEST_TAG" in VPP-VERIFY-PERF-MEMIF ) pybot ${PYBOT_ARGS} \ -v TOPOLOGY_PATH:${WORKING_TOPOLOGY} \ - -s "tests.vpp.perf" \ + -s "tests.${DUT}.perf" \ --include pdrdiscANDnic_intel-x520-da2AND1t1cANDmemif \ --include pdrdiscANDnic_intel-x520-da2AND2t2cANDmemif \ --include mrrANDnic_intel-x520-da2AND1t1cANDmemif \ @@ -325,7 +342,7 @@ case "$TEST_TAG" in VPP-VERIFY-PERF-ACL ) pybot ${PYBOT_ARGS} \ -v TOPOLOGY_PATH:${WORKING_TOPOLOGY} \ - -s "tests.vpp.perf" \ + -s "tests.${DUT}.perf" \ --include pdrdiscANDnic_intel-x520-da2AND1t1cANDacl \ --include pdrdiscANDnic_intel-x520-da2AND2t2cANDacl \ tests/ @@ -334,7 +351,7 @@ case "$TEST_TAG" in VPP-VERIFY-PERF-IPSECHW ) pybot ${PYBOT_ARGS} \ -v TOPOLOGY_PATH:${WORKING_TOPOLOGY} \ - -s "tests.vpp.perf.crypto" \ + -s "tests.${DUT}.perf.crypto" \ --include pdrdiscANDnic_intel-xl710AND1t1cANDipsechw \ --include pdrdiscANDnic_intel-xl710AND2t2cANDipsechw \ --include mrrANDnic_intel-xl710AND1t1cANDipsechw \ @@ -346,7 +363,7 @@ case "$TEST_TAG" in # run full performance test suite and exit on fail pybot ${PYBOT_ARGS} \ -v TOPOLOGY_PATH:${WORKING_TOPOLOGY} \ - -s "tests.vpp.perf" \ + -s "tests.${DUT}.perf" \ tests/ RETURN_STATUS=$(echo $?) esac diff --git a/resources/libraries/robot/performance/performance_utils.robot b/resources/libraries/robot/performance/performance_utils.robot index b4f70170d9..036f06fd2b 100644 --- a/resources/libraries/robot/performance/performance_utils.robot +++ b/resources/libraries/robot/performance/performance_utils.robot @@ -77,14 +77,6 @@ | | Return From Keyword If | '${framesize}' == 'IMIX_v4_1' | ${353.83333} | | Return From Keyword | ${framesize} -| Is DPDK performance test -| | [Documentation] -| | ... | Return TRUE if variable DPDK_TEST exist, otherwise FALSE. -| | ${ret} | ${tmp}= | Run Keyword And Ignore Error -| | ... | Variable Should Exist | ${DPDK_TEST} -| | Return From Keyword If | "${ret}" == "PASS" | ${True} -| | Return From Keyword | ${False} - | Find NDR using linear search and pps | | [Documentation] | | ... | Find throughput by using RFC2544 linear search with non drop rate. @@ -573,14 +565,13 @@ | | ... | | Clear and show runtime counters with running traffic | ${duration} | | ... | ${rate} | ${framesize} | ${topology_type} -| | ${ret}= | Is DPDK performance test -| | Run Keyword If | ${ret}==${False} | Clear all counters on all DUTs -| | Run Keyword If | ${ret}==${False} and ${pkt_trace}==${True} +| | Run Keyword If | ${dut_stats}==${True} | Clear all counters on all DUTs +| | Run Keyword If | ${dut_stats}==${True} and ${pkt_trace}==${True} | | ... | VPP Enable Traces On All DUTs | ${nodes} | | ${results} = | Send traffic on tg | ${duration} | ${rate} | ${framesize} | | ... | ${topology_type} | warmup_time=0 -| | Run Keyword If | ${ret}==${False} | Show statistics on all DUTs | ${nodes} -| | Run Keyword If | ${ret}==${False} and ${pkt_trace}==${True} +| | Run Keyword If | ${dut_stats}==${True} | Show statistics on all DUTs | ${nodes} +| | Run Keyword If | ${dut_stats}==${True} and ${pkt_trace}==${True} | | ... | Show Packet Trace On All Duts | ${nodes} | | Return From Keyword | ${results} @@ -605,10 +596,9 @@ | | ... | | Send traffic on tg | -1 | ${rate} | ${framesize} | ${topology_type} | | ... | warmup_time=0 | async_call=${True} | latency=${False} -| | ${ret}= | Is DPDK performance test -| | Run Keyword If | ${ret}==${False} +| | Run Keyword If | ${dut_stats}==${True} | | ... | Clear runtime counters on all DUTs | ${nodes} | | Sleep | ${duration} -| | Run Keyword If | ${ret}==${False} +| | Run Keyword If | ${dut_stats}==${True} | | ... | Show runtime counters on all DUTs | ${nodes} | | Stop traffic on tg diff --git a/tests/dpdk/perf/__init__.robot b/tests/dpdk/perf/__init__.robot index 9f8c09e4d8..75fd732161 100644 --- a/tests/dpdk/perf/__init__.robot +++ b/tests/dpdk/perf/__init__.robot @@ -31,9 +31,12 @@ | | ... | - perf_pdr_loss_acceptance - Loss acceptance treshold | | ... | - perf_pdr_loss_acceptance_type - Loss acceptance treshold type | | ... | - perf_vm_image - Guest VM disk image +| | ... | - pkt_trace - Switch to enable packet trace for test +| | ... | - dut_stats - Switch to enable DUT statistics | | ... | | Set Global Variable | ${perf_trial_duration} | 10 | | Set Global Variable | ${perf_pdr_loss_acceptance} | 0.5 | | Set Global Variable | ${perf_pdr_loss_acceptance_type} | percentage -| | Set Global Variable | ${perf_vm_image} | /var/lib/vm/csit-nested-1.6.img +| | Set Global Variable | ${perf_vm_image} | /var/lib/vm/csit-nested-1.7.img | | Set Global Variable | ${pkt_trace} | ${False} +| | Set Global Variable | ${dut_stats} | ${False} diff --git a/tests/kubernetes/perf/__init__.robot b/tests/kubernetes/perf/__init__.robot index 2ae753a259..e538590587 100644 --- a/tests/kubernetes/perf/__init__.robot +++ b/tests/kubernetes/perf/__init__.robot @@ -41,10 +41,14 @@ | | ... | - perf_trial_duration - Duration of traffic run [s] | | ... | - perf_pdr_loss_acceptance - Loss acceptance treshold | | ... | - perf_pdr_loss_acceptance_type - Loss acceptance treshold type +| | ... | - pkt_trace - Switch to enable packet trace for test +| | ... | - dut_stats - Switch to enable DUT statistics +| | ... | - plugins_to_enable - List of plugins to be enabled for test | | ... | | Set Global Variable | ${perf_trial_duration} | 10 | | Set Global Variable | ${perf_pdr_loss_acceptance} | 0.5 | | Set Global Variable | ${perf_pdr_loss_acceptance_type} | percentage | | Set Global Variable | ${pkt_trace} | ${False} -| | @{plugins_to_disable}= | Create List | dpdk_plugin.so -| | Set Global Variable | @{plugins_to_disable} +| | Set Global Variable | ${dut_stats} | ${False} +| | @{plugins_to_enable}= | Create List | dpdk_plugin.so +| | Set Global Variable | @{plugins_to_enable} diff --git a/tests/vpp/perf/__init__.robot b/tests/vpp/perf/__init__.robot index b798b1d499..7bc1a81f53 100644 --- a/tests/vpp/perf/__init__.robot +++ b/tests/vpp/perf/__init__.robot @@ -38,7 +38,8 @@ | | ... | - use_tuned_cfs - Switch to set scheduler policy | | ... | - qemu_build - Whether Qemu will be built | | ... | - pkt_trace - Switch to enable packet trace for test -| | ... | - plugins_to_disable - List of plugins to be disabled for test +| | ... | - dut_stats - Switch to enable DUT statistics +| | ... | - plugins_to_enable - List of plugins to be enabled for test | | ... | | Set Global Variable | ${perf_trial_duration} | 10 | | Set Global Variable | ${perf_pdr_loss_acceptance} | 0.5 @@ -48,5 +49,6 @@ | | Set Global Variable | ${use_tuned_cfs} | ${False} | | Set Global Variable | ${qemu_build} | ${True} | | Set Global Variable | ${pkt_trace} | ${False} +| | Set Global Variable | ${dut_stats} | ${True} | | @{plugins_to_enable}= | Create List | dpdk_plugin.so | | Set Global Variable | @{plugins_to_enable} |