summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJustin Pettit <jpettit@nicira.com>2011-05-09 23:30:07 -0700
committerBen Pfaff <blp@nicira.com>2011-05-23 09:18:31 -0700
commitf9b1f3983adfe00b953c7a6042d6f90df150e758 (patch)
treec34de2889f8b4503e817f3529a9f067885c5f957
parent0f50458b0a3054566c4f5cd70e0bc92ca7dafe49 (diff)
downloadopenvswitch-f9b1f3983adfe00b953c7a6042d6f90df150e758.tar.gz
xenserver: Fix bugs related to using xe-switch-network-backend in spec file.
Commit daf2ebb (xenserver: Use xe-switch-network-stack in RPM spec file.) changed the spec file to use xe-switch-network-backend instead of directly modifying "/etc/xensource/network.conf". It incorrectly assumed that the command was in the search path. It also didn't take into account that the command will remove the "openvswitch" service with chkconfig. This commit fixes those errors. Signed-off-by: Justin Pettit <jpettit@nicira.com>
-rw-r--r--xenserver/openvswitch-xen.spec20
1 files changed, 13 insertions, 7 deletions
diff --git a/xenserver/openvswitch-xen.spec b/xenserver/openvswitch-xen.spec
index 6c030a45b..492e0dc3a 100644
--- a/xenserver/openvswitch-xen.spec
+++ b/xenserver/openvswitch-xen.spec
@@ -228,8 +228,8 @@ done
if [ "$1" = "1" ]; then # $1 = 2 for upgrade
# Configure system to use Open vSwitch
- xe-switch-network-backend vswitch
-else
+ /opt/xensource/bin/xe-switch-network-backend vswitch
+else # $1 = 2 for upgrade
mode=$(cat /etc/xensource/network.conf)
if [ "$mode" != "vswitch" ] && [ "$mode" != "openvswitch" ]; then
@@ -249,9 +249,16 @@ fi
depmod %{xen_version}
%preun
-if [ "$1" = "0" ]; then # $1 = 1 for upgrade
+if [ "$1" = "0" ]; then # $1 = 0 for uninstall
+ # Configure system to use bridge
+ /opt/xensource/bin/xe-switch-network-backend bridge
+
+ # The "openvswitch" service should have been removed from
+ # "xe-switch-network-backend bridge".
for s in openvswitch openvswitch-xapi-update; do
- chkconfig --del $s || printf "Could not remove $s init script."
+ if chkconfig --list $s >/dev/null 2>&1; then
+ chkconfig --del $s || printf "Could not remove $s init script."
+ fi
done
fi
@@ -305,11 +312,10 @@ if [ "$1" = "0" ]; then # $1 = 1 for upgrade
# Remove saved XenServer scripts directory, but only if it's empty
rmdir -p /usr/lib/openvswitch/xs-saved 2>/dev/null
-
- # Configure system to use bridge
- xe-switch-network-backend bridge
fi
+exit 0
+
%files
%defattr(-,root,root)
/etc/init.d/openvswitch