Store "tag" and "url" in files in reservation dir
[csit.git] / resources / libraries / bash / function / common.sh
index 6d078e5..5deab8a 100644 (file)
@@ -445,6 +445,14 @@ function get_test_code () {
             NODENESS="3n"
             FLAVOR="skx"
             ;;
+        *"2n-dnv"*)
+            NODENESS="2n"
+            FLAVOR="dnv"
+            ;;
+        *"3n-dnv"*)
+            NODENESS="3n"
+            FLAVOR="dnv"
+            ;;
         *"3n-tsh"*)
             NODENESS="3n"
             FLAVOR="tsh"
@@ -491,6 +499,7 @@ function get_test_tag_string () {
                 comment="${comment/perftest-3n/perftest}"
                 comment="${comment/perftest-hsw/perftest}"
                 comment="${comment/perftest-skx/perftest}"
+                comment="${comment/perftest-dnv/perftest}"
                 comment="${comment/perftest-tsh/perftest}"
                 tag_string="$(echo "${comment}" \
                     | grep -oE '(perftest$|perftest[[:space:]].+$)' || true)"
@@ -515,6 +524,10 @@ function reserve_and_cleanup_testbed () {
     # Variables read:
     # - TOPOLOGIES - Array of paths to topology yaml to attempt reservation on.
     # - PYTHON_SCRIPTS_DIR - Path to directory holding the reservation script.
+    # - BUILD_TAG - Any string suitable as filename, identifying
+    #   test run executing this function. May be unset.
+    # - BUILD_URL - Any string suitable as URL, identifying
+    #   test run executing this function. May be unset.
     # Variables set:
     # - TOPOLOGIES - Array of paths to topologies, with failed cleanups removed.
     # - WORKING_TOPOLOGY - Path to topology yaml file of the reserved testbed.
@@ -526,7 +539,10 @@ function reserve_and_cleanup_testbed () {
     while [[ ${TOPOLOGIES[@]} ]]; do
         for topo in "${TOPOLOGIES[@]}"; do
             set +e
-            python "${PYTHON_SCRIPTS_DIR}/topo_reservation.py" -t "${topo}"
+            scrpt="${PYTHON_SCRIPTS_DIR}/topo_reservation.py"
+            opts=("-t" "${topo}" "-r" "${BUILD_TAG:-Unknown}")
+            opts+=("-u" "${BUILD_URL:-Unknown}")
+            python "${scrpt}" "${opts[@]}"
             result="$?"
             set -e
             if [[ "${result}" == "0" ]]; then
@@ -580,7 +596,11 @@ function reserve_and_cleanup_testbed () {
         echo "Sleeping ${sleep_time}"
         sleep "${sleep_time}" || die "Sleep failed."
     done
-    die "Run out of operational testbeds!"
+    if [[ ${TOPOLOGIES[@]} ]]; then
+        echo "Reservation and cleanup successful."
+    else
+        die "Run out of operational testbeds!"
+    fi
 }
 
 
@@ -648,6 +668,9 @@ function select_tags () {
 
     # Select default NIC
     case "${TEST_CODE}" in
+        *"3n-dnv"* | *"2n-dnv"*)
+            DEFAULT_NIC='nic_intel-x553'
+            ;;
         *"3n-tsh"*)
             DEFAULT_NIC='nic_intel-x520-da2'
             ;;
@@ -693,6 +716,19 @@ function select_tags () {
             # Not enough nic_intel-xxv710 to support double link tests.
             test_tag_array+=("!3_node_double_link_topoANDnic_intel-xxv710")
             ;;
+        *"2n-dnv"*)
+            test_tag_array+=("!ipsechw")
+            test_tag_array+=("!memif")
+            test_tag_array+=("!srv6_proxy")
+            test_tag_array+=("!vhost")
+            test_tag_array+=("!vts")
+            ;;
+        *"3n-dnv"*)
+            test_tag_array+=("!memif")
+            test_tag_array+=("!srv6_proxy")
+            test_tag_array+=("!vhost")
+            test_tag_array+=("!vts")
+            ;;
         *"3n-tsh"*)
             test_tag_array+=("!ipsechw")
             test_tag_array+=("!memif")
@@ -860,6 +896,14 @@ function select_topology () {
             TOPOLOGIES=( "${TOPOLOGIES_DIR}"/*3n_skx*.yaml )
             TOPOLOGIES_TAGS="3_node_*_link_topo"
             ;;
+        "2n_dnv")
+            TOPOLOGIES=( "${TOPOLOGIES_DIR}"/*2n_dnv*.yaml )
+            TOPOLOGIES_TAGS="2_node_single_link_topo"
+            ;;
+        "3n_dnv")
+            TOPOLOGIES=( "${TOPOLOGIES_DIR}"/*3n_dnv*.yaml )
+            TOPOLOGIES_TAGS="3_node_single_link_topo"
+            ;;
         "3n_hsw")
             TOPOLOGIES=( "${TOPOLOGIES_DIR}"/*3n_hsw*.yaml )
             TOPOLOGIES_TAGS="3_node_single_link_topo"