ovs-vsctl: Remove default timeout.
[sliver-openvswitch.git] / xenserver / etc_init.d_openvswitch
index 19d825b..68079fc 100755 (executable)
@@ -293,10 +293,11 @@ EOF
 function set_system_ids {
     if [ -f /etc/xensource-inventory ]; then
         action "Configuring Open vSwitch system IDs" true
-        $vsctl --no-wait set Open_vSwitch . \
+        $vsctl --no-wait --timeout=5 set Open_vSwitch . \
             external-ids:system-type="$PRODUCT_BRAND" \
             external-ids:system-version="$PRODUCT_VERSION-$BUILD_NUMBER" \
-            external-ids:system-uuid="$INSTALLATION_UUID"
+            external-ids:system-id="$INSTALLATION_UUID" \
+            external-ids:xs-system-uuid="$INSTALLATION_UUID"
     else
         action "Configuring Open vSwitch system IDs" false
     fi
@@ -328,11 +329,11 @@ function start {
     fi
 
     start_ovsdb_server
-    $vsctl --no-wait init
+    $vsctl --no-wait --timeout=5 init
     if [ ! -e /var/run/openvswitch.booted ]; then
         touch /var/run/openvswitch.booted
         for bridge in $($vsctl list-br); do
-            $vsctl --no-wait del-br $bridge
+            $vsctl --no-wait --timeout=5 del-br $bridge
         done
     fi
 
@@ -342,6 +343,12 @@ function start {
     if [ "${ENABLE_BRCOMPAT}" = "y" ] ; then
         start_brcompatd
     fi
+
+    # Start daemon to monitor external ids
+    PYTHONPATH=/usr/share/openvswitch/python \
+               /usr/share/openvswitch/scripts/monitor-external-ids \
+               --pidfile --detach "$VSWITCHD_OVSDB_SERVER"
+
     touch /var/lock/subsys/openvswitch
 }
 
@@ -349,6 +356,9 @@ function stop {
     stop_daemon BRCOMPATD "$brcompatd"
     stop_daemon VSWITCHD "$vswitchd"
     stop_daemon OVSDB_SERVER "$ovsdb_server"
+    if [ -e /var/run/openvswitch/monitor-external-ids.pid ]; then
+        kill `cat /var/run/openvswitch/monitor-external-ids.pid`
+    fi
     rm -f /var/lock/subsys/openvswitch
 }