Harden check for running ovs in sfc full deploy 09/68009/3
authorJaime Caamaño Ruiz <jcaamano@suse.com>
Wed, 7 Feb 2018 10:58:40 +0000 (11:58 +0100)
committerJamo Luhrsen <jluhrsen@redhat.com>
Wed, 7 Feb 2018 16:37:07 +0000 (16:37 +0000)
Change-Id: I195d527ff6f101208dbf21b2a3b089ab56194abb
Signed-off-by: Jaime Caamaño Ruiz <jcaamano@suse.com>
csit/suites/sfc/Full_Deploy/docker-ovs.sh

index 263d0c35a546c3adf3653c1773da45d8985bae0f..50ab7dd80674c26d596173e255eabbe5fbee177d 100755 (executable)
@@ -133,6 +133,22 @@ connect_namespace_to_container () {
     delete_netns_link
 }
 
+check_status () {
+    CHECKED_CONTAINER="$1"
+    CHECKED_PROGRAM="$2"
+    CHECKED_STATUS="$3"
+
+    STATUS=""
+    retry=0
+    while [ "$STATUS" != "$CHECKED_STATUS" -a $retry -le 60 ]; do
+       sleep 1
+       STATUS=`sudo docker exec "$CHECKED_CONTAINER" supervisorctl status "$CHECKED_PROGRAM" |\
+          awk '{print $2}'`
+       retry=$[$retry+1]
+    done
+    [ "$STATUS" == "$CHECKED_STATUS" ] || exit 1
+}
+
 spawn_node () {
     NODE="$1"
     TUN="$2"
@@ -149,11 +165,10 @@ spawn_node () {
        exit 1
     fi
 
-    STATUS=""
-    while [ "$STATUS" != "EXITED" ]; do
-       STATUS=`sudo docker exec "$CONTAINER" supervisorctl status configure-ovs |\
-          awk '{print $2}'`
-    done
+    check_status "$CONTAINER" ovsdb-server RUNNING
+    check_status "$CONTAINER" ovs-vswitchd RUNNING
+    check_status "$CONTAINER" configure-ovs EXITED
+
     CONTAINER_GW=`sudo docker inspect -f '{{ .NetworkSettings.Gateway }}' "$CONTAINER"`
     CONTAINER_IP=`sudo docker inspect -f '{{ .NetworkSettings.IPAddress }}' "$CONTAINER"`