Retry vim-create 01/9401/1
authorbeierlm <mark.beierl@canonical.com>
Mon, 13 Jul 2020 18:25:56 +0000 (14:25 -0400)
committerbeierlm <mark.beierl@canonical.com>
Mon, 13 Jul 2020 18:26:02 +0000 (14:26 -0400)
Sometimes it appears that the vim-create command gets issued
before LCM is properly ready, so as a workaround, this tries
a number of times to create the VIM before giving up.

Change-Id: Ie2189472731edd7dc66b2e32f466447237fe8aae
Signed-off-by: beierlm <mark.beierl@canonical.com>
robot-systest/run_test.sh

index 7e96d92..e8a02db 100755 (executable)
@@ -33,24 +33,37 @@ 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
-        fi
-        sleep 20
-        STATUS=`osm vim-list --long | grep ${VIM_TARGET} | awk '{print $9}'`
+
+    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
+        ((attempts--))
     done
+
+    if [ $attempts -lt 0 ] ; then
+        echo "VIM failed to enter ENABLED state"
+        exit 1
+    fi
 }
 
+
 PARAMS=""
 
 while (( "$#" )); do