CSIT-1114 Add DPDK download to bootstrap 60/12960/8
authorPeter Mikus <pmikus@cisco.com>
Fri, 8 Jun 2018 05:59:48 +0000 (05:59 +0000)
committerTibor Frank <tifrank@cisco.com>
Fri, 8 Jun 2018 10:41:46 +0000 (10:41 +0000)
- Add downloading artifacts to bootstrap to be able to use latest dpdk version

Change-Id: I5f07e8207780b81ad85b6053db99639c47448409
Signed-off-by: Peter Mikus <pmikus@cisco.com>
bootstrap-verify-perf-DPDK.sh
tests/dpdk/dpdk_scripts/cleanup_dpdk.sh
tests/dpdk/dpdk_scripts/init_dpdk.sh
tests/dpdk/dpdk_scripts/install_dpdk.sh
tests/dpdk/dpdk_scripts/run_l2fwd.sh
tests/dpdk/dpdk_scripts/run_l3fwd.sh

index e7dd6f2..b75caeb 100755 (executable)
@@ -1,5 +1,5 @@
 #!/bin/bash
-# Copyright (c) 2016 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:
@@ -20,6 +20,8 @@ TOPOLOGIES="topologies/available/lf_testbed1.yaml \
             topologies/available/lf_testbed3.yaml"
 
 SCRIPT_DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"
+export PYTHONPATH=${SCRIPT_DIR}
+export DEBIAN_FRONTEND=noninteractive
 
 # Reservation dir
 RESERVATION_DIR="/tmp/reservation_dir"
@@ -31,10 +33,27 @@ LOG_ARCHIVE_DIR="$WORKSPACE/archives"
 mkdir -p ${JOB_ARCHIVE_DIR}
 mkdir -p ${LOG_ARCHIVE_DIR}
 
-# we will download the DPDK in the robot
+# If we run this script from CSIT jobs we want to use stable version
+if [[ ${JOB_NAME} == csit-* ]] ;
+then
+    DPDK_REPO='https://fast.dpdk.org/rel/'
+    if [[ ${TEST_TAG} == *DAILY ]] || \
+       [[ ${TEST_TAG} == *WEEKLY ]];
+    then
+        echo Downloading latest DPDK packages from repo...
+        DPDK_STABLE_VER=$(wget --no-check-certificate --quiet -O - ${DPDK_REPO} | \
+            grep -v '2015' | grep -Eo 'dpdk-[^\"]+xz' | tail -1)
+    else
+        echo Downloading DPDK packages of specific version from repo...
+        DPDK_STABLE_VER='dpdk-18.05.tar.xz'
+    fi
+    wget --no-check-certificate --quiet ${DPDK_REPO}${DPDK_STABLE_VER}
+else
+    echo "Unable to identify job type based on JOB_NAME variable: ${JOB_NAME}"
+    exit 1
+fi
 
 WORKING_TOPOLOGY=""
-export PYTHONPATH=${SCRIPT_DIR}
 
 sudo apt-get -y update
 sudo apt-get -y install libpython2.7-dev python-virtualenv
index f43746c..a8624a8 100755 (executable)
@@ -3,7 +3,7 @@
 set -x
 
 # Setting variables
-DPDK_VERSION=dpdk-18.02
+DPDK_DIR=dpdk
 ROOTDIR=/tmp/openvpp-testing
 TESTPMDLOG=screenlog.0
 PWDDIR=$(pwd)
