xenserver: Delete network.conf on package removal on XenServer 5.5.0.
[openvswitch] / xenserver / openvswitch-xen.spec
index c796a1befe5287361cd3ee5409ce6465f2887d9d..d2433f986f5d9560a0cb4ce171ab4ca727f916c9 100644 (file)
@@ -114,6 +114,7 @@ if [ ! -f /etc/xensource-inventory ]; then
     printf "XenSource inventory not present in /etc/xensource-inventory"
     exit 1
 fi
     printf "XenSource inventory not present in /etc/xensource-inventory"
     exit 1
 fi
+. /etc/xensource-inventory
 
 if [ "$1" = "1" ]; then
     if md5sum -c --status <<EOF
 
 if [ "$1" = "1" ]; then
     if md5sum -c --status <<EOF
@@ -158,6 +159,28 @@ EOF
     fi
 fi
 
     fi
 fi
 
+# On XenServer 5.5.0, we need refresh-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-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...  "
 if test ! -e /var/xapi/network.dbcache; then
     if test "$1" = 1; then
         printf "Creating xapi database cache...  "
@@ -279,6 +302,11 @@ fi
 
 %postun
 if [ "$1" = "0" ]; then     # $1 = 1 for upgrade
 
 %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
 
     rm -f /usr/lib/xsconsole/plugins-base/XSFeatureVSwitch.pyc \
         /usr/lib/xsconsole/plugins-base/XSFeatureVSwitch.pyo
@@ -317,8 +345,13 @@ if [ "$1" = "0" ]; then     # $1 = 1 for upgrade
     rm -f /etc/openvswitch/vswitchd.cacert
     rm -f /var/xapi/network.dbcache
 
     rm -f /etc/openvswitch/vswitchd.cacert
     rm -f /var/xapi/network.dbcache
 
-    # Configure system to use bridge
-    echo bridge > /etc/xensource/network.conf
+    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
 
     printf "\nYou MUST reboot the server now to complete the change to\n"
     printf "standard Xen networking.  Attempts to modify networking on the\n"
 
     printf "\nYou MUST reboot the server now to complete the change to\n"
     printf "standard Xen networking.  Attempts to modify networking on the\n"
@@ -336,9 +369,6 @@ fi
 /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
 /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
-%if %(echo '%{xen_version}'|awk -F"[.-]" '{if ($3==18) print 1; else print 0;}')
-/lib/modules/%{xen_version}/kernel/extra/openvswitch/veth_mod.ko
-%endif
 /usr/share/openvswitch/scripts/refresh-network-uuids
 /usr/share/openvswitch/scripts/interface-reconfigure
 /usr/share/openvswitch/scripts/InterfaceReconfigure.py
 /usr/share/openvswitch/scripts/refresh-network-uuids
 /usr/share/openvswitch/scripts/interface-reconfigure
 /usr/share/openvswitch/scripts/InterfaceReconfigure.py