aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorPeter Mikus <pmikus@cisco.com>2018-06-08 05:59:48 +0000
committerTibor Frank <tifrank@cisco.com>2018-06-08 10:41:46 +0000
commitd947e9de7ba6641145f00bece0ff61a4ef48d804 (patch)
tree5cb47cf6b011a4d65119f8652ab2b8cfe03a99ef
parent28b344a6ade7624278835cff242b3e0c9d891346 (diff)
CSIT-1114 Add DPDK download to bootstrap
- Add downloading artifacts to bootstrap to be able to use latest dpdk version Change-Id: I5f07e8207780b81ad85b6053db99639c47448409 Signed-off-by: Peter Mikus <pmikus@cisco.com>
-rwxr-xr-xbootstrap-verify-perf-DPDK.sh25
-rwxr-xr-xtests/dpdk/dpdk_scripts/cleanup_dpdk.sh4
-rwxr-xr-xtests/dpdk/dpdk_scripts/init_dpdk.sh4
-rwxr-xr-xtests/dpdk/dpdk_scripts/install_dpdk.sh14
-rwxr-xr-xtests/dpdk/dpdk_scripts/run_l2fwd.sh4
-rwxr-xr-xtests/dpdk/dpdk_scripts/run_l3fwd.sh4
6 files changed, 35 insertions, 20 deletions
diff --git a/bootstrap-verify-perf-DPDK.sh b/bootstrap-verify-perf-DPDK.sh
index e7dd6f2d0f..b75caebefc 100755
--- a/bootstrap-verify-perf-DPDK.sh
+++ b/bootstrap-verify-perf-DPDK.sh
@@ -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
diff --git a/tests/dpdk/dpdk_scripts/cleanup_dpdk.sh b/tests/dpdk/dpdk_scripts/cleanup_dpdk.sh
index f43746c221..a8624a8321 100755
--- a/tests/dpdk/dpdk_scripts/cleanup_dpdk.sh
+++ b/tests/dpdk/dpdk_scripts/cleanup_dpdk.sh
@@ -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} || \
diff --git a/tests/dpdk/dpdk_scripts/init_dpdk.sh b/tests/dpdk/dpdk_scripts/init_dpdk.sh
index 2bf4125f83..d6565e063b 100755
--- a/tests/dpdk/dpdk_scripts/init_dpdk.sh
+++ b/tests/dpdk/dpdk_scripts/init_dpdk.sh
@@ -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 = $?"
diff --git a/tests/dpdk/dpdk_scripts/install_dpdk.sh b/tests/dpdk/dpdk_scripts/install_dpdk.sh
index 57085f3591..4fcbf080d9 100755
--- a/tests/dpdk/dpdk_scripts/install_dpdk.sh
+++ b/tests/dpdk/dpdk_scripts/install_dpdk.sh
@@ -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
diff --git a/tests/dpdk/dpdk_scripts/run_l2fwd.sh b/tests/dpdk/dpdk_scripts/run_l2fwd.sh
index 578c12c054..0e07b68264 100755
--- a/tests/dpdk/dpdk_scripts/run_l2fwd.sh
+++ b/tests/dpdk/dpdk_scripts/run_l2fwd.sh
@@ -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
diff --git a/tests/dpdk/dpdk_scripts/run_l3fwd.sh b/tests/dpdk/dpdk_scripts/run_l3fwd.sh
index 11222c1bf8..014ba2717f 100755
--- a/tests/dpdk/dpdk_scripts/run_l3fwd.sh
+++ b/tests/dpdk/dpdk_scripts/run_l3fwd.sh
@@ -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 \