feat(pip): Upgrade
[csit.git] / resources / libraries / bash / function / common.sh
index ada2c22..b194c31 100644 (file)
@@ -118,7 +118,7 @@ function activate_virtualenv () {
     env_dir="${root_path}/env"
     req_path=${2-$CSIT_DIR/requirements.txt}
     rm -rf "${env_dir}" || die "Failed to clean previous virtualenv."
-    pip3 install virtualenv==20.0.20 || {
+    pip3 install virtualenv==20.15.1 || {
         die "Virtualenv package install failed."
     }
     virtualenv --no-download --python=$(which python3) "${env_dir}" || {
@@ -148,7 +148,7 @@ function archive_tests () {
     set -exuo pipefail
 
     pushd "${ARCHIVE_DIR}" || die
-    tar czvf "generated_tests.tar.gz" "${GENERATED_DIR}/tests" || true
+    tar czf "generated_tests.tar.gz" "${GENERATED_DIR}/tests" || true
     popd || die
 }
 
@@ -439,10 +439,14 @@ function get_test_code () {
             NODENESS="1n"
             FLAVOR="skx"
             ;;
-       *"1n-tx2"*)
+        *"1n-tx2"*)
             NODENESS="1n"
             FLAVOR="tx2"
             ;;
+        *"1n-aws"*)
+            NODENESS="1n"
+            FLAVOR="aws"
+            ;;
         *"2n-aws"*)
             NODENESS="2n"
             FLAVOR="aws"
@@ -455,18 +459,26 @@ function get_test_code () {
             NODENESS="2n"
             FLAVOR="skx"
             ;;
-        *"2n-zn2"*)
-            NODENESS="2n"
-            FLAVOR="zn2"
-            ;;
         *"3n-skx"*)
             NODENESS="3n"
             FLAVOR="skx"
             ;;
+        *"2n-zn2"*)
+            NODENESS="2n"
+            FLAVOR="zn2"
+            ;;
         *"2n-clx"*)
             NODENESS="2n"
             FLAVOR="clx"
             ;;
+        *"2n-icx"*)
+            NODENESS="2n"
+            FLAVOR="icx"
+            ;;
+        *"3n-icx"*)
+            NODENESS="3n"
+            FLAVOR="icx"
+            ;;
         *"2n-dnv"*)
             NODENESS="2n"
             FLAVOR="dnv"
@@ -475,6 +487,10 @@ function get_test_code () {
             NODENESS="3n"
             FLAVOR="dnv"
             ;;
+        *"3n-snr"*)
+            NODENESS="3n"
+            FLAVOR="snr"
+            ;;
         *"2n-tx2"*)
             NODENESS="2n"
             FLAVOR="tx2"
@@ -483,6 +499,10 @@ function get_test_code () {
             NODENESS="3n"
             FLAVOR="tsh"
             ;;
+        *"3n-alt"*)
+            NODENESS="3n"
+            FLAVOR="alt"
+            ;;
     esac
 }
 
@@ -619,7 +639,7 @@ function post_process_robot_outputs () {
         # We are keeping info outputs where they are.
         # Assuming we want to move anything but info files (and dirs).
         options+=("--exclude=*.info.json")
-        tar czvf "tests_output_raw.tar.gz" "${options[@]}" "tests" || true
+        tar czf "generated_output_raw.tar.gz" "${options[@]}" "tests" || true
         # Tar can remove when archiving, but chokes (not deterministically)
         # on attempting to remove dirs (not empty as info files are there).
         # So we need to delete the raw files manually.
@@ -654,12 +674,7 @@ function prepare_topology () {
 
     case_text="${NODENESS}_${FLAVOR}"
     case "${case_text}" in
-        "2n_aws")
-            export TF_VAR_testbed_name="${TEST_CODE}"
-            terraform_init || die "Failed to call terraform init."
-            terraform_apply || die "Failed to call terraform apply."
-            ;;
-        "3n_aws")
+        "1n_aws" | "2n_aws" | "3n_aws")
             export TF_VAR_testbed_name="${TEST_CODE}"
             terraform_init || die "Failed to call terraform init."
             terraform_apply || die "Failed to call terraform apply."
@@ -764,7 +779,6 @@ function run_pybot () {
     set -exuo pipefail
 
     all_options=("--outputdir" "${ARCHIVE_DIR}" "${PYBOT_ARGS[@]}")
-    all_options+=("--noncritical" "EXPECTED_FAILING")
     all_options+=("${EXPANDED_TAGS[@]}")
 
     pushd "${CSIT_DIR}" || die "Change directory operation failed."
@@ -841,17 +855,24 @@ function select_tags () {
     set -exuo pipefail
 
     # NIC SELECTION
-    start_pattern='^  TG:'
+    case "${TEST_CODE}" in
+        *"1n-aws"*)
+            start_pattern='^  SUT:'
+            ;;
+        *)
+            start_pattern='^  TG:'
+            ;;
+    esac
     end_pattern='^ \? \?[A-Za-z0-9]\+:'
-    # Remove the TG section from topology file
+    # Remove the sections from topology file
     sed_command="/${start_pattern}/,/${end_pattern}/d"
