X-Git-Url: https://gerrit.fd.io/r/gitweb?a=blobdiff_plain;f=resources%2Flibraries%2Fbash%2Ffunction%2Fcommon.sh;h=2082c1ea8589962b9d9e44efa918d3d9f40b90ef;hb=be96921d6e1e70f519a1df8adf8892c4722d26f5;hp=78a99dae0da66393eef0bb6bc931fcc8f58f1253;hpb=f80c4dc842b77e9231e443f7ef10e4a735f18e1f;p=csit.git diff --git a/resources/libraries/bash/function/common.sh b/resources/libraries/bash/function/common.sh index 78a99dae0d..2082c1ea85 100644 --- a/resources/libraries/bash/function/common.sh +++ b/resources/libraries/bash/function/common.sh @@ -428,99 +428,107 @@ function get_test_code () { fi case "${TEST_CODE}" in - *"1n-vbox"*) + *"1n-vbox") NODENESS="1n" FLAVOR="vbox" ;; - *"1n-skx"*) + *"1n-skx") NODENESS="1n" FLAVOR="skx" ;; - *"1n-spr"*) + *"1n-spr") NODENESS="1n" FLAVOR="spr" ;; - *"1n-tx2"*) + *"1n-tx2") NODENESS="1n" FLAVOR="tx2" ;; - *"1n-aws"*) + *"1n-aws") NODENESS="1n" FLAVOR="aws" ;; - *"2n-aws"*) + *"2n-aws") NODENESS="2n" FLAVOR="aws" ;; - *"3n-aws"*) + *"3n-aws") NODENESS="3n" FLAVOR="aws" ;; - *"1n-c6gn"*) - NODENESS="1n" - FLAVOR="c6gn" - ;; - *"2n-c6gn"*) + *"2n-c6gn") NODENESS="2n" FLAVOR="c6gn" ;; - *"3n-c6gn"*) + *"3n-c6gn") NODENESS="3n" FLAVOR="c6gn" ;; - *"1n-c6in"*) + *"2n-c7gn") + NODENESS="2n" + FLAVOR="c7gn" + ;; + *"3n-c7gn") + NODENESS="3n" + FLAVOR="c7gn" + ;; + *"1n-c6in") NODENESS="1n" FLAVOR="c6in" ;; - *"2n-c6in"*) + *"2n-c6in") NODENESS="2n" FLAVOR="c6in" ;; - *"3n-c6in"*) + *"3n-c6in") NODENESS="3n" FLAVOR="c6in" ;; - *"2n-zn2"*) + *"2n-zn2") NODENESS="2n" FLAVOR="zn2" ;; - *"2n-clx"*) + *"2n-clx") NODENESS="2n" FLAVOR="clx" ;; - *"2n-icx"*) + *"2n-icx") NODENESS="2n" FLAVOR="icx" ;; - *"2n-spr"*) + *"2n-spr") NODENESS="2n" FLAVOR="spr" ;; - *"3n-icx"*) + *"3n-icx") NODENESS="3n" FLAVOR="icx" ;; - *"3na-spr"*) + *"3na-spr") NODENESS="3na" FLAVOR="spr" ;; - *"3nb-spr"*) + *"3nb-spr") NODENESS="3nb" FLAVOR="spr" ;; - *"3n-snr"*) + *"3n-snr") NODENESS="3n" FLAVOR="snr" ;; - *"2n-tx2"*) + *"3n-icxd") + NODENESS="3n" + FLAVOR="icxd" + ;; + *"2n-tx2") NODENESS="2n" FLAVOR="tx2" ;; - *"3n-tsh"*) + *"3n-tsh") NODENESS="3n" FLAVOR="tsh" ;; - *"3n-alt"*) + *"3n-alt") NODENESS="3n" FLAVOR="alt" ;; @@ -672,7 +680,7 @@ function prepare_topology () { } terraform_apply || die "Failed to call terraform apply." ;; - "1n_c6gn" | "2n_c6gn" | "3n_c6gn") + "2n_c6gn" | "3n_c6gn") export TF_VAR_testbed_name="${TEST_CODE}" TERRAFORM_MODULE_DIR="terraform-aws-${NODENESS}-c6gn" terraform_init || die "Failed to call terraform init." @@ -681,6 +689,15 @@ function prepare_topology () { } terraform_apply || die "Failed to call terraform apply." ;; + "2n_c7gn" | "3n_c7gn") + export TF_VAR_testbed_name="${TEST_CODE}" + TERRAFORM_MODULE_DIR="terraform-aws-${NODENESS}-c7gn" + terraform_init || die "Failed to call terraform init." + trap "terraform_destroy" ERR EXIT || { + die "Trap attempt failed, please cleanup manually. Aborting!" + } + terraform_apply || die "Failed to call terraform apply." + ;; "1n_c6in" | "2n_c6in" | "3n_c6in") export TF_VAR_testbed_name="${TEST_CODE}" TERRAFORM_MODULE_DIR="terraform-aws-${NODENESS}-c6in" @@ -863,7 +880,7 @@ function select_tags () { # NIC SELECTION case "${TEST_CODE}" in - *"1n-aws"* | *"1n-c6gn"* | *"1n-c6in"*) + *"1n-aws"* | *"1n-c6in"*) start_pattern='^ SUT:' ;; *) @@ -886,37 +903,43 @@ function select_tags () { # Select default NIC tag. case "${TEST_CODE}" in - *"3n-snr"*) + *"3n-snr") default_nic="nic_intel-e822cq" ;; - *"3n-tsh"*) + *"3n-icxd") + default_nic="nic_intel-e823c" + ;; + *"3n-tsh") default_nic="nic_intel-x520-da2" ;; - *"3n-icx"* | *"2n-icx"*) + *"3n-icx" | *"2n-icx") default_nic="nic_intel-e810cq" ;; - *"3na-spr"*) + *"3na-spr") default_nic="nic_mellanox-cx7veat" ;; - *"3nb-spr"*) + *"3nb-spr") default_nic="nic_intel-e810cq" ;; - *"2n-spr"*) + *"2n-spr") default_nic="nic_intel-e810cq" ;; - *"2n-clx"* | *"2n-zn2"*) + *"2n-clx" | *"2n-zn2") default_nic="nic_intel-xxv710" ;; - *"2n-tx2"* | *"3n-alt"*) + *"2n-tx2" | *"3n-alt") default_nic="nic_intel-xl710" ;; - *"1n-aws"* | *"2n-aws"* | *"3n-aws"*) + *"1n-aws" | *"2n-aws" | *"3n-aws") default_nic="nic_amazon-nitro-50g" ;; - *"1n-c6gn"* | *"2n-c6gn"* | *"3n-c6gn"*) + *"2n-c6gn" | *"3n-c6gn") default_nic="nic_amazon-nitro-100g" ;; - *"1n-c6in"* | *"2n-c6in"* | *"3n-c6in"*) + *"2n-c7gn" | *"3n-c7gn") + default_nic="nic_amazon-nitro-100g" + ;; + *"1n-c6in" | *"2n-c6in" | *"3n-c6in") default_nic="nic_amazon-nitro-200g" ;; *) @@ -934,11 +957,14 @@ function select_tags () { awk_nics_sub_cmd+='gsub("cx7veat","200ge2p1cx7veat");' awk_nics_sub_cmd+='gsub("cx6dx","100ge2p1cx6dx");' awk_nics_sub_cmd+='gsub("e810cq","100ge2p1e810cq");' + awk_nics_sub_cmd+='gsub("e822cq","25ge2p1e822cq");' + awk_nics_sub_cmd+='gsub("e823c","25ge2p1e823c");' 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+='gsub("nitro-100g","100ge1p1ENA");' awk_nics_sub_cmd+='gsub("nitro-200g","200ge1p1ENA");' + awk_nics_sub_cmd+='gsub("virtual","1ge1p82540em");' 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 if ($9 =="drv_mlx5_core") drv ="mlx5-";' @@ -1022,52 +1048,57 @@ function select_tags () { # Reasons for blacklisting: # - ipsechw - Blacklisted on testbeds without crypto hardware accelerator. case "${TEST_CODE}" in - *"1n-vbox"*) + *"1n-vbox") test_tag_array+=("!avf") test_tag_array+=("!vhost") test_tag_array+=("!flow") ;; - *"1n_tx2"*) + *"1n-tx2") test_tag_array+=("!flow") ;; - *"2n-clx"*) + *"2n-clx") test_tag_array+=("!ipsechw") ;; - *"2n-icx"*) + *"2n-icx") test_tag_array+=("!ipsechw") ;; - *"2n-spr"*) + *"2n-spr") ;; - *"2n-tx2"*) + *"2n-tx2") test_tag_array+=("!ipsechw") ;; - *"2n-zn2"*) + *"2n-zn2") test_tag_array+=("!ipsechw") ;; - *"3n-alt"*) + *"3n-alt") test_tag_array+=("!ipsechw") ;; - *"3n-icx"*) + *"3n-icx") test_tag_array+=("!ipsechw") test_tag_array+=("!3_node_double_link_topoANDnic_intel-xxv710") ;; - *"3n-snr"*) + *"3n-snr") + ;; + *"3n-icxd") ;; - *"3na-spr"*) + *"3na-spr") ;; - *"3nb-spr"*) + *"3nb-spr") ;; - *"3n-tsh"*) + *"3n-tsh") test_tag_array+=("!drv_avf") test_tag_array+=("!ipsechw") ;; - *"1n-aws"* | *"2n-aws"* | *"3n-aws"*) + *"1n-aws" | *"2n-aws" | *"3n-aws") + test_tag_array+=("!ipsechw") + ;; + *"2n-c6gn" | *"3n-c6gn") test_tag_array+=("!ipsechw") ;; - *"1n-c6gn"* | *"2n-c6gn"* | *"3n-c6gn"*) + *"2n-c7gn" | *"3n-c7gn") test_tag_array+=("!ipsechw") ;; - *"1n-c6in"* | *"2n-c6in"* | *"3n-c6in"*) + *"1n-c6in" | *"2n-c6in" | *"3n-c6in") test_tag_array+=("!ipsechw") ;; esac @@ -1130,102 +1161,103 @@ function select_topology () { case_text="${NODENESS}_${FLAVOR}" case "${case_text}" in - "1n_vbox") + "1n_aws") + TOPOLOGIES=( "${TOPOLOGIES_DIR}"/*1n-aws*.yaml ) + TOPOLOGIES_TAGS="1_node_single_link_topo" + ;; + "1n_c6in") + TOPOLOGIES=( "${TOPOLOGIES_DIR}"/*1n-c6in*.yaml ) + TOPOLOGIES_TAGS="1_node_single_link_topo" + ;; + "1n_tx2" | "1n_spr") TOPOLOGIES=( "${TOPOLOGIES_DIR}"/*vpp_device*.template ) TOPOLOGIES_TAGS="2_node_single_link_topo" ;; - "1n_skx" | "1n_tx2" | "1n_spr") + "1n_vbox") TOPOLOGIES=( "${TOPOLOGIES_DIR}"/*vpp_device*.template ) TOPOLOGIES_TAGS="2_node_single_link_topo" ;; - "2n_skx") - TOPOLOGIES=( "${TOPOLOGIES_DIR}"/*2n_skx*.yaml ) - TOPOLOGIES_TAGS="2_node_*_link_topo" - ;; - "2n_zn2") - TOPOLOGIES=( "${TOPOLOGIES_DIR}"/*2n_zn2*.yaml ) - TOPOLOGIES_TAGS="2_node_*_link_topo" - ;; - "3n_skx") - TOPOLOGIES=( "${TOPOLOGIES_DIR}"/*3n_skx*.yaml ) - TOPOLOGIES_TAGS="3_node_*_link_topo" + "2n_aws") + TOPOLOGIES=( "${TOPOLOGIES_DIR}"/*2n-aws*.yaml ) + TOPOLOGIES_TAGS="2_node_single_link_topo" ;; - "3n_icx") - TOPOLOGIES=( "${TOPOLOGIES_DIR}"/*3n_icx*.yaml ) - TOPOLOGIES_TAGS="3_node_*_link_topo" + "2n_c6gn") + TOPOLOGIES=( "${TOPOLOGIES_DIR}"/*2n-c6gn*.yaml ) + TOPOLOGIES_TAGS="2_node_single_link_topo" ;; - "3na_spr") - TOPOLOGIES=( "${TOPOLOGIES_DIR}"/*3na_spr*.yaml ) - TOPOLOGIES_TAGS="3_node_*_link_topo" + "2n_c7gn") + TOPOLOGIES=( "${TOPOLOGIES_DIR}"/*2n-c7gn*.yaml ) + TOPOLOGIES_TAGS="2_node_single_link_topo" ;; - "3nb_spr") - TOPOLOGIES=( "${TOPOLOGIES_DIR}"/*3nb_spr*.yaml ) - TOPOLOGIES_TAGS="3_node_*_link_topo" + "2n_c6in") + TOPOLOGIES=( "${TOPOLOGIES_DIR}"/*2n-c6in*.yaml ) + TOPOLOGIES_TAGS="2_node_single_link_topo" ;; "2n_clx") - TOPOLOGIES=( "${TOPOLOGIES_DIR}"/*2n_clx*.yaml ) + TOPOLOGIES=( "${TOPOLOGIES_DIR}"/*2n_clx_*.yaml ) TOPOLOGIES_TAGS="2_node_*_link_topo" ;; "2n_icx") - TOPOLOGIES=( "${TOPOLOGIES_DIR}"/*2n_icx*.yaml ) + TOPOLOGIES=( "${TOPOLOGIES_DIR}"/*2n_icx_*.yaml ) TOPOLOGIES_TAGS="2_node_*_link_topo" ;; "2n_spr") - TOPOLOGIES=( "${TOPOLOGIES_DIR}"/*2n_spr*.yaml ) + TOPOLOGIES=( "${TOPOLOGIES_DIR}"/*2n_spr_*.yaml ) TOPOLOGIES_TAGS="2_node_*_link_topo" ;; - "3n_snr") - TOPOLOGIES=( "${TOPOLOGIES_DIR}"/*3n_snr*.yaml ) - TOPOLOGIES_TAGS="3_node_single_link_topo" - ;; - "3n_tsh") - TOPOLOGIES=( "${TOPOLOGIES_DIR}"/*3n_tsh*.yaml ) - TOPOLOGIES_TAGS="3_node_single_link_topo" - ;; "2n_tx2") - TOPOLOGIES=( "${TOPOLOGIES_DIR}"/*2n_tx2*.yaml ) + TOPOLOGIES=( "${TOPOLOGIES_DIR}"/*2n_tx2_*.yaml ) TOPOLOGIES_TAGS="2_node_single_link_topo" ;; + "2n_zn2") + TOPOLOGIES=( "${TOPOLOGIES_DIR}"/*2n_zn2_*.yaml ) + TOPOLOGIES_TAGS="2_node_*_link_topo" + ;; "3n_alt") - TOPOLOGIES=( "${TOPOLOGIES_DIR}"/*3n_alt*.yaml ) + TOPOLOGIES=( "${TOPOLOGIES_DIR}"/*3n_alt_*.yaml ) TOPOLOGIES_TAGS="3_node_single_link_topo" ;; - "1n_aws") - TOPOLOGIES=( "${TOPOLOGIES_DIR}"/*1n-aws*.yaml ) - TOPOLOGIES_TAGS="1_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" ;; - "1n_c6gn") - TOPOLOGIES=( "${TOPOLOGIES_DIR}"/*1n-c6gn*.yaml ) - TOPOLOGIES_TAGS="1_node_single_link_topo" - ;; - "2n_c6gn") - TOPOLOGIES=( "${TOPOLOGIES_DIR}"/*2n-c6gn*.yaml ) - TOPOLOGIES_TAGS="2_node_single_link_topo" - ;; "3n_c6gn") TOPOLOGIES=( "${TOPOLOGIES_DIR}"/*3n-c6gn*.yaml ) TOPOLOGIES_TAGS="3_node_single_link_topo" ;; - "1n_c6in") - TOPOLOGIES=( "${TOPOLOGIES_DIR}"/*1n-c6in*.yaml ) - TOPOLOGIES_TAGS="1_node_single_link_topo" - ;; - "2n_c6in") - TOPOLOGIES=( "${TOPOLOGIES_DIR}"/*2n-c6in*.yaml ) - TOPOLOGIES_TAGS="2_node_single_link_topo" + "3n_c7gn") + TOPOLOGIES=( "${TOPOLOGIES_DIR}"/*3n-c7gn*.yaml ) + TOPOLOGIES_TAGS="3_node_single_link_topo" ;; "3n_c6in") TOPOLOGIES=( "${TOPOLOGIES_DIR}"/*3n-c6in*.yaml ) TOPOLOGIES_TAGS="3_node_single_link_topo" ;; + "3n_icx") + TOPOLOGIES=( "${TOPOLOGIES_DIR}"/*3n_icx_*.yaml ) + # Trailing underscore is needed to distinguish from 3n_icxd. + TOPOLOGIES_TAGS="3_node_*_link_topo" + ;; + "3n_icxd") + TOPOLOGIES=( "${TOPOLOGIES_DIR}"/*3n_icxd_*.yaml ) + TOPOLOGIES_TAGS="3_node_single_link_topo" + ;; + "3n_snr") + TOPOLOGIES=( "${TOPOLOGIES_DIR}"/*3n_snr_*.yaml ) + TOPOLOGIES_TAGS="3_node_single_link_topo" + ;; + "3n_tsh") + TOPOLOGIES=( "${TOPOLOGIES_DIR}"/*3n_tsh_*.yaml ) + TOPOLOGIES_TAGS="3_node_single_link_topo" + ;; + "3na_spr") + TOPOLOGIES=( "${TOPOLOGIES_DIR}"/*3na_spr_*.yaml ) + TOPOLOGIES_TAGS="3_node_*_link_topo" + ;; + "3nb_spr") + TOPOLOGIES=( "${TOPOLOGIES_DIR}"/*3nb_spr_*.yaml ) + TOPOLOGIES_TAGS="3_node_*_link_topo" + ;; *) # No falling back to default, that should have been done # by the function which has set NODENESS and FLAVOR. @@ -1251,28 +1283,35 @@ function set_environment_variables () { set -exuo pipefail case "${TEST_CODE}" in - *"1n-aws"* | *"2n-aws"* | *"3n-aws"*) + *"1n-aws" | *"2n-aws" | *"3n-aws") + export TREX_RX_DESCRIPTORS_COUNT=1024 + export TREX_EXTRA_CMDLINE="--mbuf-factor 19" + export TREX_CORE_COUNT=6 + # Settings to prevent duration stretching. + export PERF_TRIAL_STL_DELAY=0.1 + ;; + *"2n-c6gn" | *"3n-c6gn") export TREX_RX_DESCRIPTORS_COUNT=1024 export TREX_EXTRA_CMDLINE="--mbuf-factor 19" export TREX_CORE_COUNT=6 # Settings to prevent duration stretching. export PERF_TRIAL_STL_DELAY=0.1 ;; - *"1n-c6gn"* | *"2n-c6gn"* | *"3n-c6gn"*) + *"2n-c7gn" | *"3n-c7gn") export TREX_RX_DESCRIPTORS_COUNT=1024 export TREX_EXTRA_CMDLINE="--mbuf-factor 19" export TREX_CORE_COUNT=6 # Settings to prevent duration stretching. export PERF_TRIAL_STL_DELAY=0.1 ;; - *"1n-c6in"* | *"2n-c6in"* | *"3n-c6in"*) + *"1n-c6in" | *"2n-c6in" | *"3n-c6in") export TREX_RX_DESCRIPTORS_COUNT=1024 export TREX_EXTRA_CMDLINE="--mbuf-factor 19" export TREX_CORE_COUNT=6 # Settings to prevent duration stretching. export PERF_TRIAL_STL_DELAY=0.1 ;; - *"2n-zn2"*) + *"2n-zn2") # Maciek's workaround for Zen2 with lower amount of cores. export TREX_CORE_COUNT=14 esac @@ -1315,15 +1354,19 @@ function untrap_and_unreserve_testbed () { die "${1:-FAILED TO UNRESERVE, FIX MANUALLY.}" 2 } case "${TEST_CODE}" in - *"1n-aws"* | *"2n-aws"* | *"3n-aws"*) + *"1n-aws" | *"2n-aws" | *"3n-aws") TERRAFORM_MODULE_DIR="terraform-aws-${NODENESS}-${FLAVOR}-c5n" terraform_destroy || die "Failed to call terraform destroy." ;; - *"1n-c6gn"* | *"2n-c6gn"* | *"3n-c6gn"*) + *"2n-c6gn" | *"3n-c6gn") + TERRAFORM_MODULE_DIR="terraform-aws-${NODENESS}-${FLAVOR}" + terraform_destroy || die "Failed to call terraform destroy." + ;; + *"2n-c7gn" | *"3n-c7gn") TERRAFORM_MODULE_DIR="terraform-aws-${NODENESS}-${FLAVOR}" terraform_destroy || die "Failed to call terraform destroy." ;; - *"1n-c6in"* | *"2n-c6in"* | *"3n-c6in"*) + *"1n-c6in" | *"2n-c6in" | *"3n-c6in") TERRAFORM_MODULE_DIR="terraform-aws-${NODENESS}-${FLAVOR}" terraform_destroy || die "Failed to call terraform destroy." ;;