Add SDNC and port-mapping when creating VIM in run_test.sh
[osm/tests.git] / robot-systest / run_test.sh
index 33268e6..ef5458b 100755 (executable)
@@ -46,13 +46,13 @@ 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 ${STATUS} after 50 seconds"
+                echo "VIM stuck for more than 50 seconds as: ${VIM_LIST}"
                 osm vim-delete --force ${VIM_TARGET}
                 sleep 5
                 break
@@ -60,18 +60,60 @@ create_vim(){
             sleep 10
             VIM_LIST=`osm vim-list --long | grep ${VIM_TARGET}`
             echo VIM status: ${VIM_LIST}
-            STATUS=`echo ${VIM_LIST} | awk '{print $9}'`
+            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
     fi
+    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
+        STATUS=""
+        while [ ${COUNTER} -lt 5 ] ; do
+            echo "Checking status of SDNC sdnc-osm to see if it is enabled"
+            STATUS=$(osm sdnc-show sdnc-osm |grep -io ENABLED)
+            if [ "${STATUS}" == "ENABLED" ]; then
+                break
+            fi
+            ((COUNTER++))
+            sleep 10
+        done
+        if [ "${STATUS}" == "ENABLED" ]; then
+            echo "SDNC enabled"
+        else
+            echo "SDNC failed to enter ENABLED state"
+            osm sdnc-show sdnc-osm
+            exit 1
+        fi
+        if [ -f /root/port-mapping.yaml ]; then
+            osm vim-update ${VIM_TARGET} --sdn_controller sdnc-osm --sdn_port_mapping /root/port-mapping.yaml
+            COUNTER2=0
+            RESULT=""
+            while [ ${COUNTER2} -lt 5 ] ; do
+                echo "Checking status of VIM $VIM_TARGET to see if there is port-mapping"
+                osm vim-show $VIM_TARGET |grep sdn-port-mapping
+                if [ $? -eq 0 ]; then
+                    RESULT="OK"
+                    break
+                fi
+                ((COUNTER2++))
+                sleep 10
+            done
+            if [ "${RESULT}" == "OK" ]; then
+                echo "Port-mapping correctly added"
+            else
+                echo "Port-mapping failed to be added"
+                osm vim-show ${VIM_TARGET}
+                exit 1
+            fi
+        fi
+    fi
 }