mirror of
https://github.com/apache/cloudstack.git
synced 2025-10-26 08:42:29 +01:00
if storage network disconnected, reboot the host
This commit is contained in:
parent
24737154b7
commit
d8ee7d9fc3
@ -75,7 +75,13 @@ public class KVMHAMonitor extends KVMHABase implements Runnable{
|
|||||||
cmd.add("-h", _hostIP);
|
cmd.add("-h", _hostIP);
|
||||||
String result = cmd.execute();
|
String result = cmd.execute();
|
||||||
if (result != null) {
|
if (result != null) {
|
||||||
s_logger.debug("write heartbeat failed: " + result);
|
s_logger.debug("write heartbeat failed: " + result + "; destroy all the vms on this host");
|
||||||
|
cmd = new Script(_heartBeatPath, _heartBeatUpdateTimeout, s_logger);
|
||||||
|
cmd.add("-i", primaryStoragePool._poolIp);
|
||||||
|
cmd.add("-p", primaryStoragePool._poolMountSourcePath);
|
||||||
|
cmd.add("-m", primaryStoragePool._mountDestPath);
|
||||||
|
cmd.add("-c");
|
||||||
|
result = cmd.execute();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -64,6 +64,7 @@
|
|||||||
<adapters key="com.cloud.ha.Investigator">
|
<adapters key="com.cloud.ha.Investigator">
|
||||||
<adapter name="SimpleInvestigator" class="com.cloud.ha.CheckOnAgentInvestigator"/>
|
<adapter name="SimpleInvestigator" class="com.cloud.ha.CheckOnAgentInvestigator"/>
|
||||||
<adapter name="PingInvestigator" class="com.cloud.ha.InvestigatorImpl"/>
|
<adapter name="PingInvestigator" class="com.cloud.ha.InvestigatorImpl"/>
|
||||||
|
<adapter name="XenServerInvestigator" class="com.cloud.ha.XenServerInvestigator"/>
|
||||||
</adapters>
|
</adapters>
|
||||||
<adapters key="com.cloud.ha.FenceBuilder">
|
<adapters key="com.cloud.ha.FenceBuilder">
|
||||||
<adapter name="XenServerFenceBuilder" class="com.cloud.ha.XenServerFencer"/>
|
<adapter name="XenServerFenceBuilder" class="com.cloud.ha.XenServerFencer"/>
|
||||||
|
|||||||
@ -24,6 +24,7 @@ help() {
|
|||||||
-m mount point
|
-m mount point
|
||||||
-h host
|
-h host
|
||||||
-r write/read hb log
|
-r write/read hb log
|
||||||
|
-c cleanup
|
||||||
-t interval between read hb log\n"
|
-t interval between read hb log\n"
|
||||||
exit 1
|
exit 1
|
||||||
}
|
}
|
||||||
@ -34,8 +35,9 @@ MountPoint=
|
|||||||
HostIP=
|
HostIP=
|
||||||
interval=
|
interval=
|
||||||
rflag=0
|
rflag=0
|
||||||
|
cflag=0
|
||||||
|
|
||||||
while getopts 'i:p:m:h:t:r' OPTION
|
while getopts 'i:p:m:h:t:rc' OPTION
|
||||||
do
|
do
|
||||||
case $OPTION in
|
case $OPTION in
|
||||||
i)
|
i)
|
||||||
@ -56,6 +58,9 @@ do
|
|||||||
t)
|
t)
|
||||||
interval="$OPTARG"
|
interval="$OPTARG"
|
||||||
;;
|
;;
|
||||||
|
c)
|
||||||
|
cflag=1
|
||||||
|
;;
|
||||||
*)
|
*)
|
||||||
help
|
help
|
||||||
;;
|
;;
|
||||||
@ -71,7 +76,7 @@ fi
|
|||||||
#delete VMs on this mountpoint
|
#delete VMs on this mountpoint
|
||||||
deleteVMs() {
|
deleteVMs() {
|
||||||
local mountPoint=$1
|
local mountPoint=$1
|
||||||
vmPids=$(ps aux| grep qemu | grep $mountPoint* | awk '{print $2}' &> /dev/null)
|
vmPids=$(ps aux| grep qemu | grep "$mountPoint" | awk '{print $2}' 2> /dev/null)
|
||||||
if [ $? -gt 0 ]
|
if [ $? -gt 0 ]
|
||||||
then
|
then
|
||||||
return
|
return
|
||||||
@ -82,7 +87,7 @@ deleteVMs() {
|
|||||||
return
|
return
|
||||||
fi
|
fi
|
||||||
|
|
||||||
for pid in vmPids
|
for pid in $vmPids
|
||||||
do
|
do
|
||||||
kill -9 $pid &> /dev/null
|
kill -9 $pid &> /dev/null
|
||||||
done
|
done
|
||||||
@ -149,6 +154,10 @@ then
|
|||||||
echo "=====> DEAD <======"
|
echo "=====> DEAD <======"
|
||||||
fi
|
fi
|
||||||
exit 0
|
exit 0
|
||||||
|
elif [ "$cflag" == "1" ]
|
||||||
|
then
|
||||||
|
reboot
|
||||||
|
exit $?
|
||||||
else
|
else
|
||||||
write_hbLog
|
write_hbLog
|
||||||
exit $?
|
exit $?
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user