xenserver: Remove support for XenServer versions older than 5.6 FP1.
authorJustin Pettit <jpettit@nicira.com>
Fri, 11 Feb 2011 20:35:35 +0000 (12:35 -0800)
committerAndrew Evans <aevans@nicira.com>
Fri, 11 Feb 2011 21:12:59 +0000 (13:12 -0800)
Commit 404c169247b1c3ac2ebad887f0421478a6cef924 breaks compatibility with
XenServers older than 5.6 FP1.  This commit removes the last vestiges of
support for those older XenServer versions.

Signed-off-by: Justin Pettit <jpettit@nicira.com>
13 files changed:
tests/interface-reconfigure.at
xenserver/README
xenserver/automake.mk
xenserver/etc_init.d_openvswitch
xenserver/etc_logrotate.d_openvswitch
xenserver/etc_profile.d_openvswitch.sh
xenserver/etc_xensource_scripts_vif
xenserver/openvswitch-xen.spec
xenserver/opt_xensource_libexec_InterfaceReconfigureVswitch.py
xenserver/usr_lib_xsconsole_plugins-base_XSFeatureVSwitch.py
xenserver/usr_sbin_xen-bugtool
xenserver/usr_share_openvswitch_scripts_ovs-external-ids
xenserver/usr_share_openvswitch_scripts_sysconfig.template

index f47ca98..ad70263 100644 (file)
@@ -737,7 +737,6 @@ Applying changes to /etc/sysconfig/network-scripts/ifcfg-xapi3 configuration
     set Bridge xenbr3 other-config:hwaddr="00:15:17:a0:29:81"
     set Bridge xenbr3 fail_mode=standalone
     br-set-external-id xenbr3 xs-network-uuids 2902ae1b-8013-897a-b697-0b200ea3aaa5;db7bdc03-074d-42ae-fc73-9b06de1d57f6
-    --if-exists del-br xapi3
     --may-exist add-br xapi3 xenbr3 123
     br-set-external-id xapi3 xs-network-uuids 2902ae1b-8013-897a-b697-0b200ea3aaa5;db7bdc03-074d-42ae-fc73-9b06de1d57f6
     set Interface xapi3 MAC="00:15:17:a0:29:81"
@@ -909,7 +908,6 @@ Applying changes to /etc/sysconfig/network-scripts/ifcfg-xapi2 configuration
     set Bridge xapi1 other-config:hwaddr="00:22:19:22:4b:af"
     set Bridge xapi1 fail_mode=standalone
     br-set-external-id xapi1 xs-network-uuids 45cbbb43-113d-a712-3231-c6463f253cef;99be2da4-6c33-6f8e-49ea-3bc592fe3c85
-    --if-exists del-br xapi2
     --may-exist add-br xapi2 xapi1 4
     br-set-external-id xapi2 xs-network-uuids 45cbbb43-113d-a712-3231-c6463f253cef;99be2da4-6c33-6f8e-49ea-3bc592fe3c85
     set Interface xapi2 MAC="00:22:19:22:4b:af"
index 058014e..7dee41a 100644 (file)
@@ -51,11 +51,6 @@ files are:
         Daemon to monitor the external_ids columns of the Bridge and
         Interface OVSDB tables.
 
-    usr_share_openvswitch_scripts_refresh-xs-network-uuids
-
-        Script to refresh Bridge table external-ids:xs-network-uuids
-        values, which can get out-of-sync following a pool join.
-
     usr_share_openvswitch_scripts_sysconfig.template
 
         Template for Open vSwitch's /etc/sysconfig/openvswitch 
index 24b1203..aa5e7f5 100644 (file)
@@ -24,6 +24,5 @@ EXTRA_DIST += \
        xenserver/usr_lib_xsconsole_plugins-base_XSFeatureVSwitch.py \
        xenserver/usr_sbin_xen-bugtool \
        xenserver/usr_share_openvswitch_scripts_ovs-external-ids \
-       xenserver/usr_share_openvswitch_scripts_refresh-xs-network-uuids \
        xenserver/usr_share_openvswitch_scripts_sysconfig.template \
        xenserver/uuid.py
index a08a95d..8df0ed8 100755 (executable)
@@ -75,21 +75,6 @@ case ${NETWORK_MODE:=openvswitch} in
         ;;
 esac
 
