Bug 2327 fix to verify ipaddress in sol003_02 testsuite
[osm/tests.git] / robot-systest / run_test.sh
index 75cd0d4..11c3e45 100755 (executable)
@@ -34,11 +34,45 @@ download_packages(){
 download_tst010(){
     # Fetch conformance tests
     git clone --single-branch --branch ${NFV_TESTS_BRANCH} https://forge.etsi.org/rep/nfv/api-tests.git /robot-systest/conformance-tests/repo
-    python3 -m pip install -r /robot-systest/conformance-tests/repo/requirements.txt
+    #python3 -m pip install -r /robot-systest/conformance-tests/repo/requirements.txt
+    python3 -m pip install -r /robot-systest/conformance-tests/requirements.txt
 }
 
-create_vim(){
 
+create_k8scluster(){
+    attempts=3
+    while [ $attempts -ge 0 ] ; do
+        echo -e "\n$( date '+%F_%H:%M:%S' ) Creating K8s Cluster"
+
+        osm k8scluster-add --creds ${K8S_CREDENTIALS} --version "v1" --vim ${VIM_TARGET} --k8s-nets "{\"net1\": \"${VIM_MGMT_NET}\"}" ${VIM_TARGET} --description "Robot cluster" --skip-jujubundle
+
+        STATUS=""
+        i=0
+        while [[ ${STATUS} != "ENABLED" ]]
+        do
+            ((i++))
+            if [[ $i -eq 5 ]]; then
+                echo "K8s cluster stuck for more than 50 seconds:"
+                osm k8scluster-show ${VIM_TARGET}
+                osm k8scluster-delete ${VIM_TARGET}
+                sleep 5
+                break
+            fi
+            sleep 10
+            STATUS=`osm k8scluster-list | grep ${VIM_TARGET} | awk '{print $8}'`
+        done
+        if [[ ${STATUS} = "ENABLED" ]] ; then
+            break
+        fi
+        ((attempts--))
+    done
+    if [ $attempts -lt 0 ] ; then
+        echo "K8s cluster failed to enter ENABLED state"
+        exit 1
+    fi
+}
+
+create_vim(){
     attempts=3
     while [ $attempts -ge 0 ] ; do
         echo -e "\n$( date '+%F_%H:%M:%S' ) Creating VIM ${VIM_TARGET}"
@@ -70,6 +104,10 @@ create_vim(){
         echo "VIM failed to enter ENABLED state"
         exit 1
     fi
+}
+
+
+create_sdnc(){
     if [ -n "${SDNC_URL}" ]; then
         osm sdnc-create --name sdnc-osm --type ${SDNC_TYPE} --user ${SDNC_USER} --password ${SDNC_PASSWORD} --url ${SDNC_URL}
         COUNTER=0
@@ -113,6 +151,7 @@ create_vim(){
             fi
         fi
     fi
+
 }
 
 
@@ -135,6 +174,8 @@ while (( "$#" )); do
             ;;
         -c|--createvim)
             create_vim
+            # create_sdnc
+            create_k8scluster
             shift 1
             ;;
         -T)
@@ -150,7 +191,6 @@ Usage:
             -v <path_to_reports>:/reports osmtests \\
             -v <path_to_clouds.yaml>:/robot-systest/clouds.yaml \\
             -v <path_to_kubeconfig>:/root/.kube/config \\
-            -v <path_to_jujudata>:/root/.local/share/juju \\
             -o <osmclient_version> \\
             -p <package_branch> \\
             -t <testing_tags>
@@ -161,13 +201,12 @@ Options:
         -p <package_branch> [OPTIONAL]: OSM packages repository branch. Default: master
         -t <testing_tags> [OPTIONAL]: Robot tests tags. [sanity, daily, regression, particular_test]. Default: sanity
         -T <testing_branch> [OPTIONAL]: Run SOL005 Robot conformance tests
-        -c To create a VIM for the tests
+        -c To create a VIM and K8s cluster for the tests
 
 Volumes:
         <path_to_reports> [OPTIONAL]: It is the absolute path to reports location in the host
         <path_to_clouds.yaml> [OPTIONAL]: It is the absolute path to the clouds.yaml file in the host
-        <path_to_kubeconfig> [OPTIONAL]: It is the kubeconfig file to be used for k8s clusters
-        <path_to_jujudata> [OPTIONAL]: It is the jujudata file to be used for juju cli"
+        <path_to_kubeconfig> [OPTIONAL]: It is the kubeconfig file to be used for k8s clusters"
 
             exit 0
             ;;
@@ -194,17 +233,10 @@ if [ "$RUN_CONFORMANCE_TESTS" = true ] ; then
     python3 ${ROBOT_DEVOPS_FOLDER}/conformance-tests/run_conformance_tests.py
 fi
 
-if [[ -z "${TEST}" ]]; then
-    printf "Test not provided. \nRunning default test: sanity\n"
-    TEST="sanity"
-fi
-
 if [[ -n "${TEST}" ]]; then
-    robot -d ${ROBOT_DEVOPS_FOLDER}/reports -i ${TEST} ${ROBOT_DEVOPS_FOLDER}/testsuite/
-    exit 0
+    robot -d ${ROBOT_DEVOPS_FOLDER}/reports --tagstatinclude "cluster_*" -i ${TEST} ${ROBOT_DEVOPS_FOLDER}/testsuite/
 else
-    echo "Wrong test provided"
-    exit 1
+    echo "No test was provided. Exiting..."
 fi
 
-exit 1
+exit 0