xenserver: Fix VIF script to work with XenServer 5.5
[openvswitch] / xenserver / vswitch-xen.spec
index bc9271d19af9f1ac5328c6d23016f5baccefb25f..92dcd15b0777d8ae6dbbc9de5cd18569d9bd5665 100644 (file)
@@ -1,6 +1,6 @@
 # Spec file for vswitch and related programs.
 
-# Copyright (C) 2009 Nicira Networks, Inc.
+# Copyright (C) 2009, 2010 Nicira Networks, Inc.
 #
 # Copying and distribution of this file, with or without modification,
 # are permitted in any medium without royalty provided the copyright
@@ -44,7 +44,7 @@ traffic.
 %setup -q -n openvswitch-%{vswitch_version}
 
 %build
-./configure --prefix=/usr --localstatedir=%{_localstatedir} --with-l26=/lib/modules/%{xen_version}/build --enable-ssl %{build_number}
+./configure --prefix=/usr --sysconfdir=/etc --localstatedir=%{_localstatedir} --with-l26=/lib/modules/%{xen_version}/build --enable-ssl %{build_number}
 make %{_smp_mflags}
 
 %install
@@ -69,10 +69,18 @@ install -m 755 xenserver/etc_xapi.d_plugins_vswitch-cfg-update \
 install -d -m 755 $RPM_BUILD_ROOT/usr/share/vswitch/scripts
 install -m 755 xenserver/opt_xensource_libexec_interface-reconfigure \
              $RPM_BUILD_ROOT/usr/share/vswitch/scripts/interface-reconfigure
+install -m 755 xenserver/opt_xensource_libexec_InterfaceReconfigure.py \
+             $RPM_BUILD_ROOT/usr/share/vswitch/scripts/InterfaceReconfigure.py
+install -m 755 xenserver/opt_xensource_libexec_InterfaceReconfigureBridge.py \
+             $RPM_BUILD_ROOT/usr/share/vswitch/scripts/InterfaceReconfigureBridge.py
+install -m 755 xenserver/opt_xensource_libexec_InterfaceReconfigureVswitch.py \
+             $RPM_BUILD_ROOT/usr/share/vswitch/scripts/InterfaceReconfigureVswitch.py
 install -m 755 xenserver/etc_xensource_scripts_vif \
              $RPM_BUILD_ROOT/usr/share/vswitch/scripts/vif
 install -m 755 xenserver/usr_share_vswitch_scripts_dump-vif-details \
                $RPM_BUILD_ROOT/usr/share/vswitch/scripts/dump-vif-details
+install -m 755 xenserver/usr_share_vswitch_scripts_refresh-xs-network-uuids \
+               $RPM_BUILD_ROOT/usr/share/vswitch/scripts/refresh-xs-network-uuids
 install -m 755 xenserver/usr_sbin_xen-bugtool \
              $RPM_BUILD_ROOT/usr/share/vswitch/scripts/xen-bugtool
 install -m 755 xenserver/usr_sbin_brctl \
@@ -146,7 +154,7 @@ EOF
     fi
 fi
 
-if test ! -e /var/lib/openvswitch/dbcache; then
+if test ! -e /var/xapi/network.dbcache; then
     if test "$1" = 1; then
         printf "Creating xapi database cache...  "
     else
@@ -207,13 +215,16 @@ mkdir -p /usr/lib/vswitch/xs-original \
     || printf "Could not create script backup directory.\n"
 for f in \
     /opt/xensource/libexec/interface-reconfigure \
+    /opt/xensource/libexec/InterfaceReconfigure.py \
+    /opt/xensource/libexec/InterfaceReconfigureBridge.py \
+    /opt/xensource/libexec/InterfaceReconfigureVswitch.py \
     /etc/xensource/scripts/vif \
     /usr/sbin/xen-bugtool \
     /usr/sbin/brctl
 do
     s=$(basename "$f")
     t=$(readlink "$f")
-    if [ "$t" != "/usr/share/vswitch/scripts/$s" ]; then
+    if [ -f "$f" ] && [ "$t" != "/usr/share/vswitch/scripts/$s" ]; then
         mv "$f" /usr/lib/vswitch/xs-original/ \
             || printf "Could not save original XenServer $s script\n"
         ln -s "/usr/share/vswitch/scripts/$s" "$f" \
@@ -237,6 +248,9 @@ for s in vswitch vswitch-xapi-update; do
     chkconfig $s on || printf "Could not enable $s init script."
 done
 
+# Configure system to use vswitch
+echo vswitch > /etc/xensource/network.conf
+
 if [ "$1" = "1" ]; then    # $1 = 2 for upgrade
     printf "\nYou MUST reboot the server NOW to complete the change to the\n"
     printf "the vSwitch.  Attempts to modify networking on the server\n"
@@ -285,7 +299,10 @@ if [ "$1" = "0" ]; then     # $1 = 1 for upgrade
     rm -f /etc/ovs-vswitchd.conf
     rm -f /etc/sysconfig/vswitch
     rm -f /etc/ovs-vswitchd.cacert
-    rm -f /var/lib/openvswitch/dbcache
+    rm -f /var/xapi/network.dbcache
+
+    # 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"
@@ -304,19 +321,16 @@ fi
 /lib/modules/%{xen_version}/kernel/net/vswitch/openvswitch_mod.ko
 /lib/modules/%{xen_version}/kernel/net/vswitch/brcompat_mod.ko
 /usr/share/vswitch/scripts/dump-vif-details
+/usr/share/vswitch/scripts/refresh-xs-network-uuids
 /usr/share/vswitch/scripts/interface-reconfigure
+/usr/share/vswitch/scripts/InterfaceReconfigure.py
+/usr/share/vswitch/scripts/InterfaceReconfigureBridge.py
+/usr/share/vswitch/scripts/InterfaceReconfigureVswitch.py
 /usr/share/vswitch/scripts/vif
 /usr/share/vswitch/scripts/xen-bugtool
 /usr/share/vswitch/scripts/XSFeatureVSwitch.py
 /usr/share/vswitch/scripts/brctl
 /usr/share/vswitch/scripts/sysconfig.template
-# Following two files are generated automatically by rpm.  We don't
-# really need them and they won't be used on the XenServer, but there
-# isn't an obvious place to get rid of them since they are generated
-# after the install script runs.  Since they are small, we just
-# include them.
-/usr/share/vswitch/scripts/XSFeatureVSwitch.pyc
-/usr/share/vswitch/scripts/XSFeatureVSwitch.pyo
 /usr/sbin/ovs-brcompatd
 /usr/sbin/ovs-vswitchd
 /usr/bin/ovs-appctl
@@ -333,3 +347,5 @@ fi
 /usr/share/man/man8/ovs-vsctl.8.gz
 /usr/share/man/man8/ovs-vswitchd.8.gz
 /var/lib/openvswitch
+%exclude /usr/share/vswitch/scripts/*.pyc
+%exclude /usr/share/vswitch/scripts/*.pyo