-# General config variables in /etc/sysconfig/openvswitch
-if [ -f /etc/xensource-inventory ]; then
-    if test "$PRODUCT_VERSION" = "5.5.0"; then
-        # XenServer 5.5.0 needs ovs-brcompatd and /proc/net simulation.
-        : ${ENABLE_BRCOMPAT:=y}
-        : ${ENABLE_FAKE_PROC_NET:=y}
-    else
-        # Later versions don't need them.
-        : ${ENABLE_BRCOMPAT:=n}
-        : ${ENABLE_FAKE_PROC_NET:=n}
-    fi
-else
-    : ${ENABLE_BRCOMPAT:=y}
-    : ${ENABLE_FAKE_PROC_NET:=y}
-fi
 : ${ENABLE_MONITOR:=y}
 : ${FORCE_COREFILES:=y}
 
@@ -124,36 +109,15 @@ fi
 : ${VSWITCHD_VALGRIND_LOG:=}
 : ${VSWITCHD_VALGRIND_OPT:=}
 
-# Config variables specific to ovs-brcompatd
-: ${BRCOMPATD_PIDFILE:=/var/run/openvswitch/ovs-brcompatd.pid}
-: ${BRCOMPATD_RUN_DIR:=/var/xen/openvswitch}
-: ${BRCOMPATD_PRIORITY:=-10}
-: ${BRCOMPATD_LOGFILE:=/var/log/openvswitch/ovs-brcompatd.log}
-: ${BRCOMPATD_FILE_LOGLEVEL:=INFO}
-: ${BRCOMPATD_SYSLOG_LOGLEVEL:=ERR}
-: ${BRCOMPATD_MEMLEAK_LOGFILE:=}
-: ${BRCOMPATD_STRACE_LOG:=}
-: ${BRCOMPATD_STRACE_OPT:=}
-: ${BRCOMPATD_VALGRIND_LOG:=}
-: ${BRCOMPATD_VALGRIND_OPT:=}
-
 # Full paths to executables & modules
 ovsdb_server="/usr/sbin/ovsdb-server"
 ovsdb_tool="/usr/bin/ovsdb-tool"
 vswitchd="/usr/sbin/ovs-vswitchd"
-brcompatd="/usr/sbin/ovs-brcompatd"
 dpctl="/usr/bin/ovs-dpctl"
 appctl="/usr/bin/ovs-appctl"
 ofctl="/usr/bin/ovs-ofctl"
 vsctl="/usr/bin/ovs-vsctl"
 
-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"
-    fi
-fi
-
 if test "$ENABLE_MONITOR" = "y"; then
     monitor_opt="--monitor"
 else
@@ -189,15 +153,9 @@ function insert_modules_if_required {
         action "Inserting llc module" modprobe llc
         action "Inserting openvswitch module" modprobe openvswitch_mod
     fi
-    if [ "$ENABLE_BRCOMPAT" = "y" ] && [ -n "$BRCOMPATD_PIDFILE" ] && ! lsmod | grep -q "brcompat_mod"; then
-        action "Inserting brcompat module" modprobe brcompat_mod
-    fi
 }
 
 function remove_modules {
-    if lsmod | grep -q "brcompat_mod"; then
-        action "Removing brcompat module" rmmod brcompat_mod.ko
-    fi
     if lsmod | grep -q "openvswitch_mod"; then
         action "Removing openvswitch module" rmmod openvswitch_mod.ko
     fi
@@ -280,26 +238,14 @@ function start_ovsdb_server {
 }
 
 function start_vswitchd {
-    local fake_proc_net_opt=
-    if [ "$ENABLE_FAKE_PROC_NET" = "y" ]; then
-        fake_proc_net_opt="--fake-proc-net"
-    fi
-
     local mlockall_opt=
     if [ "$VSWITCHD_MLOCKALL" != "no" ]; then
         mlockall_opt="--mlockall"
     fi
 
-    start_daemon VSWITCHD "$vswitchd" $fake_proc_net_opt $mlockall_opt \
-                 "$VSWITCHD_OVSDB_SERVER"
+    start_daemon VSWITCHD "$vswitchd" $mlockall_opt "$VSWITCHD_OVSDB_SERVER"
  }
 
-function start_brcompatd {
-    start_daemon BRCOMPATD "$brcompatd" \
-                 --appctl-command="$appctl --target=/var/run/openvswitch/ovs-vswitchd.\`cat $VSWITCHD_PIDFILE\`.ctl %s" \
-                 "$VSWITCHD_OVSDB_SERVER"
-}
-
 function stop_daemon {
     local DAEMON=$1
     local BINARY=$2
@@ -414,9 +360,6 @@ function start {
     set_system_ids
 
     start_vswitchd
-    if [ "${ENABLE_BRCOMPAT}" = "y" ] ; then
-        start_brcompatd
-    fi
 
     if [ -f /etc/xensource-inventory ]; then
         # Start daemon to monitor external ids
@@ -429,7 +372,6 @@ function start {
 }
 
 function stop {
-    stop_daemon BRCOMPATD "$brcompatd"
     stop_daemon VSWITCHD "$vswitchd"
     stop_daemon OVSDB_SERVER "$ovsdb_server"
     if [ -e /var/run/openvswitch/ovs-external-ids.pid ]; then
@@ -510,20 +452,13 @@ case "$1" in
         shift
         strace -p $(cat "$VSWITCHD_PIDFILE") "$@"
         ;;
-    strace-brcompatd)
-        shift
-        strace -p $(cat "$BRCOMPATD_PIDFILE") "$@"
-        ;;
     status)
         status -p "$OVSDB_SERVER_PIDFILE" ovsdb-server &&
-        status -p "$VSWITCHD_PIDFILE" ovs-vswitchd &&
-        (test "$ENABLE_BRCOMPAT" != "y" || 
-            status -p "$BRCOMPATD_PIDFILE" ovs-brcompatd)
+        status -p "$VSWITCHD_PIDFILE" ovs-vswitchd
         ;;
     version)
         /usr/sbin/ovsdb-server -V
         /usr/sbin/ovs-vswitchd -V
-        /usr/sbin/ovs-brcompatd -V
         ;;
     force-reload-kmod)
        force_reload_kmod
