From 08bd7c31b47a9fecae00b2bbf73a54432341044e Mon Sep 17 00:00:00 2001 From: Devdeep Singh Date: Sat, 21 Jul 2012 22:59:47 +0530 Subject: [PATCH] CS-15646: HA takes long time to migrate VMs to another KVM host if there are multiple storage pools. Getting rid of the sleep, wait suring HA. This is a similar behavior to Xenserver. Changes by Edison. Reviewed-By: Devdeep --- .../cloud/agent/resource/computing/KVMHAChecker.java | 2 +- scripts/vm/hypervisor/kvm/kvmheartbeat.sh | 12 ++++++------ 2 files changed, 7 insertions(+), 7 deletions(-) diff --git a/agent/src/com/cloud/agent/resource/computing/KVMHAChecker.java b/agent/src/com/cloud/agent/resource/computing/KVMHAChecker.java index 60bdeacd2d6..da761f8c760 100644 --- a/agent/src/com/cloud/agent/resource/computing/KVMHAChecker.java +++ b/agent/src/com/cloud/agent/resource/computing/KVMHAChecker.java @@ -49,7 +49,7 @@ public class KVMHAChecker extends KVMHABase implements Callable { cmd.add("-h", _hostIP); cmd.add("-r"); cmd.add("-t", - String.valueOf((_heartBeatUpdateFreq + _heartBeatUpdateTimeout) / 1000 * 2)); + String.valueOf(_heartBeatUpdateFreq/1000)); OutputInterpreter.OneLineParser parser = new OutputInterpreter.OneLineParser(); String result = cmd.execute(parser); s_logger.debug("pool: " + pool._poolIp); diff --git a/scripts/vm/hypervisor/kvm/kvmheartbeat.sh b/scripts/vm/hypervisor/kvm/kvmheartbeat.sh index 27855a85964..aadc2e47656 100755 --- a/scripts/vm/hypervisor/kvm/kvmheartbeat.sh +++ b/scripts/vm/hypervisor/kvm/kvmheartbeat.sh @@ -130,14 +130,14 @@ write_hbLog() { } check_hbLog() { - oldTimeStamp=$(cat $hbFile) - sleep $interval &> /dev/null - newTimeStamp=$(cat $hbFile) - if [ $newTimeStamp -gt $oldTimeStamp ] + now=$(date +%s) + hb=$(cat $hbFile) + diff=`expr $now - $hb` + if [ $diff -gt $interval ] then - return 0 + return 1 fi - return 1 + return 0 } if [ "$rflag" == "1" ]