ns_lib: update scaling timeout with the env modifier OSM_VIM_MULTIPLIER_TIMEOUT
[osm/tests.git] / robot-systest / run_test.sh
index a279ff0..46eaee5 100755 (executable)
@@ -28,8 +28,13 @@ install_osmclient(){
 download_packages(){
     echo -e "\nDownloading packages ${PACKAGES}"
     rm -rf ${PACKAGES_FOLDER}
-    git clone https://osm.etsi.org/gitlab/vnf-onboarding/osm-packages.git ${PACKAGES_FOLDER} && (cd ${PACKAGES_FOLDER} && \
-        git checkout ${PACKAGES})
+    git clone https://osm.etsi.org/gitlab/vnf-onboarding/osm-packages.git ${PACKAGES_FOLDER}
+}
+
+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
 }
 
 create_vim(){
@@ -40,26 +45,27 @@ create_vim(){
         osm vim-create --name ${VIM_TARGET} --user ${OS_USERNAME} --password ${OS_PASSWORD} --tenant ${OS_PROJECT_NAME} \
                        --auth_url ${OS_AUTH_URL} --account_type openstack --description vim \
                        --config "{management_network_name: ${VIM_MGMT_NET}, dataplane_physical_net: ${DATAPLANE:-physnet2}}" || true
-        STATUS="PROCESSING"
+        STATUS=""
         i=0
         while [[ ${STATUS} != "ENABLED" ]]
         do
             ((i++))
             if [[ $i -eq 5 ]]; then
-                echo "VIM stuck in PROCESSING after 50 seconds"
-                osm vim-delete ${VIM_TARGET}
+                echo "VIM stuck for more than 50 seconds as: ${VIM_LIST}"
+                osm vim-delete --force ${VIM_TARGET}
                 sleep 5
                 break
             fi
             sleep 10
-            STATUS=`osm vim-list --long | grep ${VIM_TARGET} | awk '{print $9}'`
+            VIM_LIST=`osm vim-list --long | grep ${VIM_TARGET}`
+            echo VIM status: ${VIM_LIST}
+            STATUS=`echo ${VIM_LIST} | grep -io ENABLED`
         done
         if [[ ${STATUS} = "ENABLED" ]] ; then
             break
         fi
         ((attempts--))
     done
-
     if [ $attempts -lt 0 ] ; then
         echo "VIM failed to enter ENABLED state"
         exit 1
@@ -68,6 +74,7 @@ create_vim(){
 
 
 PARAMS=""
+RUN_CONFORMANCE_TESTS=false
 
 while (( "$#" )); do
     case "$1" in
@@ -87,6 +94,11 @@ while (( "$#" )); do
             create_vim
             shift 1
             ;;
+        -T)
+            NFV_TESTS_BRANCH=$2 && download_tst010
+            RUN_CONFORMANCE_TESTS=true
+            shift 1
+            ;;
         -h|--help)
             echo "OSM TESTS TOOL
 
@@ -103,7 +115,8 @@ Options:
         --env-file: It is the environmental file where is described the OSM target and VIM
         -o <osmclient_version> [OPTIONAL]: It is used to specify a particular osmclient version. Default: latest
         -p <package_branch> [OPTIONAL]: OSM packages repository branch. Default: master
-        -t <testing_tags> [OPTIONAL]: Robot tests tags. [sanity, regression, particular_test]. Default: sanity
+        -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
 
 Volumes:
@@ -131,6 +144,11 @@ if [[ -n "$BRANCH_NAME" ]]; then
     OSMCLIENT=$BRANCH_NAME && install_osmclient
 fi
 
+
+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"