index 52eb4f7..c1ead14 100644 (file)
@@ -1,4 +1,4 @@
-# Copyright (C) 2009, 2010 Nicira Networks, Inc.
+# Copyright (C) 2009, 2010, 2011 Nicira Networks, Inc.
 #
 # Copying and distribution of this file, with or without modification,
 # are permitted in any medium without royalty provided the copyright
@@ -16,8 +16,5 @@
        if [ -e /var/run/openvswitch/ovsdb-server.pid ]; then   
            /usr/bin/ovs-appctl -t ovsdb-server vlog/reopen
        fi
-       if [ -e /var/run/openvswitch/ovs-brcompatd.pid ]; then
-               /usr/bin/ovs-appctl -t ovs-brcompatd vlog/reopen
-       fi
        endscript
 }
index a7e1a0c..7376f53 100644 (file)
@@ -1,4 +1,4 @@
-# Copyright (C) 2009, 2010 Nicira Networks, Inc.
+# Copyright (C) 2009, 2010, 2011 Nicira Networks, Inc.
 #
 # Copying and distribution of this file, with or without modification,
 # are permitted in any medium without royalty provided the copyright
@@ -42,7 +42,7 @@ function monitorlogs {
         done
         grep="$grep'"
     fi
-    cmd="tail -F /var/log/messages /var/log/openvswitch/ovs-vswitchd.log /var/log/openvswitch/ovs-brcompatd.log /var/log/openvswitch/ovsdb-server /var/log/xensource.log $grep | tee /var/log/monitorlogs.out"
+    cmd="tail -F /var/log/messages /var/log/openvswitch/ovs-vswitchd.log /var/log/openvswitch/ovsdb-server /var/log/xensource.log $grep | tee /var/log/monitorlogs.out"
     printf "cmd: $cmd\n"
     eval "$cmd"
 }
index 5675cdf..0625498 100755 (executable)
@@ -145,10 +145,7 @@ remove_from_bridge()
         # Nothing to do
         ;;
     openvswitch)
-        # If ovs-brcompatd is running, it might already have deleted the
-        # port.  Use --if-exists to suppress the error that would otherwise
-        # arise in that case.
-        $vsctl --timeout=30 -- --if-exists del-port $dev
+        $vsctl --timeout=30 -- del-port $dev
         ;;
     esac
 }
index ba4fc11..9a533a8 100644 (file)
@@ -75,8 +75,6 @@ install -m 755 xenserver/etc_xensource_scripts_vif \
              $RPM_BUILD_ROOT/usr/share/openvswitch/scripts/vif
 install -m 755 xenserver/usr_share_openvswitch_scripts_ovs-external-ids \
                $RPM_BUILD_ROOT/usr/share/openvswitch/scripts/ovs-external-ids
