X-Git-Url: https://gerrit.fd.io/r/gitweb?p=csit.git;a=blobdiff_plain;f=resources%2Flibraries%2Fbash%2Ffunction%2Fcommon.sh;h=810500eb6bed6e392ba285a44db33f2b7ede9d01;hp=921b588cc7c73eed114e6c887647306f0ac9e759;hb=15bef10b28733e4871459f3ec8c7adbf30e2ff96;hpb=3fc1394954fbb06488e81102cc4cd9965ab15a22 diff --git a/resources/libraries/bash/function/common.sh b/resources/libraries/bash/function/common.sh index 921b588cc7..810500eb6b 100644 --- a/resources/libraries/bash/function/common.sh +++ b/resources/libraries/bash/function/common.sh @@ -33,6 +33,7 @@ function activate_docker_topology () { # - 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. @@ -40,7 +41,7 @@ function activate_docker_topology () { 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") @@ -658,9 +659,6 @@ function select_tags () { # Blacklisting certain tags per topology. case "${TEST_CODE}" in - *"3n-hsw"*) - test_tag_array+=("!drv_avf") - ;; *"2n-skx"*) test_tag_array+=("!ipsechw") ;; @@ -676,9 +674,21 @@ function select_tags () { 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 @@ -690,10 +700,15 @@ function select_tags () { # 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 @@ -705,6 +720,7 @@ function select_tags () { TAGS+=("${prefix}${tag}") fi done + set -x } @@ -753,6 +769,36 @@ function select_vpp_device_tags () { 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 () { @@ -771,6 +817,7 @@ 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_TAGS="2_node_single_link_topo"