From ec28a657ac37342aa4f87c505de9de24e7d82d1b Mon Sep 17 00:00:00 2001 From: Peter Mikus Date: Wed, 28 Mar 2018 09:15:59 +0200 Subject: [PATCH] Perf bootstrap cleanup - Add archiving of all artifacts to logs.fd.io - Remove obsolete test tags - Sync all bootstrap and prepare for future merge-into-single bootstrap. Change-Id: I023df6964bb049df3ccffdffa31a93b667e1587a Signed-off-by: Peter Mikus --- bootstrap-verify-perf-DPDK.sh | 41 +++++---------- bootstrap-verify-perf-ligato.sh | 108 +++++++++++++++++++++++----------------- bootstrap-verify-perf.sh | 87 ++++++++++---------------------- 3 files changed, 101 insertions(+), 135 deletions(-) diff --git a/bootstrap-verify-perf-DPDK.sh b/bootstrap-verify-perf-DPDK.sh index 10989fbd9b..4d53c68c39 100755 --- a/bootstrap-verify-perf-DPDK.sh +++ b/bootstrap-verify-perf-DPDK.sh @@ -26,7 +26,12 @@ RESERVATION_DIR="/tmp/reservation_dir" PYBOT_ARGS="" -ARCHIVE_ARTIFACTS=(log.html output.xml report.html output_perf_data.xml) +JOB_ARCHIVE_ARTIFACTS=(log.html output.xml report.html) +LOG_ARCHIVE_ARTIFACTS=(log.html output.xml report.html) +JOB_ARCHIVE_DIR="archive" +LOG_ARCHIVE_DIR="$WORKSPACE/archives" +mkdir -p ${JOB_ARCHIVE_DIR} +mkdir -p ${LOG_ARCHIVE_DIR} # we will download the DPDK in the robot @@ -75,17 +80,6 @@ trap "cancel_all ${WORKING_TOPOLOGY}" EXIT case "$TEST_TAG" in # run specific performance tests based on jenkins job type variable - PERFTEST_LONG ) - pybot ${PYBOT_ARGS} \ - -L TRACE \ - -v TOPOLOGY_PATH:${WORKING_TOPOLOGY} \ - -v DPDK_TEST:True \ - -s "tests.dpdk.perf" \ - --exclude SKIP_PATCH \ - -i NDRPDRDISC \ - tests/ - RETURN_STATUS=$(echo $?) - ;; PERFTEST_SHORT ) pybot ${PYBOT_ARGS} \ -L TRACE \ @@ -117,22 +111,13 @@ case "$TEST_TAG" in RETURN_STATUS=$(echo $?) esac -# Pybot output post-processing -echo Post-processing test data... - -python ${SCRIPT_DIR}/resources/tools/scripts/robot_output_parser.py \ - -i ${SCRIPT_DIR}/output.xml \ - -o ${SCRIPT_DIR}/output_perf_data.xml -if [ ! $? -eq 0 ]; then - echo "Parsing ${SCRIPT_DIR}/output.xml failed" -fi - -# Archive artifacts -mkdir archive -for i in ${ARCHIVE_ARTIFACTS[@]}; do - cp $( readlink -f ${i} | tr '\n' ' ' ) archive/ +# Archive JOB artifacts in jenkins +for i in ${JOB_ARCHIVE_ARTIFACTS[@]}; do + cp $( readlink -f ${i} | tr '\n' ' ' ) ${JOB_ARCHIVE_DIR}/ +done +# Archive JOB artifacts to logs.fd.io +for i in ${LOG_ARCHIVE_ARTIFACTS[@]}; do + cp $( readlink -f ${i} | tr '\n' ' ' ) ${LOG_ARCHIVE_DIR}/ done - -echo Post-processing finished. exit ${RETURN_STATUS} diff --git a/bootstrap-verify-perf-ligato.sh b/bootstrap-verify-perf-ligato.sh index f2a9278029..90b157611c 100644 --- a/bootstrap-verify-perf-ligato.sh +++ b/bootstrap-verify-perf-ligato.sh @@ -1,5 +1,5 @@ #!/bin/bash -# Copyright (c) 2017 Cisco and/or its affiliates. +# Copyright (c) 2018 Cisco and/or its affiliates. # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. # You may obtain a copy of the License at: @@ -27,7 +27,12 @@ INSTALLATION_DIR="/tmp/install_dir" PYBOT_ARGS="-W 150 -L TRACE" -ARCHIVE_ARTIFACTS=(log.html output.xml report.html output_perf_data.xml) +JOB_ARCHIVE_ARTIFACTS=(log.html output.xml report.html) +LOG_ARCHIVE_ARTIFACTS=(log.html output.xml report.html) +JOB_ARCHIVE_DIR="archive" +LOG_ARCHIVE_DIR="$WORKSPACE/archives" +mkdir -p ${JOB_ARCHIVE_DIR} +mkdir -p ${LOG_ARCHIVE_DIR} # If we run this script from CSIT jobs we want to use stable vpp version if [[ ${JOB_NAME} == csit-* ]] ; @@ -223,6 +228,7 @@ case "$TEST_TAG" in -v DPDK_TEST:True \ -s "tests.kubernetes.perf" \ --include ndrdiscANDnic_intel-x520-da2AND1t1cORndrdiscANDnic_intel-x520-da2AND2t2c \ + --include ndrdiscAND1t1cANDipsecORndrdiscAND2t2cANDipsec \ tests/ RETURN_STATUS=$(echo $?) ;; @@ -235,39 +241,44 @@ case "$TEST_TAG" in tests/ RETURN_STATUS=$(echo $?) ;; - VERIFY-PERF-NDRDISC ) + PERFTEST_MRR_DAILY ) pybot ${PYBOT_ARGS} \ -v TOPOLOGY_PATH:${WORKING_TOPOLOGY} \ -v DPDK_TEST:True \ -s "tests.kubernetes.perf" \ - --include ndrdiscAND1t1cORndrdiscAND2t2c \ + --include mrrAND64bAND1t1c \ + --include mrrAND64bAND2t2c \ + --include mrrAND64bAND4t4c \ + --include mrrAND78bAND1t1c \ + --include mrrAND78bAND2t2c \ + --include mrrAND78bAND4t4c \ tests/ RETURN_STATUS=$(echo $?) ;; - VERIFY-PERF-PDRDISC ) + VERIFY-PERF-NDRDISC ) pybot ${PYBOT_ARGS} \ -v TOPOLOGY_PATH:${WORKING_TOPOLOGY} \ -v DPDK_TEST:True \ -s "tests.kubernetes.perf" \ - --include pdrdiscAND1t1cORpdrdiscAND2t2c \ + --include ndrdiscAND1t1cORndrdiscAND2t2c \ tests/ RETURN_STATUS=$(echo $?) ;; - VERIFY-PERF-NDRCHK ) + VERIFY-PERF-PDRDISC ) pybot ${PYBOT_ARGS} \ -v TOPOLOGY_PATH:${WORKING_TOPOLOGY} \ -v DPDK_TEST:True \ -s "tests.kubernetes.perf" \ - --include ndrchkAND1t1cORndrchkAND2t2c \ + --include pdrdiscAND1t1cORpdrdiscAND2t2c \ tests/ RETURN_STATUS=$(echo $?) ;; - PERFTEST_NDRCHK_DAILY ) + VERIFY-PERF-MRR ) pybot ${PYBOT_ARGS} \ -v TOPOLOGY_PATH:${WORKING_TOPOLOGY} \ -v DPDK_TEST:True \ -s "tests.kubernetes.perf" \ - --include ndrchkAND1t1cORndrchkAND2t2c \ + --include mrrAND1t1cORmrrAND2t2c \ tests/ RETURN_STATUS=$(echo $?) ;; @@ -325,12 +336,31 @@ case "$TEST_TAG" in tests/ RETURN_STATUS=$(echo $?) ;; + VERIFY-PERF-MEMIF ) + pybot ${PYBOT_ARGS} \ + -v TOPOLOGY_PATH:${WORKING_TOPOLOGY} \ + -v DPDK_TEST:True \ + -s "tests.kubernetes.perf" \ + --include ndrdiscANDnic_intel-x520-da2AND1t1cANDmemif \ + tests/ + RETURN_STATUS=$(echo $?) + ;; + VERIFY-PERF-IPSECHW ) + pybot ${PYBOT_ARGS} \ + -v TOPOLOGY_PATH:${WORKING_TOPOLOGY} \ + -v DPDK_TEST:True \ + -s "tests.kubernetes.perf" \ + --include ndrdiscANDnic_intel-xl710AND1t1cANDipsechw \ + --include ndrdiscANDnic_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" \ - --include pdrchkANDnic_intel-x520-da2AND1t1cANDip4baseORpdrchkANDnic_intel-x520-da2AND1t1cANDip4fwdANDfib_2m \ + --include mrrANDnic_intel-x520-da2AND1t1cANDip4baseORmrrANDnic_intel-x520-da2AND1t1cANDip4fwdANDfib_2m \ tests/ RETURN_STATUS=$(echo $?) ;; @@ -339,7 +369,7 @@ case "$TEST_TAG" in -v TOPOLOGY_PATH:${WORKING_TOPOLOGY} \ -v DPDK_TEST:True \ -s "tests.kubernetes.perf" \ - --include pdrchkANDnic_intel-x520-da2AND1t1cANDip6baseORpdrchkANDnic_intel-x520-da2AND1t1cANDip6fwdANDfib_2m \ + --include mrrANDnic_intel-x520-da2AND1t1cANDip6baseORmrrANDnic_intel-x520-da2AND1t1cANDip6fwdANDfib_2m \ tests/ RETURN_STATUS=$(echo $?) ;; @@ -348,7 +378,7 @@ case "$TEST_TAG" in -v TOPOLOGY_PATH:${WORKING_TOPOLOGY} \ -v DPDK_TEST:True \ -s "tests.kubernetes.perf" \ - --include pdrchkANDnic_intel-x520-da2AND1t1cANDl2xcbaseORpdrchkANDnic_intel-x520-da2AND1t1cANDl2bdbase \ + --include mrrANDnic_intel-x520-da2AND1t1cANDl2xcbaseORmrrANDnic_intel-x520-da2AND1t1cANDl2bdbase \ tests/ RETURN_STATUS=$(echo $?) ;; @@ -379,41 +409,35 @@ case "$TEST_TAG" in tests/ RETURN_STATUS=$(echo $?) ;; - VPP-VERIFY-PERF-ACL ) - pybot ${PYBOT_ARGS} \ - -v TOPOLOGY_PATH:${WORKING_TOPOLOGY} \ - -v DPDK_TEST:True \ - -s "tests.kubernetes.perf" \ - --include pdrdiscANDnic_intel-x520-da2AND1t1cANDacl \ - --include pdrdiscANDnic_intel-x520-da2AND2t2cANDacl \ - tests/ - RETURN_STATUS=$(echo $?) - ;; - PERFTEST_LONG ) + VPP-VERIFY-PERF-MEMIF ) pybot ${PYBOT_ARGS} \ -v TOPOLOGY_PATH:${WORKING_TOPOLOGY} \ -v DPDK_TEST:True \ -s "tests.kubernetes.perf" \ - --exclude SKIP_PATCH \ - -i NDRPDRDISC \ + --include pdrdiscANDnic_intel-x520-da2AND1t1cANDmemif \ + --include pdrdiscANDnic_intel-x520-da2AND2t2cANDmemif \ + --include mrrANDnic_intel-x520-da2AND1t1cANDmemif \ + --include mrrANDnic_intel-x520-da2AND2t2cANDmemif \ tests/ RETURN_STATUS=$(echo $?) ;; - PERFTEST_SHORT ) + VPP-VERIFY-PERF-ACL ) pybot ${PYBOT_ARGS} \ -v TOPOLOGY_PATH:${WORKING_TOPOLOGY} \ -v DPDK_TEST:True \ -s "tests.kubernetes.perf" \ - -i NDRCHK \ + --include pdrdiscANDnic_intel-x520-da2AND1t1cANDacl \ + --include pdrdiscANDnic_intel-x520-da2AND2t2cANDacl \ tests/ RETURN_STATUS=$(echo $?) ;; - PERFTEST_NIGHTLY ) - #run all available tests + VPP-VERIFY-PERF-IPSECHW ) pybot ${PYBOT_ARGS} \ -v TOPOLOGY_PATH:${WORKING_TOPOLOGY} \ -v DPDK_TEST:True \ -s "tests.kubernetes.perf" \ + --include pdrdiscANDnic_intel-xl710AND1t1cANDipsechw \ + --include pdrdiscANDnic_intel-xl710AND2t2cANDipsechw \ tests/ RETURN_STATUS=$(echo $?) ;; @@ -427,23 +451,13 @@ case "$TEST_TAG" in RETURN_STATUS=$(echo $?) esac -# Pybot output post-processing -echo Post-processing test data... - -python ${SCRIPT_DIR}/resources/tools/scripts/robot_output_parser.py \ - -i ${SCRIPT_DIR}/output.xml \ - -o ${SCRIPT_DIR}/output_perf_data.xml \ - -v ${VPP_STABLE_VER} -if [ ! $? -eq 0 ]; then - echo "Parsing ${SCRIPT_DIR}/output.xml failed" -fi - -# Archive artifacts -mkdir -p archive -for i in ${ARCHIVE_ARTIFACTS[@]}; do - cp $( readlink -f ${i} | tr '\n' ' ' ) archive/ +# Archive JOB artifacts in jenkins +for i in ${JOB_ARCHIVE_ARTIFACTS[@]}; do + cp $( readlink -f ${i} | tr '\n' ' ' ) ${JOB_ARCHIVE_DIR}/ +done +# Archive JOB artifacts to logs.fd.io +for i in ${LOG_ARCHIVE_ARTIFACTS[@]}; do + cp $( readlink -f ${i} | tr '\n' ' ' ) ${LOG_ARCHIVE_DIR}/ done - -echo Post-processing finished. exit ${RETURN_STATUS} diff --git a/bootstrap-verify-perf.sh b/bootstrap-verify-perf.sh index 584dea64af..f7bc026ca9 100755 --- a/bootstrap-verify-perf.sh +++ b/bootstrap-verify-perf.sh @@ -1,5 +1,5 @@ #!/bin/bash -# Copyright (c) 2017 Cisco and/or its affiliates. +# Copyright (c) 2018 Cisco and/or its affiliates. # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. # You may obtain a copy of the License at: @@ -27,10 +27,12 @@ INSTALLATION_DIR="/tmp/install_dir" PYBOT_ARGS="-W 150 -L TRACE" -JOB_ARCHIVE_ARTIFACTS=(log.html output.xml report.html output_perf_data.xml) -LOG_ARCHIVE_ARTIFACTS=(output.xml) -LOG_ARCHIVES_DIR="$WORKSPACE/archives" -mkdir -p ${LOG_ARCHIVES_DIR} +JOB_ARCHIVE_ARTIFACTS=(log.html output.xml report.html) +LOG_ARCHIVE_ARTIFACTS=(log.html output.xml report.html) +JOB_ARCHIVE_DIR="archive" +LOG_ARCHIVE_DIR="$WORKSPACE/archives" +mkdir -p ${JOB_ARCHIVE_DIR} +mkdir -p ${LOG_ARCHIVE_DIR} # If we run this script from CSIT jobs we want to use stable vpp version if [[ ${JOB_NAME} == csit-* ]] ; @@ -142,9 +144,6 @@ case "$TEST_TAG" in --include ndrdiscAND1t1cANDipsecORndrdiscAND2t2cANDipsec \ tests/ RETURN_STATUS=$(echo $?) - for i in ${LOG_ARCHIVE_ARTIFACTS[@]}; do - cp $( readlink -f ${i} | tr '\n' ' ' ) ${LOG_ARCHIVES_DIR}/${i}.log - done ;; PERFTEST_SEMI_WEEKLY ) pybot ${PYBOT_ARGS} \ @@ -153,49 +152,43 @@ case "$TEST_TAG" in --include ndrdiscANDnic_intel-x710AND1t1cORndrdiscANDnic_intel-x710AND2t2cORndrdiscANDnic_intel-xl710AND1t1cORndrdiscANDnic_intel-xl710AND2t2c \ tests/ RETURN_STATUS=$(echo $?) - for i in ${LOG_ARCHIVE_ARTIFACTS[@]}; do - cp $( readlink -f ${i} | tr '\n' ' ' ) ${LOG_ARCHIVES_DIR}/${i}.log - done ;; - VERIFY-PERF-NDRDISC ) + PERFTEST_MRR_DAILY ) pybot ${PYBOT_ARGS} \ -v TOPOLOGY_PATH:${WORKING_TOPOLOGY} \ -s "tests.vpp.perf" \ - --include ndrdiscAND1t1cORndrdiscAND2t2c \ + --include mrrAND64bAND1t1c \ + --include mrrAND64bAND2t2c \ + --include mrrAND64bAND4t4c \ + --include mrrAND78bAND1t1c \ + --include mrrAND78bAND2t2c \ + --include mrrAND78bAND4t4c \ tests/ RETURN_STATUS=$(echo $?) ;; - VERIFY-PERF-PDRDISC ) + VERIFY-PERF-NDRDISC ) pybot ${PYBOT_ARGS} \ -v TOPOLOGY_PATH:${WORKING_TOPOLOGY} \ -s "tests.vpp.perf" \ - --include pdrdiscAND1t1cORpdrdiscAND2t2c \ + --include ndrdiscAND1t1cORndrdiscAND2t2c \ tests/ RETURN_STATUS=$(echo $?) ;; - VERIFY-PERF-MRR ) + VERIFY-PERF-PDRDISC ) pybot ${PYBOT_ARGS} \ -v TOPOLOGY_PATH:${WORKING_TOPOLOGY} \ -s "tests.vpp.perf" \ - --include mrrAND1t1cORmrrAND2t2c \ + --include pdrdiscAND1t1cORpdrdiscAND2t2c \ tests/ RETURN_STATUS=$(echo $?) ;; - PERFTEST_MRR_DAILY ) + VERIFY-PERF-MRR ) pybot ${PYBOT_ARGS} \ -v TOPOLOGY_PATH:${WORKING_TOPOLOGY} \ -s "tests.vpp.perf" \ - --include mrrAND64bAND1t1c \ - --include mrrAND64bAND2t2c \ - --include mrrAND64bAND4t4c \ - --include mrrAND78bAND1t1c \ - --include mrrAND78bAND2t2c \ - --include mrrAND78bAND4t4c \ + --include mrrAND1t1cORmrrAND2t2c \ tests/ RETURN_STATUS=$(echo $?) - for i in ${LOG_ARCHIVE_ARTIFACTS[@]}; do - cp $( readlink -f ${i} | tr '\n' ' ' ) ${LOG_ARCHIVES_DIR}/${i}.log - done ;; VERIFY-PERF-IP4 ) pybot ${PYBOT_ARGS} \ @@ -260,6 +253,7 @@ case "$TEST_TAG" in --include ndrdiscANDnic_intel-xl710AND1t1cANDipsechw \ --include ndrdiscANDnic_intel-xl710AND2t2cANDipsechw \ tests/ + RETURN_STATUS=$(echo $?) ;; VPP-VERIFY-PERF-IP4 ) pybot ${PYBOT_ARGS} \ @@ -338,23 +332,6 @@ case "$TEST_TAG" in tests/ RETURN_STATUS=$(echo $?) ;; - PERFTEST_LONG ) - pybot ${PYBOT_ARGS} \ - -v TOPOLOGY_PATH:${WORKING_TOPOLOGY} \ - -s "tests.vpp.perf" \ - --exclude SKIP_PATCH \ - -i NDRPDRDISC \ - tests/ - RETURN_STATUS=$(echo $?) - ;; - PERFTEST_SHORT ) - pybot ${PYBOT_ARGS} \ - -v TOPOLOGY_PATH:${WORKING_TOPOLOGY} \ - -s "tests.vpp.perf" \ - -i MRR \ - tests/ - RETURN_STATUS=$(echo $?) - ;; * ) # run full performance test suite and exit on fail pybot ${PYBOT_ARGS} \ @@ -364,23 +341,13 @@ case "$TEST_TAG" in RETURN_STATUS=$(echo $?) esac -# Pybot output post-processing -echo Post-processing test data... - -python ${SCRIPT_DIR}/resources/tools/scripts/robot_output_parser.py \ - -i ${SCRIPT_DIR}/output.xml \ - -o ${SCRIPT_DIR}/output_perf_data.xml \ - -v ${VPP_STABLE_VER} -if [ ! $? -eq 0 ]; then - echo "Parsing ${SCRIPT_DIR}/output.xml failed" -fi - -# Archive artifacts -mkdir -p archive +# Archive JOB artifacts in jenkins for i in ${JOB_ARCHIVE_ARTIFACTS[@]}; do - cp $( readlink -f ${i} | tr '\n' ' ' ) archive/ + cp $( readlink -f ${i} | tr '\n' ' ' ) ${JOB_ARCHIVE_DIR}/ +done +# Archive JOB artifacts to logs.fd.io +for i in ${LOG_ARCHIVE_ARTIFACTS[@]}; do + cp $( readlink -f ${i} | tr '\n' ' ' ) ${LOG_ARCHIVE_DIR}/ done - -echo Post-processing finished. exit ${RETURN_STATUS} -- 2.16.6