Merge v8.0 into master
[osm/tests.git] / robot-systest / run_test.sh
index 7e96d92..a279ff0 100755 (executable)
@@ -33,24 +33,40 @@ download_packages(){
 }
 
 create_vim(){
-    echo -e "\nCreating VIM ${VIM_TARGET}"
-    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"
-    i=0
-    while [[ ${STATUS} != "ENABLED" ]]
-    do
-        ((i++))
-        if [[ $i -eq 5 ]]; then
-            echo "VIM stuck in PROCESSING after 100 seconds"
-            exit 1
+
+    attempts=3
+    while [ $attempts -ge 0 ] ; do
+        echo -e "\n$( date '+%F_%H:%M:%S' ) Creating VIM ${VIM_TARGET}"
+        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"
+        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}
+                sleep 5
+                break
+            fi
+            sleep 10
+            STATUS=`osm vim-list --long | grep ${VIM_TARGET} | awk '{print $9}'`
+        done
+        if [[ ${STATUS} = "ENABLED" ]] ; then
+            break
         fi
-        sleep 20
-        STATUS=`osm vim-list --long | grep ${VIM_TARGET} | awk '{print $9}'`
+        ((attempts--))
     done
+
+    if [ $attempts -lt 0 ] ; then
+        echo "VIM failed to enter ENABLED state"
+        exit 1
+    fi
 }
 
+
 PARAMS=""
 
 while (( "$#" )); do