xenserver: Restart HA daemon after force-reload-kmod.
authorBen Pfaff <blp@nicira.com>
Wed, 29 Jun 2011 22:55:15 +0000 (15:55 -0700)
committerBen Pfaff <blp@nicira.com>
Wed, 29 Jun 2011 23:10:43 +0000 (16:10 -0700)
Otherwise its heartbeats start failing after the reload and the XenServer
reboots after a minute or so.

Thanks to Justin Pettit for figuring out that this was HA-related.

Bug #5706.
Reported-by: Henrik Amren <henrik@nicira.com>
xenserver/etc_init.d_openvswitch

index 81039004035d5ca3eb75a152354b1c0ab06832b1..534b81d16861f117a949b959d1744091f679c46d 100755 (executable)
@@ -81,6 +81,18 @@ start () {
     touch /var/lock/subsys/openvswitch
 }
 
+force_reload_kmod () {
+    start force-reload-kmod
+
+    # Restart the high-availability daemon if it is running.  Otherwise
+    # it loses its heartbeat and reboots the system after a few minutes.
+    if pidof xhad >/dev/null && test -e /etc/xensource/xhad.conf; then
+       PATH=$PATH:/opt/xensource/xha
+       action "Stopping HA daemon" ha_stop_daemon
+       action "Starting HA daemon" ha_start_daemon
+    fi
+}
+
 stop () {
     $ovs_ctl stop
     stop_daemon ovs-xapi-sync
@@ -114,7 +126,7 @@ case $1 in
         $ovs_ctl version
         ;;
     force-reload-kmod)
-        start force-reload-kmod
+        force_reload_kmod
         ;;
     help)
         printf "openvswitch [start|stop|restart|reload|force-reload|status|version]\n"