@@ -72,7 +72,7 @@ fi
 sudo rm -f /dev/hugepages/*
 
 # Unbind interfaces
-cd ${ROOTDIR}/${DPDK_VERSION}/
+cd ${ROOTDIR}/${DPDK_DIR}/
 sudo ./usertools/dpdk-devbind.py -b ${port1_driver} ${port1_pci} || \
     { echo "Unbind ${port1_pci} failed"; exit 1; }
 sudo ./usertools/dpdk-devbind.py -b ${port2_driver} ${port2_pci} || \
index 2bf4125..d6565e0 100755 (executable)
@@ -3,7 +3,7 @@
 set -x
 
 # Setting variables
-DPDK_VERSION=dpdk-18.02
+DPDK_DIR=dpdk
 ROOTDIR=/tmp/openvpp-testing
 PWDDIR=$(pwd)
 
@@ -18,7 +18,7 @@ else
     MACHINE="native"
 fi
 
-cd ${ROOTDIR}/${DPDK_VERSION}/
+cd ${ROOTDIR}/${DPDK_DIR}/
 
 modprobe uio
 echo "RC = $?"
index 57085f3..4fcbf08 100755 (executable)
@@ -15,24 +15,20 @@ else
     MACHINE="native"
 fi
 
-DPDK_VERSION=dpdk-18.02
-DPDK_DIR=${DPDK_VERSION}
-DPDK_PACKAGE=${DPDK_DIR}.tar.xz
+DPDK_DIR=dpdk
 ROOTDIR=/tmp/openvpp-testing
 PWDDIR=$(pwd)
 
-# Download the DPDK package
 cd ${ROOTDIR}
-wget "fast.dpdk.org/rel/${DPDK_PACKAGE}" || \
-    { echo "Failed to download $DPDK_PACKAGE"; exit 1; }
-tar xJvf ${DPDK_PACKAGE} || \
-    { echo "Failed to extract $DPDK_PACKAGE"; exit 1; }
+mkdir ${DPDK_DIR}
+tar -xvf dpdk*.tar.xz --strip=1 --directory dpdk || \
+    { echo "Failed to extract DPDK"; exit 1; }
 
 # Compile the DPDK
 cd ./${DPDK_DIR}
 sudo sed -i 's/^CONFIG_RTE_LIBRTE_I40E_16BYTE_RX_DESC=n/CONFIG_RTE_LIBRTE_I40E_16BYTE_RX_DESC=y/g' ./config/common_base
 make install T=${ARCH}-${MACHINE}-linuxapp-gcc -j || \
-    { echo "Failed to compile $DPDK_VERSION"; exit 1; }
+    { echo "Failed to compile DPDK"; exit 1; }
 cd ${PWDDIR}
 
 # Compile the l3fwd
index 578c12c..0e07b68 100755 (executable)
@@ -3,7 +3,7 @@
 set -x
 
 # Setting variables
-DPDK_VERSION=dpdk-18.02
+DPDK_DIR=dpdk
 ROOTDIR=/tmp/openvpp-testing
 TESTPMDLOG=screenlog.0
 PWDDIR=$(pwd)
@@ -82,7 +82,7 @@ sudo rm -f /dev/hugepages/*
 
 sleep 2
 
-cd ${ROOTDIR}/${DPDK_VERSION}/
+cd ${ROOTDIR}/${DPDK_DIR}/
 rm -f ${TESTPMDLOG}
 TESTPMD_BIN=./${arch}-${machine}-linuxapp-gcc/app/testpmd
 
index 11222c1..014ba27 100755 (executable)
@@ -3,7 +3,7 @@
 set -x
 
 # Setting variables
-DPDK_VERSION=dpdk-18.02
+DPDK_DIR=dpdk
 ROOTDIR=/tmp/openvpp-testing
 L3FWDLOG=screenlog.0
 PWDDIR=$(pwd)
@@ -84,7 +84,7 @@ sudo rm -f /dev/hugepages/*
 sleep 2
 
 #run the l3fwd
-cd ${ROOTDIR}/${DPDK_VERSION}/
+cd ${ROOTDIR}/${DPDK_DIR}/
 rm -f ${L3FWDLOG}
 if [ "$jumbo_frames" = "yes" ]; then
     sudo sh -c "screen -dmSL DPDK-test ./examples/l3fwd/build/app/l3fwd \