NODENESS="1n"
FLAVOR="tx2"
;;
+ *"2n-aws"*)
+ NODENESS="2n"
+ FLAVOR="aws"
+ ;;
+ *"3n-aws"*)
+ NODENESS="3n"
+ FLAVOR="aws"
+ ;;
*"2n-skx"*)
NODENESS="2n"
FLAVOR="skx"
}
die "Trap attempt failed, unreserve succeeded. Aborting."
}
- # Cleanup + calibration checks.
+ # Cleanup + calibration checks
set +e
ansible_playbook "cleanup, calibration"
result="$?"
set -exuo pipefail
- os_id=$(grep '^ID=' /etc/os-release | cut -f2- -d= | sed -e 's/\"//g') || {
- die "Get OS release failed."
- }
+ source /etc/os-release || die "Get OS release failed."
- case "${os_id}" in
+ case "${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"
+ case "${VERSION}" in
+ *"LTS (Focal Fossa)"*)
+ IMAGE_VER_FILE="VPP_DEVICE_IMAGE_UBUNTU"
+ VPP_VER_FILE="VPP_STABLE_VER_UBUNTU_FOCAL"
+ PKG_SUFFIX="deb"
+ ;;
+ *)
+ die "Unsupported Ubuntu version!"
+ ;;
+ esac
;;
*)
- die "Unable to identify distro or os from ${os_id}"
+ die "Unsupported distro or OS!"
;;
esac
*"3n-hsw"* | *"2n-tx2"* | *"mrr-daily-master")
default_nic="nic_intel-xl710"
;;
+ *"2n-aws"* | *"3n-aws"*)
+ default_nic="nic_amazon-nitro-50g"
+ ;;
*)
default_nic="nic_intel-x710"
;;
awk_nics_sub_cmd+='gsub("cx556a","100ge2p1cx556a");'
awk_nics_sub_cmd+='gsub("vic1227","10ge2p1vic1227");'
awk_nics_sub_cmd+='gsub("vic1385","40ge2p1vic1385");'
+ awk_nics_sub_cmd+='gsub("nitro-50g","50ge1p1ENA");'
awk_nics_sub_cmd+='if ($9 =="drv_avf") drv="avf-";'
awk_nics_sub_cmd+='else if ($9 =="drv_rdma_core") drv ="rdma-";'
awk_nics_sub_cmd+='else drv="";'
# which we do not want to even run.
test_tag_array+=("!ipsechwNOTnic_intel-xl710")
;;
+ *"2n-aws"* | *"3n-aws"*)
+ test_tag_array+=("!ipsechw")
+ ;;
*)
# Default to 3n-hsw due to compatibility.
test_tag_array+=("!drv_avf")
TOPOLOGIES=( "${TOPOLOGIES_DIR}"/*2n_tx2*.yaml )
TOPOLOGIES_TAGS="2_node_single_link_topo"
;;
+ "2n_aws")
+ TOPOLOGIES=( "${TOPOLOGIES_DIR}"/*2n_aws*.yaml )
+ TOPOLOGIES_TAGS="2_node_single_link_topo"
+ ;;
+ "3n_aws")
+ TOPOLOGIES=( "${TOPOLOGIES_DIR}"/*3n_aws*.yaml )
+ TOPOLOGIES_TAGS="3_node_single_link_topo"
+ ;;
*)
# No falling back to 3n_hsw default, that should have been done
# by the function which has set NODENESS and FLAVOR.
done
}
+
+function set_environment_variables () {
+
+ # Depending on testbed topology, overwrite defaults set in the
+ # resources/libraries/python/Constants.py file
+ #
+ # Variables read:
+ # - TEST_CODE - String affecting test selection, usually jenkins job name.
+ # Variables set:
+ # See specific cases
+
+ set -exuo pipefail
+
+ case "${TEST_CODE}" in
+ *"2n-aws"* | *"3n-aws"*)
+ # T-Rex 2.88 workaround for ENA NICs
+ export TREX_RX_DESCRIPTORS_COUNT=1024
+ export TREX_EXTRA_CMDLINE="--mbuf-factor 19"
+ # Settings to prevent duration stretching
+ export PERF_TRIAL_STL_DELAY=0.1
+ ;;
+ esac
+}
+
+
function untrap_and_unreserve_testbed () {
# Use this as a trap function to ensure testbed does not remain reserved.