aboutsummaryrefslogtreecommitdiffstats
path: root/resources/libraries/bash
diff options
context:
space:
mode:
Diffstat (limited to 'resources/libraries/bash')
-rw-r--r--resources/libraries/bash/function/artifacts.sh62
-rw-r--r--resources/libraries/bash/function/common.sh35
-rw-r--r--resources/libraries/bash/function/gather.sh3
3 files changed, 81 insertions, 19 deletions
diff --git a/resources/libraries/bash/function/artifacts.sh b/resources/libraries/bash/function/artifacts.sh
index b6b5bc5536..a403cfe005 100644
--- a/resources/libraries/bash/function/artifacts.sh
+++ b/resources/libraries/bash/function/artifacts.sh
@@ -1,6 +1,7 @@
#!/usr/bin/env bash
-# Copyright (c) 2018 Cisco and/or its affiliates.
+# Copyright (c) 2019 Cisco and/or its affiliates.
+# Copyright (c) 2019 PANTHEON.tech 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:
@@ -64,14 +65,50 @@ function download_ubuntu_artifacts () {
}
# If version is set we will add suffix.
artifacts=()
- vpp=(vpp vpp-dbg vpp-dev vpp-api-python libvppinfra libvppinfra-dev
- vpp-plugin-core vpp-plugin-dpdk)
+ BOTH_QUOTES='"'"'"
+ MATCH="[^${BOTH_QUOTES}]*"
+ QMATCH="[${BOTH_QUOTES}]\?"
+ SED_COMMAND="s#.*apt_source_path=${QMATCH}\(${MATCH}\)${QMATCH}#\1#p"
+ APT_FDIO_REPO_FILE=$(curl -s "${REPO_URL}"/script.deb.sh | \
+ sed -n ${SED_COMMAND}) || {
+ die "Local fdio repo file path fetch failed."
+ }
+
+ if [ ! -f ${APT_FDIO_REPO_FILE} ]; then
+ die "${APT_FDIO_REPO_FILE} not found, \
+ repository installation was not successful."
+ fi
+
+ packages=$(apt-cache -o Dir::Etc::SourceList=${APT_FDIO_REPO_FILE} \
+ -o Dir::Etc::SourceParts=${APT_FDIO_REPO_FILE} dumpavail \
+ | grep Package: | cut -d " " -f 2) || {
+ die "Retrieval of available VPP packages failed."
+ }
if [ -z "${VPP_VERSION-}" ]; then
- artifacts+=(${vpp[@]})
- else
- artifacts+=(${vpp[@]/%/=${VPP_VERSION-}})
+ # If version is not specified, find out the most recent version
+ VPP_VERSION=$(apt-cache --no-all-versions show vpp | grep Version: | \
+ cut -d " " -f 2) || {
+ die "Retrieval of most recent VPP version failed."
+ }
fi
+ set +x
+ for package in ${packages}; do
+ # Filter packages with given version
+ pkg_info=$(apt-cache show ${package}) || {
+ die "apt-cache show on ${package} failed."
+ }
+ ver=$(echo ${pkg_info} | grep -o "Version: ${VPP_VERSION-}[^ ]*") || true
+ if [ -n "${ver-}" ]; then
+ echo "Found '${VPP_VERSION-}' among '${package}' versions."
+ ver=$(echo "$ver" | cut -d " " -f 2)
+ artifacts+=(${package[@]/%/=${ver-}})
+ else
+ echo "Didn't find '${VPP_VERSION-}' among '${package}' versions."
+ fi
+ done
+ set -x
+
if [ "${INSTALL:-false}" = true ]; then
sudo apt-get -y install "${artifacts[@]}" || {
die "Install VPP artifacts failed."
@@ -98,11 +135,11 @@ function download_centos_artifacts () {
}
# If version is set we will add suffix.
artifacts=()
- vpp=(vpp vpp-selinux-policy vpp-devel vpp-lib vpp-plugins vpp-api-python)
+ packages=(vpp vpp-selinux-policy vpp-devel vpp-lib vpp-plugins vpp-api-python)
if [ -z "${VPP_VERSION-}" ]; then
- artifacts+=(${vpp[@]})
+ artifacts+=(${packages[@]})
else
- artifacts+=(${vpp[@]/%/-${VPP_VERSION-}})
+ artifacts+=(${packages[@]/%/-${VPP_VERSION-}})
fi
if [ "${INSTALL:-false}" = true ]; then
@@ -131,11 +168,11 @@ function download_opensuse_artifacts () {
}
# If version is set we will add suffix.
artifacts=()
- vpp=(vpp vpp-devel vpp-lib vpp-plugins libvpp0)
+ packages=(vpp vpp-devel vpp-lib vpp-plugins libvpp0)
if [ -z "${VPP_VERSION-}" ]; then
- artifacts+=(${vpp[@]})
+ artifacts+=(${packages[@]})
else
- artifacts+=(${vpp[@]/%/-${VPP_VERSION-}})
+ artifacts+=(${packages[@]/%/-${VPP_VERSION-}})
fi
if [ "${INSTALL:-false}" = true ]; then
@@ -148,4 +185,3 @@ function download_opensuse_artifacts () {
}
fi
}
-
diff --git a/resources/libraries/bash/function/common.sh b/resources/libraries/bash/function/common.sh
index 71cf9d3fa6..2ae135425b 100644
--- a/resources/libraries/bash/function/common.sh
+++ b/resources/libraries/bash/function/common.sh
@@ -1,4 +1,5 @@
# Copyright (c) 2019 Cisco and/or its affiliates.
+# Copyright (c) 2019 PANTHEON.tech 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:
@@ -382,6 +383,10 @@ function get_test_code () {
NODENESS="3n"
FLAVOR="skx"
;;
+ *"3n-tsh"*)
+ NODENESS="3n"
+ FLAVOR="tsh"
+ ;;
*)
# Fallback to 3-node Haswell by default (backward compatibility)
NODENESS="3n"
@@ -424,6 +429,7 @@ function get_test_tag_string () {
comment="${comment/perftest-3n/perftest}"
comment="${comment/perftest-hsw/perftest}"
comment="${comment/perftest-skx/perftest}"
+ comment="${comment/perftest-tsh/perftest}"
tag_string="$(echo "${comment}" \
| grep -oE '(perftest$|perftest[[:space:]].+$)' || true)"
# Set test tags as string.
@@ -557,6 +563,16 @@ function select_tags () {
# All topologies NICs - Selected topology NICs
exclude_nics=($(comm -13 <(echo "${reserved}") <(echo "${available}")))
+ # Select default NIC
+ case "${TEST_CODE}" in
+ *"3n-tsh"*)
+ DEFAULT_NIC='nic_intel-82599es'
+ ;;
+ *)
+ DEFAULT_NIC='nic_intel-x710'
+ ;;
+ esac
+
case "${TEST_CODE}" in
# Select specific performance tests based on jenkins job type variable.
*"ndrpdr-weekly"* )
@@ -666,10 +682,10 @@ function select_tags () {
if [[ -z "${TEST_TAG_STRING-}" ]]; then
# If nothing is specified, we will run pre-selected tests by
# following tags.
- test_tag_array=("mrrANDnic_intel-x710AND1cAND64bANDip4base"
- "mrrANDnic_intel-x710AND1cAND78bANDip6base"
- "mrrANDnic_intel-x710AND1cAND64bANDl2bdbase"
- "mrrANDnic_intel-x710AND1cAND64bANDl2xcbase"
+ test_tag_array=("mrrAND${DEFAULT_NIC}AND1cAND64bANDip4base"
+ "mrrAND${DEFAULT_NIC}AND1cAND78bANDip6base"
+ "mrrAND${DEFAULT_NIC}AND1cAND64bANDl2bdbase"
+ "mrrAND${DEFAULT_NIC}AND1cAND64bANDl2xcbase"
"!dot1q")
else
# If trigger contains tags, split them into array.
@@ -689,6 +705,9 @@ function select_tags () {
*"3n-skx"*)
test_tag_array+=("!ipsechw")
;;
+ *"3n-tsh"*)
+ test_tag_array+=("!ipsechw")
+ ;;
*)
# Default to 3n-hsw due to compatibility.
test_tag_array+=("!drv_avf")
@@ -706,7 +725,7 @@ function select_tags () {
if [[ "${TEST_CODE}" == "vpp-"* ]]; then
# Automatic prefixing for VPP jobs to limit the NIC used and
# traffic evaluation to MRR.
- prefix="${prefix}mrrANDnic_intel-x710AND"
+ prefix="${prefix}mrrAND${DEFAULT_NIC}AND"
fi
for tag in "${test_tag_array[@]}"; do
if [[ ${tag} == "!"* ]]; then
@@ -818,6 +837,12 @@ function select_topology () {
)
TOPOLOGIES_TAGS="3_node_single_link_topo"
;;
+ "3n_tsh")
+ TOPOLOGIES=(
+ "${TOPOLOGIES_DIR}/lf_3n_tsh_testbed33.yaml"
+ )
+ TOPOLOGIES_TAGS="3_node_*_link_topo"
+ ;;
*)
# No falling back to 3n_hsw default, that should have been done
# by the function which has set NODENESS and FLAVOR.
diff --git a/resources/libraries/bash/function/gather.sh b/resources/libraries/bash/function/gather.sh
index f92c4ef897..518c6b4105 100644
--- a/resources/libraries/bash/function/gather.sh
+++ b/resources/libraries/bash/function/gather.sh
@@ -1,4 +1,5 @@
-# Copyright (c) 2018 Cisco and/or its affiliates.
+# Copyright (c) 2019 Cisco and/or its affiliates.
+# Copyright (c) 2019 PANTHEON.tech 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: