$RPM_BUILD_ROOT/usr/share/openvswitch/scripts/InterfaceReconfigureVswitch.py
install -m 755 xenserver/etc_xensource_scripts_vif \
$RPM_BUILD_ROOT/usr/share/openvswitch/scripts/vif
-install -m 755 xenserver/usr_share_openvswitch_scripts_refresh-network-uuids \
- $RPM_BUILD_ROOT/usr/share/openvswitch/scripts/refresh-network-uuids
+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_sbin_brctl \
$RPM_BUILD_ROOT/usr/share/openvswitch/scripts/brctl
install -m 755 xenserver/usr_share_openvswitch_scripts_sysconfig.template \
$RPM_BUILD_ROOT/usr/share/openvswitch/scripts/sysconfig.template
+install -d -m 755 $RPM_BUILD_ROOT/usr/lib/xsconsole/plugins-base
install -m 644 \
xenserver/usr_lib_xsconsole_plugins-base_XSFeatureVSwitch.py \
- $RPM_BUILD_ROOT/usr/share/openvswitch/scripts/XSFeatureVSwitch.py
+ $RPM_BUILD_ROOT/usr/lib/xsconsole/plugins-base/XSFeatureVSwitch.py
-install -d -m 755 $RPM_BUILD_ROOT/lib/modules/%{xen_version}/kernel/net/openvswitch
-find datapath/linux-2.6 -name *.ko -exec install -m 755 \{\} $RPM_BUILD_ROOT/lib/modules/%{xen_version}/kernel/net/openvswitch \;
+install -d -m 755 $RPM_BUILD_ROOT/lib/modules/%{xen_version}/kernel/extra/openvswitch
+find datapath/linux-2.6 -name *.ko -exec install -m 755 \{\} $RPM_BUILD_ROOT/lib/modules/%{xen_version}/kernel/extra/openvswitch \;
+install xenserver/uuid.py $RPM_BUILD_ROOT/usr/share/openvswitch/python
# Get rid of stuff we don't want to make RPM happy.
rm \
$RPM_BUILD_ROOT/usr/bin/ovs-kill \
$RPM_BUILD_ROOT/usr/bin/ovs-openflowd \
$RPM_BUILD_ROOT/usr/bin/ovs-pki \
- $RPM_BUILD_ROOT/usr/bin/ovs-wdt \
- $RPM_BUILD_ROOT/usr/sbin/ovs-monitor \
$RPM_BUILD_ROOT/usr/share/man/man8/ovs-controller.8 \
$RPM_BUILD_ROOT/usr/share/man/man8/ovs-discover.8 \
$RPM_BUILD_ROOT/usr/share/man/man8/ovs-kill.8 \
$RPM_BUILD_ROOT/usr/share/man/man8/ovs-openflowd.8 \
$RPM_BUILD_ROOT/usr/share/man/man8/ovs-pki.8
-rm -f $RPM_BUILD_ROOT/lib/modules/%{xen_version}/kernel/net/openvswitch/veth_mod.ko
install -d -m 755 $RPM_BUILD_ROOT/var/lib/openvswitch
printf "XenSource inventory not present in /etc/xensource-inventory"
exit 1
fi
+. /etc/xensource-inventory
if [ "$1" = "1" ]; then
if md5sum -c --status <<EOF
printf "or 5.5.0-25727p (Update 2).\n\n"
elif md5sum -c --status <<EOF
ca141d60061dcfdade73e75abc6529b5 /usr/sbin/brctl
-b8e9835862ef1a9cec2a3f477d26c989 /etc/xensource/scripts/vif
-ce451d3c985fd1db6497a363f0d9dedb /opt/xensource/libexec/interface-reconfigure
-2b53f500431fcba5276c896e9e4281b9 /usr/sbin/xen-bugtool
+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.\n\n"
+ printf "\nVerified host scripts from XenServer 5.5.900-29381p.\n\n"
else
cat <<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... "
# Create ovs-vswitchd config database
ovsdb-tool -vANY:console:emer create /etc/openvswitch/conf.db \
- /usr/share/openvswitch/vswitch.ovsschema \
+ /usr/share/openvswitch/vswitch.ovsschema
# Create initial table in config database
ovsdb-tool -vANY:console:emer transact /etc/openvswitch/conf.db \
fi
done
-# Install xsconsole plugin
-plugin=$(readlink /usr/lib/xsconsole/plugins-base/XSFeatureVSwitch.py)
-if [ "$plugin" != "/usr/share/openvswitch/scripts/XSFeatureVSwitch.py" ]; then
- rm -f /usr/lib/xsconsole/plugins-base/XSFeatureVSwitch.py
- ln -s /usr/share/openvswitch/scripts/XSFeatureVSwitch.py /usr/lib/xsconsole/plugins-base/ || printf "Could not link to vSswitch xsconsole plugin.\n"
-fi
-
# Ensure all required services are set to run
for s in openvswitch openvswitch-xapi-update; do
if chkconfig --list $s >/dev/null 2>&1; then
%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.py \
- /usr/lib/xsconsole/plugins-base/XSFeatureVSwitch.pyc \
- /usr/lib/xsconsole/plugins-base/XSFeatureVSwitch.pyo \
- || printf "Could not remove Open vSwitch xsconsole plugin.\n"
+ rm -f /usr/lib/xsconsole/plugins-base/XSFeatureVSwitch.pyc \
+ /usr/lib/xsconsole/plugins-base/XSFeatureVSwitch.pyo
+
+ rm -f /usr/share/openvswitch/scripts/InterfaceReconfigure.pyc \
+ /usr/share/openvswitch/scripts/InterfaceReconfigure.pyo \
+ /usr/share/openvswitch/scripts/InterfaceReconfigureBridge.pyc \
+ /usr/share/openvswitch/scripts/InterfaceReconfigureBridge.pyo \
+ /usr/share/openvswitch/scripts/InterfaceReconfigureVSwitch.pyc \
+ /usr/share/openvswitch/scripts/InterfaceReconfigureVSwitch.pyo
# Restore original XenServer scripts
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
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"
/etc/xapi.d/plugins/openvswitch-cfg-update
/etc/logrotate.d/openvswitch
/etc/profile.d/openvswitch.sh
-/lib/modules/%{xen_version}/kernel/net/openvswitch/openvswitch_mod.ko
-/lib/modules/%{xen_version}/kernel/net/openvswitch/brcompat_mod.ko
-%if %(echo '%{xen_version}'|awk -F"." '{if ($3>=18) print 1; else print 0;}')
-/lib/modules/%{xen_version}/kernel/net/openvswitch/ip_gre_mod.ko
-%endif
-/usr/share/openvswitch/scripts/refresh-network-uuids
+/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
+/usr/share/openvswitch/python/ovs/db/data.py
+/usr/share/openvswitch/python/ovs/db/error.py
+/usr/share/openvswitch/python/ovs/db/idl.py
+/usr/share/openvswitch/python/ovs/db/parser.py
+/usr/share/openvswitch/python/ovs/db/schema.py
+/usr/share/openvswitch/python/ovs/db/types.py
+/usr/share/openvswitch/python/ovs/dirs.py
+/usr/share/openvswitch/python/ovs/fatal_signal.py
+/usr/share/openvswitch/python/ovs/json.py
+/usr/share/openvswitch/python/ovs/jsonrpc.py
+/usr/share/openvswitch/python/ovs/ovsuuid.py
+/usr/share/openvswitch/python/ovs/poller.py
+/usr/share/openvswitch/python/ovs/process.py
+/usr/share/openvswitch/python/ovs/reconnect.py
+/usr/share/openvswitch/python/ovs/socket_util.py
+/usr/share/openvswitch/python/ovs/stream.py
+/usr/share/openvswitch/python/ovs/timeval.py
+/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
/usr/share/openvswitch/scripts/InterfaceReconfigureVswitch.py
/usr/share/openvswitch/scripts/vif
/usr/share/openvswitch/scripts/xen-bugtool
-/usr/share/openvswitch/scripts/XSFeatureVSwitch.py
/usr/share/openvswitch/scripts/brctl
/usr/share/openvswitch/scripts/sysconfig.template
/usr/share/openvswitch/vswitch.ovsschema
/usr/bin/ovs-appctl
/usr/bin/ovs-dpctl
/usr/bin/ovs-ofctl
+/usr/bin/ovs-pcap
+/usr/bin/ovs-tcpundump
+/usr/bin/ovs-vlan-test
/usr/bin/ovs-vsctl
/usr/bin/ovsdb-client
/usr/bin/ovsdb-tool
+/usr/lib/xsconsole/plugins-base/XSFeatureVSwitch.py
/usr/share/man/man1/ovsdb-client.1.gz
/usr/share/man/man1/ovsdb-server.1.gz
/usr/share/man/man1/ovsdb-tool.1.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
+/usr/share/man/man1/ovs-pcap.1.gz
+/usr/share/man/man1/ovs-tcpundump.1.gz
+/usr/share/man/man8/ovs-vlan-test.8.gz
/usr/share/man/man8/ovs-vsctl.8.gz
/usr/share/man/man8/ovs-vswitchd.8.gz
/var/lib/openvswitch
-%exclude /usr/share/openvswitch/scripts/*.pyc
-%exclude /usr/share/openvswitch/scripts/*.pyo
+%exclude /usr/lib/xsconsole/plugins-base/*.py[co]
+%exclude /usr/share/openvswitch/scripts/*.py[co]
+%exclude /usr/share/openvswitch/python/*.py[co]
+%exclude /usr/share/openvswitch/python/ovs/*.py[co]
+%exclude /usr/share/openvswitch/python/ovs/db/*.py[co]