-    # All topologies DUT NICs
+    # All topologies NICs
     available=$(sed "${sed_command}" "${TOPOLOGIES_DIR}"/* \
                 | grep -hoP "model: \K.*" | sort -u)
-    # Selected topology DUT NICs
+    # Selected topology NICs
     reserved=$(sed "${sed_command}" "${WORKING_TOPOLOGY}" \
                | grep -hoP "model: \K.*" | sort -u)
-    # All topologies DUT NICs - Selected topology DUT NICs
+    # All topologies NICs - Selected topology NICs
     exclude_nics=($(comm -13 <(echo "${reserved}") <(echo "${available}"))) || {
         die "Computation of excluded NICs failed."
     }
@@ -861,16 +882,22 @@ function select_tags () {
         *"3n-dnv"* | *"2n-dnv"*)
             default_nic="nic_intel-x553"
             ;;
+        *"3n-snr"*)
+            default_nic="nic_intel-e810xxv"
+            ;;
         *"3n-tsh"*)
             default_nic="nic_intel-x520-da2"
             ;;
+        *"3n-icx"* | *"2n-icx"*)
+            default_nic="nic_intel-xxv710"
+            ;;
         *"3n-skx"* | *"2n-skx"* | *"2n-clx"* | *"2n-zn2"*)
             default_nic="nic_intel-xxv710"
             ;;
-        *"2n-tx2"* | *"mrr-daily-master")
+        *"2n-tx2"* | *"3n-alt"* | *"mrr-daily-master")
             default_nic="nic_intel-xl710"
             ;;
-        *"2n-aws"* | *"3n-aws"*)
+        *"1n-aws"* | *"2n-aws"* | *"3n-aws"*)
             default_nic="nic_amazon-nitro-50g"
             ;;
         *)
@@ -985,6 +1012,14 @@ function select_tags () {
         *"2n-clx"*)
             test_tag_array+=("!ipsechw")
             ;;
+        *"2n-icx"*)
+            test_tag_array+=("!ipsechw")
+            ;;
+        *"3n-icx"*)
+            test_tag_array+=("!ipsechw")
+            # Not enough nic_intel-xxv710 to support double link tests.
+            test_tag_array+=("!3_node_double_link_topoANDnic_intel-xxv710")
+            ;;
         *"2n-zn2"*)
             test_tag_array+=("!ipsechw")
             ;;
@@ -995,7 +1030,7 @@ function select_tags () {
             test_tag_array+=("!vts")
             test_tag_array+=("!drv_avf")
             ;;
-        *"2n-tx2"*)
+        *"2n-tx2"* | *"3n-alt"*)
             test_tag_array+=("!ipsechw")
             ;;
         *"3n-dnv"*)
@@ -1005,12 +1040,14 @@ function select_tags () {
             test_tag_array+=("!vts")
             test_tag_array+=("!drv_avf")
             ;;
+        *"3n-snr"*)
+            ;;
         *"3n-tsh"*)
             # 3n-tsh only has x520 NICs which don't work with AVF
             test_tag_array+=("!drv_avf")
             test_tag_array+=("!ipsechw")
             ;;
-        *"2n-aws"* | *"3n-aws"*)
+        *"1n-aws"* | *"2n-aws"* | *"3n-aws"*)
             test_tag_array+=("!ipsechw")
             ;;
     esac
@@ -1097,10 +1134,18 @@ function select_topology () {
             TOPOLOGIES=( "${TOPOLOGIES_DIR}"/*3n_skx*.yaml )
             TOPOLOGIES_TAGS="3_node_*_link_topo"
             ;;
+        "3n_icx")
+            TOPOLOGIES=( "${TOPOLOGIES_DIR}"/*3n_icx*.yaml )
+            TOPOLOGIES_TAGS="3_node_*_link_topo"
+            ;;
         "2n_clx")
             TOPOLOGIES=( "${TOPOLOGIES_DIR}"/*2n_clx*.yaml )
             TOPOLOGIES_TAGS="2_node_*_link_topo"
             ;;
+        "2n_icx")
+            TOPOLOGIES=( "${TOPOLOGIES_DIR}"/*2n_icx*.yaml )
+            TOPOLOGIES_TAGS="2_node_*_link_topo"
+            ;;
         "2n_dnv")
             TOPOLOGIES=( "${TOPOLOGIES_DIR}"/*2n_dnv*.yaml )
             TOPOLOGIES_TAGS="2_node_single_link_topo"
@@ -1117,12 +1162,20 @@ function select_topology () {
             TOPOLOGIES=( "${TOPOLOGIES_DIR}"/*2n_tx2*.yaml )
             TOPOLOGIES_TAGS="2_node_single_link_topo"
             ;;
+        "3n_alt")
+            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=( "${TOPOLOGIES_DIR}"/*2n-aws*.yaml )
             TOPOLOGIES_TAGS="2_node_single_link_topo"
             ;;
         "3n_aws")
-            TOPOLOGIES=( "${TOPOLOGIES_DIR}"/*3n_aws*.yaml )
+            TOPOLOGIES=( "${TOPOLOGIES_DIR}"/*3n-aws*.yaml )
             TOPOLOGIES_TAGS="3_node_single_link_topo"
             ;;
         *)
@@ -1150,14 +1203,17 @@ function set_environment_variables () {
     set -exuo pipefail
 
     case "${TEST_CODE}" in
-        *"2n-aws"* | *"3n-aws"*)
-            # T-Rex 2.88 workaround for ENA NICs
+        *"1n-aws"* | *"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"
             export TREX_CORE_COUNT=6
-            # Settings to prevent duration stretching
+            # Settings to prevent duration stretching.
             export PERF_TRIAL_STL_DELAY=0.1
             ;;
+        *"2n-zn2"*)
+            # Maciek's workaround for Zen2 with lower amount of cores.
+            export TREX_CORE_COUNT=14
     esac
 }
 
@@ -1197,7 +1253,7 @@ function untrap_and_unreserve_testbed () {
             die "${1:-FAILED TO UNRESERVE, FIX MANUALLY.}" 2
         }
         case "${TEST_CODE}" in
-            *"2n-aws"* | *"3n-aws"*)
+            *"1n-aws"* | *"2n-aws"* | *"3n-aws"*)
                 terraform_destroy || die "Failed to call terraform destroy."
                 ;;
             *)