install -d -m 755 $RPM_BUILD_ROOT/etc/xapi.d/plugins
install -m 755 xenserver/etc_xapi.d_plugins_openvswitch-cfg-update \
$RPM_BUILD_ROOT/etc/xapi.d/plugins/openvswitch-cfg-update
+install -d -m 755 $RPM_BUILD_ROOT/etc/xensource/bugtool/network-status
+install -m 644 xenserver/etc_xensource_bugtool_network-status_openvswitch.xml \
+ $RPM_BUILD_ROOT/etc/xensource/bugtool/network-status/openvswitch.xml
install -d -m 755 $RPM_BUILD_ROOT/usr/share/openvswitch/scripts
install -m 644 vswitchd/vswitch.ovsschema \
$RPM_BUILD_ROOT/usr/share/openvswitch/vswitch.ovsschema
$RPM_BUILD_ROOT/usr/share/openvswitch/scripts/vif
install -m 755 xenserver/usr_share_openvswitch_scripts_ovs-xapi-sync \
$RPM_BUILD_ROOT/usr/share/openvswitch/scripts/ovs-xapi-sync
-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 \
$RPM_BUILD_ROOT/usr/share/openvswitch/scripts/sysconfig.template
+install -m 755 xenserver/usr_share_openvswitch_scripts_xen-bugtool-tc-class-show \
+ $RPM_BUILD_ROOT/usr/share/openvswitch/scripts/xen-bugtool-tc-class-show
install -m 755 utilities/ovs-save \
$RPM_BUILD_ROOT/usr/share/openvswitch/scripts/ovs-save
install -d -m 755 $RPM_BUILD_ROOT/usr/lib/xsconsole/plugins-base
rm -rf $RPM_BUILD_ROOT
%post
-if test ! -e /var/xapi/network.dbcache; then
- if test "$1" = 1; then
- printf "Creating xapi database cache... "
- else
- printf "warning: Open vSwitch is being re-installed or upgraded,\n"
- printf " but the xapi database cache is missing.\n"
- printf "Re-creating xapi database cache... "
- fi
+# Do not run the first block if we are in the XenServer installer
+if runlevel >/dev/null 2>&1; then
+ if test ! -e /var/xapi/network.dbcache; then
+ if test "$1" = 1; then
+ printf "Creating xapi database cache... "
+ else
+ printf "warning: Open vSwitch is being re-installed or upgraded,\n"
+ printf " but the xapi database cache is missing.\n"
+ printf "Re-creating xapi database cache... "
+ fi
- if /usr/share/openvswitch/scripts/interface-reconfigure rewrite; then
- printf "done.\n"
- else
- printf "FAILED\n"
- printf "Open vSwitch can only be installed on a XenServer that\n"
- printf "has connectivity to xapi on the pool master. Please\n"
- printf "fix connectivity to the pool master, then try again.\n"
- exit 1
+ if /usr/share/openvswitch/scripts/interface-reconfigure rewrite; then
+ printf "done.\n"
+ else
+ printf "FAILED\n"
+ printf "Open vSwitch can only be installed on a XenServer that\n"
+ printf "has connectivity to xapi on the pool master. Please\n"
+ printf "fix connectivity to the pool master, then try again.\n"
+ exit 1
+ fi
fi
fi
/opt/xensource/libexec/InterfaceReconfigure.py \
/opt/xensource/libexec/InterfaceReconfigureBridge.py \
/opt/xensource/libexec/InterfaceReconfigureVswitch.py \
- /etc/xensource/scripts/vif \
- /usr/sbin/xen-bugtool
+ /etc/xensource/scripts/vif
do
s=$(basename "$f")
t=$(readlink "$f")
fi
done
+# Bug #4667: one-time cleanup of brctl removal in commit 54f16a10
+# (xenserver: Remove brctl wrapper script).
+if [ -h /usr/sbin/brctl ] &&
+ [ "$(readlink /usr/sbin/brctl)" = /usr/share/openvswitch/scripts/brctl ]; then
+ mv -f /usr/lib/openvswitch/xs-original/brctl /usr/sbin/
+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
- 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
- do
- s=$(basename "$f")
- if [ ! -f "/usr/lib/openvswitch/xs-original/$s" ]; then
- printf "Original XenServer $s script not present in /usr/lib/openvswitch/xs-original\n"
- printf "Could not restore original XenServer script.\n"
- else
- (rm -f "$f" \
- && mv "/usr/lib/openvswitch/xs-original/$s" "$f") \
- || printf "Could not restore original XenServer $s script.\n"
- fi
- done
+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
+do
+ s=$(basename "$f")
+ if [ ! -f "/usr/lib/openvswitch/xs-original/$s" ]; then
+ printf "Original XenServer $s script not present in /usr/lib/openvswitch/xs-original\n"
+ printf "Could not restore original XenServer script.\n"
+ else
+ (rm -f "$f" \
+ && mv "/usr/lib/openvswitch/xs-original/$s" "$f") \
+ || printf "Could not restore original XenServer $s script.\n"
+ fi
+done
+
+if [ "$1" = "0" ]; then # $1 = 1 for upgrade
# Remove all configuration files
rm -f /etc/openvswitch/conf.db
rm -f /etc/sysconfig/openvswitch
printf "could leave the server in a state requiring manual recovery.\n\n"
fi
-
%files
%defattr(-,root,root)
/etc/init.d/openvswitch
/etc/init.d/openvswitch-xapi-update
/etc/xapi.d/plugins/openvswitch-cfg-update
+/etc/xensource/bugtool/network-status/openvswitch.xml
/etc/logrotate.d/openvswitch
/etc/profile.d/openvswitch.sh
/lib/modules/%{xen_version}/kernel/extra/openvswitch/openvswitch_mod.ko
/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/sysconfig.template
+/usr/share/openvswitch/scripts/xen-bugtool-tc-class-show
/usr/share/openvswitch/scripts/ovs-save
/usr/share/openvswitch/vswitch.ovsschema
/usr/sbin/ovs-vswitchd