-install -m 755 xenserver/usr_share_openvswitch_scripts_refresh-xs-network-uuids \
-               $RPM_BUILD_ROOT/usr/share/openvswitch/scripts/refresh-xs-network-uuids
 install -m 755 xenserver/usr_sbin_xen-bugtool \
              $RPM_BUILD_ROOT/usr/share/openvswitch/scripts/xen-bugtool
 install -m 755 xenserver/usr_share_openvswitch_scripts_sysconfig.template \
@@ -111,77 +109,6 @@ install -d -m 755 $RPM_BUILD_ROOT/var/lib/openvswitch
 rm -rf $RPM_BUILD_ROOT
 
 %post
-if [ ! -f /etc/xensource-inventory ]; then
-    printf "XenSource inventory not present in /etc/xensource-inventory"
-    exit 1
-fi
-. /etc/xensource-inventory
-
-if [ "$1" = "1" ]; then
-    if md5sum -c --status <<EOF
-ca141d60061dcfdade73e75abc6529b5  /usr/sbin/brctl
-b8e9835862ef1a9cec2a3f477d26c989  /etc/xensource/scripts/vif
-51970ad613a3996d5997e18e44db47da  /opt/xensource/libexec/interface-reconfigure
-5654c8c36699fcc8744ca9cd5b855414  /usr/sbin/xen-bugtool
-EOF
-    then
-        printf "\nVerified host scripts from XenServer 5.5.0.\n\n"
-    elif md5sum -c --status <<EOF
-ca141d60061dcfdade73e75abc6529b5  /usr/sbin/brctl
-b8e9835862ef1a9cec2a3f477d26c989  /etc/xensource/scripts/vif
-51970ad613a3996d5997e18e44db47da  /opt/xensource/libexec/interface-reconfigure
-f6519085c2fc5f7bc4eccc294ed62000  /usr/sbin/xen-bugtool
-EOF
-    then
-        printf "\nVerified host scripts from XenServer 5.5.0-24648p (Update 1)\n"
-        printf "or 5.5.0-25727p (Update 2).\n\n"
-    elif md5sum -c --status <<EOF
-ca141d60061dcfdade73e75abc6529b5  /usr/sbin/brctl
-02cf136237ed85fcbcc1efc15ce0591c  /opt/xensource/libexec/interface-reconfigure
-3a192ee70ebf2153c90051b3af95f331  /opt/xensource/libexec/InterfaceReconfigureBridge.py
-f71cadf1464caefa7943de0ab47fdd8a  /opt/xensource/libexec/InterfaceReconfigure.py
-d70f08f235fb1bfd49a0580e440f15a0  /opt/xensource/libexec/InterfaceReconfigureVswitch.py
-f5c85ca825b1e6f5a0845530981cd836  /etc/xensource/scripts/vif
-facb851606f82ca2bcc760a4d91bbe33  /usr/sbin/xen-bugtool
-EOF
-    then
-        printf "\nVerified host scripts from XenServer 5.5.900-29381p.\n\n"
-    else
-cat <<EOF
-
-The original XenServer scripts replaced by this package are not those
-of any supported version of XenServer.  This could lead to unexpected
-behavior of your server.  Unless you are sure you know what you are
-doing, it is highly recommended that you remove this package
-immediately after the install completes, which will restore the
-XenServer scripts that you were previously using.
-
-EOF
-    fi
-fi
-
-# On XenServer 5.5.0, we need refresh-xs-network-uuids to run whenever
-# XAPI starts or restarts.  (On XenServer 5.6.0, XAPI calls the
-# "update" method of the vswitch-cfg-update plugin whenever it starts
-# or restarts, so this is no longer necessary.)
-if test "$PRODUCT_VERSION" = "5.5.0"; then
-    RNU=/usr/share/openvswitch/scripts/refresh-xs-network-uuids
-    XSS=/opt/xensource/libexec/xapi-startup-script
-    if test -e $XSS && (test ! -L $XSS || test "`readlink $XSS`" != $RNU); then
-        echo "$XSS is already in use, refusing to overwrite"
-        exit 1
-    fi
-    rm -f $XSS
-    ln -s $RNU $XSS
-
-    # If /etc/xensource/network.conf doesn't exist (it was added in 5.6.0),
-    # then interface-reconfigure will be unhappy when we run it below.
-    if test ! -e /etc/xensource/network.conf; then
-        echo bridge > /etc/xensource/network.conf
-    fi
-fi
-
-
 if test ! -e /var/xapi/network.dbcache; then
     if test "$1" = 1; then
         printf "Creating xapi database cache...  "
@@ -302,12 +229,6 @@ fi
 
 %postun
 if [ "$1" = "0" ]; then     # $1 = 1 for upgrade
-    . /etc/xensource-inventory
-    if test "$PRODUCT_VERSION" = "5.5.0"; then
-        XSS=/opt/xensource/libexec/xapi-startup-script
-        rm -f $XSS
-    fi
-
     rm -f /usr/lib/xsconsole/plugins-base/XSFeatureVSwitch.pyc \
         /usr/lib/xsconsole/plugins-base/XSFeatureVSwitch.pyo
 
@@ -344,13 +265,8 @@ if [ "$1" = "0" ]; then     # $1 = 1 for upgrade
     rm -f /etc/openvswitch/vswitchd.cacert
     rm -f /var/xapi/network.dbcache
 
-    if test "$PRODUCT_VERSION" != "5.5.0"; then
-        # Configure system to use bridge
-        echo bridge > /etc/xensource/network.conf
-    else
-        # Get rid of network.conf entirely, to make the system pristine.
-        rm -f /etc/xensource/network.conf
-    fi
+    # Configure system to use bridge
+    echo bridge > /etc/xensource/network.conf
 
     printf "\nYou MUST reboot the server now to complete the change to\n"
     printf "standard Xen networking.  Attempts to modify networking on the\n"
@@ -367,7 +283,6 @@ fi
 /etc/logrotate.d/openvswitch
 /etc/profile.d/openvswitch.sh
 /lib/modules/%{xen_version}/kernel/extra/openvswitch/openvswitch_mod.ko
-/lib/modules/%{xen_version}/kernel/extra/openvswitch/brcompat_mod.ko
 /usr/share/openvswitch/python/ovs/__init__.py
 /usr/share/openvswitch/python/ovs/daemon.py
 /usr/share/openvswitch/python/ovs/db/__init__.py
@@ -391,7 +306,6 @@ fi
 /usr/share/openvswitch/python/ovs/util.py
 /usr/share/openvswitch/python/uuid.py
 /usr/share/openvswitch/scripts/ovs-external-ids
-/usr/share/openvswitch/scripts/refresh-xs-network-uuids
 /usr/share/openvswitch/scripts/interface-reconfigure
 /usr/share/openvswitch/scripts/InterfaceReconfigure.py
 /usr/share/openvswitch/scripts/InterfaceReconfigureBridge.py
@@ -401,7 +315,6 @@ fi
 /usr/share/openvswitch/scripts/sysconfig.template
 /usr/share/openvswitch/scripts/ovs-save
 /usr/share/openvswitch/vswitch.ovsschema
-/usr/sbin/ovs-brcompatd
 /usr/sbin/ovs-vswitchd
 /usr/sbin/ovsdb-server
 /usr/bin/ovs-appctl
@@ -419,7 +332,6 @@ fi
 /usr/share/man/man1/ovsdb-tool.1.gz
 /usr/share/man/man5/ovs-vswitchd.conf.db.5.gz
 /usr/share/man/man8/ovs-appctl.8.gz
-/usr/share/man/man8/ovs-brcompatd.8.gz
 /usr/share/man/man8/ovs-dpctl.8.gz
 /usr/share/man/man8/ovs-ofctl.8.gz
 /usr/share/man/man8/ovs-parse-leaks.8.gz
@@ -429,7 +341,10 @@ fi
 /usr/share/man/man8/ovs-vsctl.8.gz
 /usr/share/man/man8/ovs-vswitchd.8.gz
 /var/lib/openvswitch
