xenserver: Clear vlan.* from /etc/ovs-vswitchd.conf on boot too
[openvswitch] / xenserver / etc_init.d_vswitch
index 462c2a6f9e985e04f2020abcd79f27c3e8f07c94..f0b8be2c89b82fa3547c21c08f2b43ee11f76bcb 100755 (executable)
@@ -33,10 +33,10 @@ FORCE_COREFILES="${FORCE_COREFILES:-y}"
 VSWITCHD_CONF="${VSWITCHD_CONF:-/etc/ovs-vswitchd.conf}"
 VSWITCHD_PIDFILE="${VSWITCHD_PIDFILE:-/var/run/ovs-vswitchd.pid}"
 VSWITCHD_RUN_DIR="${VSWITCHD_RUN_DIR:-/var/xen/vswitch}"
-VSWITCHD_PRIORITY="${VSWITCHD_PRIORITY:--5}"
+VSWITCHD_PRIORITY="${VSWITCHD_PRIORITY:--10}"
 VSWITCHD_LOGFILE="${VSWITCHD_LOGFILE:-/var/log/ovs-vswitchd.log}"
-VSWITCHD_FILE_LOGLEVEL="${VSWITCHD_FILE_LOGLEVEL:-}"
-VSWITCHD_SYSLOG_LOGLEVEL="${VSWITCHD_SYSLOG_LOGLEVEL:-WARN}"
+VSWITCHD_FILE_LOGLEVEL="${VSWITCHD_FILE_LOGLEVEL:-INFO}"
+VSWITCHD_SYSLOG_LOGLEVEL="${VSWITCHD_SYSLOG_LOGLEVEL:-ERR}"
 VSWITCHD_MEMLEAK_LOGFILE="${VSWITCHD_MEMLEAK_LOGFILE:-}"
 VSWITCHD_STRACE_LOG="${VSWITCHD_STRACE_LOG:-}"
 VSWITCHD_STRACE_OPT="${VSWITCHD_STRACE_OPT:-}"
@@ -46,10 +46,10 @@ VSWITCHD_VALGRIND_OPT="${VSWITCHD_VALGRIND_OPT:-}"
 # Config variables specific to ovs-brcompatd
 BRCOMPATD_PIDFILE="${BRCOMPATD_PIDFILE:-/var/run/ovs-brcompatd.pid}"
 BRCOMPATD_RUN_DIR="${BRCOMPATD_RUN_DIR:-/var/xen/vswitch}"
-BRCOMPATD_PRIORITY="${BRCOMPATD_PRIORITY:--5}"
+BRCOMPATD_PRIORITY="${BRCOMPATD_PRIORITY:--10}"
 BRCOMPATD_LOGFILE="${BRCOMPATD_LOGFILE:-/var/log/ovs-brcompatd.log}"
-BRCOMPATD_FILE_LOGLEVEL="${BRCOMPATD_FILE_LOGLEVEL:-}"
-BRCOMPATD_SYSLOG_LOGLEVEL="${BRCOMPATD_SYSLOG_LOGLEVEL:-INFO}"
+BRCOMPATD_FILE_LOGLEVEL="${BRCOMPATD_FILE_LOGLEVEL:-INFO}"
+BRCOMPATD_SYSLOG_LOGLEVEL="${BRCOMPATD_SYSLOG_LOGLEVEL:-ERR}"
 BRCOMPATD_MEMLEAK_LOGFILE="${BRCOMPATD_MEMLEAK_LOGFILE:-}"
 BRCOMPATD_STRACE_LOG="${BRCOMPATD_STRACE_LOG:-}"
 BRCOMPATD_STRACE_OPT="${BRCOMPATD_STRACE_OPT:-}"
@@ -67,7 +67,7 @@ appctl="$VSWITCH_BASE/bin/ovs-appctl"
 ofctl="$VSWITCH_BASE/bin/ovs-ofctl"
 
 
-if [ "$ENABLE_FAKE_PROC_NET" == "y" ]; then
+if [ "$ENABLE_FAKE_PROC_NET" = "y" ]; then
     if [ "$ENABLE_BRCOMPAT" != "y" ]; then
         warning "FAKE_PROC_NET required BRCOMPAT which was disabled.  Force enabling."
         ENABLE_BRCOMPAT="y"
@@ -115,6 +115,13 @@ function reload_vswitchd {
     fi
 }
 
+function reload_brcompatd {
+    if [ -f "$BRCOMPATD_PIDFILE" ]; then
+        "$appctl" \
+            --target=ovs-brcompatd.$(cat "$BRCOMPATD_PIDFILE").ctl --reopen
+    fi
+}
+
 function start_vswitchd {
     local syslog_opt="-vANY:SYSLOG:${VSWITCHD_SYSLOG_LOGLEVEL}"
     local logfile_file_opt=""
@@ -149,7 +156,7 @@ function start_vswitchd {
         daemonize="n"
     fi
     local fake_proc_net_opt=""
-    if [ "$ENABLE_FAKE_PROC_NET" == "y" ]; then
+    if [ "$ENABLE_FAKE_PROC_NET" = "y" ]; then
         fake_proc_net_opt="--fake-proc-net"
     fi
     if [ "$daemonize" != "y" ]; then
@@ -169,7 +176,7 @@ function start_brcompatd {
         mkdir -p "$BRCOMPATD_RUN_DIR"
     fi
     cd "$BRCOMPATD_RUN_DIR"
-    if [ -n "$BRCOMPATD_FILE_LOGLEVEL" ]; then
+    if [ -n "$BRCOMPATD_FILE_LOGLEVEL" ]; then
         logfile_level_opt="-vANY:FILE:${BRCOMPATD_FILE_LOGLEVEL}"
         logfile_file_opt="--log-file=$BRCOMPATD_LOGFILE"
     fi
@@ -258,6 +265,19 @@ function start {
     # ovs-vswitchd needs a few per bridge
     ulimit -n 4096
 
+    if [ ! -e "$VSWITCHD_CONF" ]; then
+        warning "$VSWITCHD_CONF does not exist"
+        action "Creating empty $VSWITCHD_CONF" touch "$VSWITCHD_CONF"
+    elif [ ! -e /var/run/vswitch.booted ]; then
+        touch /var/run/vswitch.booted
+        /usr/bin/ovs-cfg-mod '-vANY:console:emer' -F "$VSWITCHD_CONF" \
+            '--del-match=bridge.*' \
+            '--del-match=port.*' \
+            '--del-match=bonding.*' \
+            '--del-match=iface.*' \
+            '--del-match=vlan.*'
+    fi
+
     start_vswitchd
     start_brcompatd
     reload_vswitchd  # ensures ovs-vswitchd has fully read config file.
@@ -287,6 +307,7 @@ case "$1" in
         ;;
     reload)
         reload_vswitchd
+        reload_brcompatd
         ;;
     strace-vswitchd)
         shift