X-Git-Url: https://gerrit.fd.io/r/gitweb?p=csit.git;a=blobdiff_plain;f=bootstrap-vpp-verify-weekly.sh;h=e732810080ca64fd3f48249ee094ae4deaa91193;hp=c04db572d2542e23977a8d010b696361c582da89;hb=e4744a48fa82c226162351d7598827efa610e0ec;hpb=8ef4983395b46a834e3ffe712197ec2e2f2b50d1 diff --git a/bootstrap-vpp-verify-weekly.sh b/bootstrap-vpp-verify-weekly.sh index c04db572d2..e732810080 100644 --- a/bootstrap-vpp-verify-weekly.sh +++ b/bootstrap-vpp-verify-weekly.sh @@ -24,19 +24,28 @@ VIRL_USERNAME=jenkins-in VIRL_PKEY=priv_key VIRL_SERVER_STATUS_FILE="status" VIRL_SERVER_EXPECTED_STATUS="PRODUCTION" +VIRL_SESSION_EXPIRY="620" + +SCRIPT_DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )" + +# Create tmp dir +mkdir ${SCRIPT_DIR}/tmp + +# Use tmp dir to store log files +LOG_PATH="${SCRIPT_DIR}/tmp" if [ -f "/etc/redhat-release" ]; then DISTRO="CENTOS" sudo yum install -y python-devel python-virtualenv - VIRL_TOPOLOGY=double-ring-nested.centos7 - VIRL_RELEASE=csit-centos-7.3-1611_2017-02-14_1.3 + VIRL_TOPOLOGY=$(cat ${SCRIPT_DIR}/VIRL_TOPOLOGY_CENTOS) + VIRL_RELEASE=$(cat ${SCRIPT_DIR}/VIRL_RELEASE_CENTOS) else DISTRO="UBUNTU" export DEBIAN_FRONTEND=noninteractive sudo apt-get -y update sudo apt-get -y install libpython2.7-dev python-virtualenv - VIRL_TOPOLOGY=double-ring-nested.xenial - VIRL_RELEASE=csit-ubuntu-16.04.1_2017-02-20_1.7 + VIRL_TOPOLOGY=$(cat ${SCRIPT_DIR}/VIRL_TOPOLOGY_UBUNTU) + VIRL_RELEASE=$(cat ${SCRIPT_DIR}/VIRL_RELEASE_UBUNTU) fi SSH_OPTIONS="-i ${VIRL_PKEY} -o StrictHostKeyChecking=no -o UserKnownHostsFile=/dev/null -o BatchMode=yes -o LogLevel=error" @@ -114,12 +123,10 @@ do done # Temporarily download VPP and DPDK packages from nexus.fd.io -SCRIPT_DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )" - case "$DISTRO" in CENTOS ) - VPP_ARTIFACTS="vpp vpp-debuginfo vpp-devel vpp-lib vpp-plugins" - DPDK_ARTIFACTS="vpp-dpdk-devel" + VPP_ARTIFACTS="vpp vpp-devel vpp-lib vpp-plugins" + DPDK_ARTIFACTS="" PACKAGE="rpm" VPP_CLASSIFIER="" DPDK_STABLE_VER=$(cat ${SCRIPT_DIR}/DPDK_STABLE_VER).x86_64 @@ -128,7 +135,7 @@ case "$DISTRO" in ;; UBUNTU ) VPP_ARTIFACTS="vpp vpp-dbg vpp-dev vpp-lib vpp-plugins" - DPDK_ARTIFACTS="vpp-dpdk-dev vpp-dpdk-dkms" + DPDK_ARTIFACTS="vpp-dpdk-dkms" PACKAGE="deb" VPP_CLASSIFIER="-deb" DPDK_STABLE_VER=$(cat ${SCRIPT_DIR}/DPDK_STABLE_VER)_amd64 @@ -139,7 +146,7 @@ esac if [ "${#}" -ne "0" ]; then arr=(${@}) echo ${arr[0]} - # DPDK is not part of the vpp build + # Download DPDK parts not included in dpdk plugin of vpp build for ARTIFACT in ${DPDK_ARTIFACTS}; do wget -q "${VPP_REPO_URL}/${ARTIFACT}/${DPDK_STABLE_VER}/${ARTIFACT}-${DPDK_STABLE_VER}${VPP_CLASSIFIER}.${PACKAGE}" || exit done @@ -186,7 +193,9 @@ function stop_virl_simulation { VIRL_SID=$(ssh ${SSH_OPTIONS} \ ${VIRL_USERNAME}@${VIRL_SERVER} \ - "start-testcase -c ${VIRL_TOPOLOGY} -r ${VIRL_RELEASE} ${VPP_PKGS_FULL[@]}") + "start-testcase -vv --copy ${VIRL_TOPOLOGY} \ + --expiry ${VIRL_SESSION_EXPIRY} \ + --release ${VIRL_RELEASE} ${VPP_PKGS_FULL[@]}") retval=$? if [ ${retval} -ne "0" ]; then echo "VIRL simulation start failed" @@ -228,20 +237,22 @@ pip install -r ${SCRIPT_DIR}/requirements.txt RC=0 MORE_FAILS=0 +partial_logs="" for test_set in 1 2 3 do echo echo ${test_set}. test loop PYTHONPATH=`pwd` pybot -L TRACE -W 136\ -v TOPOLOGY_PATH:${SCRIPT_DIR}/topologies/enabled/topology.yaml \ - --suite "tests.func" \ + --suite "tests.vpp.func" \ --include vm_envAND3_node_single_link_topo \ - --include vm_envAND3_nodePACAKGE_double_link_topo \ + --include vm_envAND3_node_double_link_topo \ --exclude PERFTEST \ --noncritical EXPECTED_FAILING \ - --output log_test_set${test_set} \ + --output ${LOG_PATH}/output_test_set${test_set} \ tests/ PARTIAL_RC=$(echo $?) + partial_logs="${partial_logs} ${LOG_PATH}/output_test_set${test_set}.xml" if [ ${PARTIAL_RC} -eq 250 ]; then MORE_FAILS=1 fi @@ -287,11 +298,10 @@ echo Post-processing test data... # Rebot output post-processing rebot --noncritical EXPECTED_FAILING \ - --output output.xml \ - ./log_test_set1.xml ./log_test_set2.xml ./log_test_set3.xml + --output output.xml ${partial_logs} # Remove unnecessary log files -rm -f ./log_test_set1.xml ./log_test_set2.xml ./log_test_set3.xml +rm -f ${partial_logs} echo Post-processing finished.