+%exclude /lib/modules/%{xen_version}/kernel/extra/openvswitch/brcompat_mod.ko
 %exclude /usr/lib/xsconsole/plugins-base/*.py[co]
+%exclude /usr/sbin/ovs-brcompatd
+%exclude /usr/share/man/man8/ovs-brcompatd.8.gz
 %exclude /usr/share/openvswitch/scripts/*.py[co]
 %exclude /usr/share/openvswitch/python/*.py[co]
 %exclude /usr/share/openvswitch/python/ovs/*.py[co]
index 928e6ce..6a1d4ed 100644 (file)
@@ -1,5 +1,5 @@
 # Copyright (c) 2008,2009 Citrix Systems, Inc.
-# Copyright (c) 2009,2010 Nicira Networks.
+# Copyright (c) 2009,2010,2011 Nicira Networks.
 #
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU Lesser General Public License as published
@@ -465,10 +465,6 @@ class DatapathVswitch(Datapath):
         dpname = pif_bridge_name(self._dp)
         
         if pif_is_vlan(self._pif):
-            # XXX this is only needed on XS5.5, because XAPI misguidedly
-            # creates the fake bridge (via bridge ioctl) before it calls us.
-            vsctl_argv += ['--', '--if-exists', 'del-br', bridge]
-
             # configure_datapath() set up the underlying datapath bridge.
             # Stack a VLAN bridge on top of it.
             vsctl_argv += ['--', '--may-exist', 'add-br',
@@ -550,11 +546,6 @@ class DatapathVswitch(Datapath):
         
         bridge = pif_bridge_name(dp)
 
-        #nw = db().get_pif_record(self._pif)['network']
-        #nwrec = db().get_network_record(nw)
-        #vsctl_argv += ['# deconfigure network-uuids']
-        #vsctl_argv += ['--del-entry=bridge.%s.network-uuids=%s' % (bridge,nwrec['uuid'])]
-
         log("deconfigure ipdev %s on %s" % (ipdev,bridge))
         vsctl_argv += ["# deconfigure ipdev %s" % ipdev]
         vsctl_argv += datapath_deconfigure_ipdev(ipdev)
index ae91d63..dab9c77 100644 (file)
@@ -1,5 +1,5 @@
 # Copyright (c) 2007-2010 Citrix Systems Inc.
-# Copyright (c) 2009,2010 Nicira Networks.
+# Copyright (c) 2009,2010,2011 Nicira Networks.
 #
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
@@ -109,10 +109,7 @@ class VSwitchControllerDialogue(Dialogue):
         self.xs_version = data.host.software_version.product_version('')
         pool = data.GetPoolForThisHost()
         if pool is not None:
-            if self.xs_version == "5.5.0":
-                self.controller = pool.get("other_config", {}).get("vSwitchController", "")
-            else:
-                self.controller = pool.get("vswitch_controller", "")
+            self.controller = pool.get("vswitch_controller", "")
         else:
             self.controller = ""
 
@@ -125,8 +122,6 @@ class VSwitchControllerDialogue(Dialogue):
                       lambda: self.syncController()),
 #             ChoiceDef(Lang("Restart ovs-vswitchd"),
 #                       lambda: self.restartService("vswitch")),
-#             ChoiceDef(Lang("Restart ovs-brcompatd"),
-#                       lambda: self.restartService("vswitch-brcompatd"))
             ]
         self.menu = Menu(self, None, Lang("Configure Open vSwitch"), choiceDefs)
 
@@ -250,13 +245,7 @@ class VSwitchControllerDialogue(Dialogue):
         if len(pools) > 1:
             XSLogFatal(Lang("More than one pool for host."))
             return
-        if self.xs_version == "5.5.0":
-            key = "vSwitchController"
-            session.xenapi.pool.remove_from_other_config(pools[0], key)
-            if value != None:
-                session.xenapi.pool.add_to_other_config(pools[0], key, value)
-        else:
-            session.xenapi.pool.set_vswitch_controller(value)
+        session.xenapi.pool.set_vswitch_controller(value)
         Data.Inst().Update()
 
     def _updateActiveServers(self, session):
@@ -294,10 +283,7 @@ class XSFeatureVSwitch:
 
         pool = data.GetPoolForThisHost()
         if pool is not None:
-            if (xs_version == "5.5.0"):
-                dbController = pool.get("other_config", {}).get("vSwitchController", "")
-            else:
-                dbController = pool.get("vswitch_controller", "")
+            dbController = pool.get("vswitch_controller", "")
         else:
             dbController = ""
 
@@ -318,11 +304,6 @@ class XSFeatureVSwitch:
         inPane.AddStatusField(Lang("ovsdb-server status", 20),
                               VSwitchService.Inst("openvswitch", "ovsdb-server").status())
 
-        # Only XenServer 5.5.0 runs ovs-brcompatd
-        if (xs_version == "5.5.0"):
-            inPane.AddStatusField(Lang("ovs-brcompatd status", 20),
-                   VSwitchService.Inst("openvswitch", "ovs-brcompatd").status())
-
         inPane.AddKeyHelpField( {
             Lang("<Enter>") : Lang("Reconfigure"),
             Lang("<F5>") : Lang("Refresh")
index aeffed4..1a4fe6f 100755 (executable)
@@ -156,12 +156,11 @@ XENSERVER_LOGS = \
     [ VAR_LOG_DIR + x for x in
       ['xensource.log', 'audit.log', 'xenstored-access.log', 'SMlog', 'VMPRlog', 'xen/xenstored-trace.log', 
        'xen/xen-hotplug.log', 'xen/domain-builder-ng.log', 'squeezed.log',
-       'openvswitch/ovs-brcompatd.log', 'openvswitch/ovs-vswitchd.log', 'openvswitch/ovsdb-server.log' ] +
+       'openvswitch/ovs-vswitchd.log', 'openvswitch/ovsdb-server.log' ] +
       [ f % n for n in range(1, 20) \
             for f in ['xensource.log.%d', 'xensource.log.%d.gz','SMlog.%d', 'SMlog.%d.gz', 'VMPRlog.%d', 'VMPRlog.%d.gz',
                       'audit.log.%d', 'audit.log.%d.gz', 'xenstored-access.log.%d', 'xenstored-access.log.%d.gz', \
                       'xen/xenstored-access.log.%d', 'xen/xenstored-access.log.%d.gz', 'squeezed.log.%d', \
-                      'openvswitch/ovs-brcompatd.log.%d', 'openvswitch/ovs-brcompatd.log.%d.gz', \
                       'openvswitch/ovs-vswitchd.log.%d', 'openvswitch/ovs-vswitchd.log.%d.gz', \
                       'openvswitch/ovsdb-server.log.%d', 'openvswitch/ovsdb-server.log.%d.gz']]] \
       + glob.glob('/tmp/qemu.[0-9]*')
index 0ebb7ce..77283fe 100755 (executable)
@@ -1,5 +1,5 @@
 #!/usr/bin/python
-# Copyright (c) 2009, 2010 Nicira Networks
+# Copyright (c) 2009, 2010, 2011 Nicira Networks
 #
 # Licensed under the Apache License, Version 2.0 (the "License");
 # you may not use this file except in compliance with the License.
@@ -17,8 +17,7 @@
 # A daemon to monitor the external_ids columns of the Bridge and
 # Interface OVSDB tables.  Its primary responsibility is to set the
 # "bridge-id" and "iface-id" keys in the Bridge and Interface tables,
-# respectively.  It also looks for the use of "network-uuids" in the
-# Bridge table and duplicates its value to the preferred "xs-network-uuids".
+# respectively.
 
 import getopt
 import logging, logging.handlers
@@ -125,14 +124,6 @@ def set_external_id(table, record, key, value):
     col = 'external-ids:"' + key + '"="' + value + '"'
     call_vsctl(["set", table, record, col])
 
-# XAPI on XenServer 5.6 uses the external-id "network-uuids" for internal
-# networks, but we now prefer "xs-network-uuids".  Look for its use and
-# write our preferred external-id.
-def update_network_uuids(name, ids):
-    if ids["network-uuids"] and not ids["xs-network-uuids"]:
-        set_external_id("Bridge", name, "xs-network-uuids",
-                ids["network-uuids"])
-
 def update_fail_mode(name):
     rec = get_network_by_bridge(name)
 
@@ -271,9 +262,7 @@ def main(argv):
         for rec in idl.data["Bridge"].itervalues():
             name = rec.name.as_scalar()
             xs_network_uuids = rec.external_ids.get("xs-network-uuids")
-            network_uuids = rec.external_ids.get("network-uuids")
-            new_bridges[name] = {"xs-network-uuids": xs_network_uuids,
-                                 "network-uuids": network_uuids}
+            new_bridges[name] = {"xs-network-uuids": xs_network_uuids}
 
         new_interfaces = {}
         for rec in idl.data["Interface"].itervalues():
@@ -283,10 +272,7 @@ def main(argv):
 
         if bridges != new_bridges:
             for name,ids in new_bridges.items():
-                # Network uuids shouldn't change in the life of a bridge,
-                # so only check for "network-uuids" on creation.
                 if name not in bridges:
-                    update_network_uuids(name, ids)
                     update_fail_mode(name)
 
                 if (name not in bridges) or (bridges[name] != ids):
index 0b356fa..e72f695 100644 (file)
@@ -1,26 +1,12 @@
 ### Configuration options for openvswitch
 
-# Copyright (C) 2009, 2010 Nicira Networks, Inc.
+# Copyright (C) 2009, 2010, 2011 Nicira Networks, Inc.
 #
 # Copying and distribution of this file, with or without modification,
 # are permitted in any medium without royalty provided the copyright
 # notice and this notice are preserved.  This file is offered as-is,
 # without warranty of any kind.
 
-# ENABLE_BRCOMPAT: If 'y' than emulate linux bridging interfaces
-#    using the brcompat kernel module and ovs-brcompatd daemon
-#    This is required and enabled by default for XenServer 5.5.0,
-#    and not required and not enabled by default for later versions.
-# ENABLE_BRCOMPAT=?
-
-# ENABLE_FAKE_PROC_NET: If 'y' then emulate linux bonding and vlan
-#    files in /proc as if the bonding and vlan demultiplexing done in
-#    ovs-vswitchd were being implemented using existing Linux mechanisms.
-#    This is useful in some cases when replacing existing solutions.
-#    This is required and enabled by default for XenServer 5.5.0,
-#    and not required and not enabled by default for later versions.
-# ENABLE_FAKE_PROC_NET=?
-
 # ENABLE_MONITOR: If 'y' then monitor daemon processes and restart them
 #    if they die due to an error signal.
 # ENABLE_MONITOR=y
 #     This option's value is honored only when VSWITCHD_VALGRIND_LOG is
 #     set to a nonempty string.
 # VSWITCHD_VALGRIND_OPT=""
-
-# BRCOMPATD_PIDFILE: File in which to store the pid of the running
-#     ovs-brcompatd (the Linux bridge compatibility daemon for ovs-vswitchd).
-#     If this is the empty string, ovs-brcompatd will not be started and
-#     the brcompat_mod kernel module will not be inserted.  Note that
-#     the default is to use brcompat!
-# BRCOMPATD_PIDFILE=/var/run/openvswitch/ovs-brcompatd.pid
-
-# BRCOMPATD_RUN_DIR: Set the directory in which ovs-brcompatd should be
-#     run.  This mainly affects where core files will be placed.
-# BRCOMPATD_RUN_DIR=/var/xen/openvswitch
-
-# BRCOMPATD_PRIORITY: "nice" priority at which to run ovs-vswitchd and related
-#     processes.
-# BRCOMPATD_PRIORITY=-10
-
-# BRCOMPATD_LOGFILE: File to send the FILE_LOGLEVEL log messages to.
-# BRCOMPATD_LOGFILE=/var/log/openvswitch/ovs-brcompatd.log
-
-# BRCOMPATD_FILE_LOGLEVEL: Log level at which to log into the
-#     BRCOMPATD_LOG file.  If this is null or not set the logfile will
-#     not be created and nothing will be sent to it.  This is the
-#     default.  The available options are: EMER, WARN, INFO and DBG.
-# BRCOMPATD_FILE_LOGLEVEL=""
-
-# BRCOMPATD_SYSLOG_LOGLEVEL: Log level at which to log into syslog.  If
-#     this is null or not set the default is to log to syslog
-#     emergency and warning level messages only.
-# BRCOMPATD_SYSLOG_LOGLEVEL="WARN"
-
-# BRCOMPATD_MEMLEAK_LOGFILE: File for logging memory leak data.
-#     Enabling this option will slow ovs-brcompatd significantly.  Do not
-#     enable it except to debug a suspected memory leak.  Use the
-#     ovs-parse-leaks utility included with Open vSwitch to parse the
-#     log file.  For best results, you also need debug symbols.
-# BRCOMPATD_MEMLEAK_LOGFILE=""
-
-# BRCOMPATD_STRACE_LOG: File for logging strace output.
-#     If this is set to a nonempty string, then ovs-brcompatd will run
-#     under strace, whose output will be logged to the specified file.
-#     Enabling this option will slow brcompatd significantly.
-#     BRCOMPATD_STRACE_LOG and BRCOMPATD_VALGRIND_LOG are mutually exclusive.
-# BRCOMPATD_STRACE_LOG=""
-
-# BRCOMPATD_STRACE_OPT: Options to pass to strace.
-#     This option's value is honored only when BRCOMPATD_STRACE_LOG is
-#     set to a nonempty string.
-# BRCOMPATD_STRACE_OPT=""
-
-# BRCOMPATD_VALGRIND_LOG: File for logging valgrind output.
-#     If this is set to a nonempty string, then ovs-brcompatd will run
-#     under valgrind, whose output will be logged to the specified file.
-#     Enabling this option will slow brcompatd by 100X or more.
-#     valgrind is not installed by default on XenServer systems; you must
-#     install it by hand to usefully enable this option.
-#     BRCOMPATD_STRACE_LOG and BRCOMPATD_VALGRIND_LOG are mutually exclusive.
-# BRCOMPATD_VALGRIND_LOG=""
-
-# BRCOMPATD_VALGRIND_OPT: Options to pass to valgrind.
-#     This option's value is honored only when BRCOMPATD_VALGRIND_LOG is
-#     set to a nonempty string.
-# BRCOMPATD_VALGRIND_OPT=""