# - TOPOLOGIES - Available topologies.
# - NODENESS - Node multiplicity of desired testbed.
# - FLAVOR - Node flavor string, usually describing the processor.
+ # - IMAGE_VER_FILE - Name of file that contains the image version.
# Variables set:
# - WORKING_TOPOLOGY - Path to topology file.
die "Source failed!"
}
- device_image="$(< ${CSIT_DIR}/VPP_DEVICE_IMAGE)"
+ device_image="$(< ${CSIT_DIR}/${IMAGE_VER_FILE})"
case_text="${NODENESS}_${FLAVOR}"
case "${case_text}" in
"1n_skx")
# Blacklisting certain tags per topology.
case "${TEST_CODE}" in
- *"3n-hsw"*)
- test_tag_array+=("!drv_avf")
- ;;
*"2n-skx"*)
test_tag_array+=("!ipsechw")
;;
test_tag_array+=("!vhost")
test_tag_array+=("!vts")
;;
+ *"3n-hsw"*)
+ # TODO: Introduce NOIOMMU version of AVF tests.
+ # TODO: Make (both) AVF tests work on Haswell,
+ # or document why (some of) it is not possible.
+ # https://github.com/FDio/vpp/blob/master/src/plugins/avf/README.md
+ test_tag_array+=("!drv_avf")
+ # All cards have access to QAT. But only one card (xl710)
+ # resides in same NUMA as QAT. Other cards must go over QPI
+ # which we do not want to even run.
+ test_tag_array+=("!ipsechwNOTnic_intel-xl710")
+ ;;
*)
# Default to 3n-hsw due to compatibility.
test_tag_array+=("!drv_avf")
+ test_tag_array+=("!ipsechwNOTnic_intel-xl710")
;;
esac
# We will prefix with perftest to prevent running other tests
# (e.g. Functional).
prefix="perftestAND"
+ set +x
if [[ "${TEST_CODE}" == "vpp-"* ]]; then
# Automatic prefixing for VPP jobs to limit the NIC used and
# traffic evaluation to MRR.
- prefix="${prefix}mrrAND${DEFAULT_NIC}AND"
+ if [[ "${TEST_TAG_STRING-}" == *"nic_"* ]]; then
+ prefix="${prefix}mrrAND"
+ else
+ prefix="${prefix}mrrAND${DEFAULT_NIC}AND"
+ fi
fi
for tag in "${test_tag_array[@]}"; do
if [[ "${tag}" == "!"* ]]; then
TAGS+=("${prefix}${tag}")
fi
done
+ set -x
}
done
}
+function select_os () {
+
+ set -exuo pipefail
+
+ # Variables set:
+ # - VPP_VER_FILE - Name of File in CSIT dir containing vpp stable version.
+ # - IMAGE_VER_FILE - Name of File in CSIT dir containing the image name.
+ # - PKG_SUFFIX - Suffix of OS package file name, "rpm" or "deb."
+
+ os_id=$(grep '^ID=' /etc/os-release | cut -f2- -d= | sed -e 's/\"//g') || {
+ die "Get OS release failed."
+ }
+
+ case "${os_id}" in
+ "ubuntu"*)
+ IMAGE_VER_FILE="VPP_DEVICE_IMAGE_UBUNTU"
+ VPP_VER_FILE="VPP_STABLE_VER_UBUNTU_BIONIC"
+ PKG_SUFFIX="deb"
+ ;;
+ "centos"*)
+ IMAGE_VER_FILE="VPP_DEVICE_IMAGE_CENTOS"
+ VPP_VER_FILE="VPP_STABLE_VER_CENTOS"
+ PKG_SUFFIX="rpm"
+ ;;
+ *)
+ die "Unable to identify distro or os from ${OS}"
+ ;;
+ esac
+}
+
function select_topology () {
case_text="${NODENESS}_${FLAVOR}"
case "${case_text}" in
+ # TODO: Move tags to "# Blacklisting certain tags per topology" section.
"1n_vbox")
- TOPOLOGIES=(
- "${TOPOLOGIES_DIR}/vpp_device.template"
- )
+ TOPOLOGIES=( "${TOPOLOGIES_DIR}"/*vpp_device*.template )
TOPOLOGIES_TAGS="2_node_single_link_topo"
;;
"1n_skx")
- TOPOLOGIES=(
- "${TOPOLOGIES_DIR}/vpp_device.template"
- )
+ TOPOLOGIES=( "${TOPOLOGIES_DIR}"/*vpp_device*.template )
TOPOLOGIES_TAGS="2_node_single_link_topo"
;;
"2n_skx")
- TOPOLOGIES=(
- "${TOPOLOGIES_DIR}/lf_2n_skx_testbed21.yaml"
- #"${TOPOLOGIES_DIR}/lf_2n_skx_testbed22.yaml"
- "${TOPOLOGIES_DIR}/lf_2n_skx_testbed23.yaml"
- "${TOPOLOGIES_DIR}/lf_2n_skx_testbed24.yaml"
- )
+ TOPOLOGIES=( "${TOPOLOGIES_DIR}"/*2n_skx*.yaml )
TOPOLOGIES_TAGS="2_node_*_link_topo"
;;
"3n_skx")
- TOPOLOGIES=(
- "${TOPOLOGIES_DIR}/lf_3n_skx_testbed31.yaml"
- "${TOPOLOGIES_DIR}/lf_3n_skx_testbed32.yaml"
- )
+ TOPOLOGIES=( "${TOPOLOGIES_DIR}"/*3n_skx*.yaml )
TOPOLOGIES_TAGS="3_node_*_link_topo"
;;
"3n_hsw")
- TOPOLOGIES=(
- "${TOPOLOGIES_DIR}/lf_3n_hsw_testbed1.yaml"
- "${TOPOLOGIES_DIR}/lf_3n_hsw_testbed2.yaml"
- "${TOPOLOGIES_DIR}/lf_3n_hsw_testbed3.yaml"
- )
+ TOPOLOGIES=( "${TOPOLOGIES_DIR}"/*3n_hsw*.yaml )
TOPOLOGIES_TAGS="3_node_single_link_topo"
;;
"3n_tsh")
- TOPOLOGIES=(
- "${TOPOLOGIES_DIR}/lf_3n_tsh_testbed33.yaml"
- )
+ TOPOLOGIES=( "${TOPOLOGIES_DIR}"/*3n_tsh*.yaml )
TOPOLOGIES_TAGS="3_node_*_link_topo"
;;
*)