mirror of
https://github.com/apache/cloudstack.git
synced 2025-10-26 08:42:29 +01:00
Merge pull request #834 from maneesha-p/CLOUDSTACK-8866
CLOUDSTACK-8866 : restart.retry.interval is being used instead of migrate.retry.interval during host maintenanceThe frequency at which Cloudstack tries to migrate the VMs is currently controlled by the global parameter "restart.retry.interval" which has a default value of 600 seconds or 10 minutes.This has to be changed to use "migrate.retry.interval" which by default is 120 seconds or 2 minutes . Cloudstack uses restart.retry.interval for all operations-migrate,restart,stop,destroy. * pr/834: CLOUDSTACK-8866 : restart.retry.interval is being used instead of migrate.retry.interval during host maintenance Signed-off-by: Daan Hoogland <daan@onecht.net>
This commit is contained in:
commit
20dcc25884
@ -761,9 +761,25 @@ public class HighAvailabilityManagerImpl extends ManagerBase implements HighAvai
|
|||||||
work.setDateTaken(null);
|
work.setDateTaken(null);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private long getRescheduleTime(WorkType workType) {
|
||||||
|
switch (workType) {
|
||||||
|
case Migration:
|
||||||
|
return ((System.currentTimeMillis() >> 10) + _migrateRetryInterval);
|
||||||
|
case HA:
|
||||||
|
return ((System.currentTimeMillis() >> 10) + _restartRetryInterval);
|
||||||
|
case Stop:
|
||||||
|
case CheckStop:
|
||||||
|
case ForceStop:
|
||||||
|
return ((System.currentTimeMillis() >> 10) + _stopRetryInterval);
|
||||||
|
case Destroy:
|
||||||
|
return ((System.currentTimeMillis() >> 10) + _restartRetryInterval);
|
||||||
|
}
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
private void processWork(final HaWorkVO work) {
|
private void processWork(final HaWorkVO work) {
|
||||||
try {
|
|
||||||
final WorkType wt = work.getWorkType();
|
final WorkType wt = work.getWorkType();
|
||||||
|
try {
|
||||||
Long nextTime = null;
|
Long nextTime = null;
|
||||||
if (wt == WorkType.Migration) {
|
if (wt == WorkType.Migration) {
|
||||||
nextTime = migrate(work);
|
nextTime = migrate(work);
|
||||||
@ -787,7 +803,7 @@ public class HighAvailabilityManagerImpl extends ManagerBase implements HighAvai
|
|||||||
} catch (Exception e) {
|
} catch (Exception e) {
|
||||||
s_logger.warn("Encountered unhandled exception during HA process, reschedule work", e);
|
s_logger.warn("Encountered unhandled exception during HA process, reschedule work", e);
|
||||||
|
|
||||||
long nextTime = (System.currentTimeMillis() >> 10) + _restartRetryInterval;
|
long nextTime = getRescheduleTime(wt);
|
||||||
rescheduleWork(work, nextTime);
|
rescheduleWork(work, nextTime);
|
||||||
|
|
||||||
// if restart failed in the middle due to exception, VM state may has been changed
|
// if restart failed in the middle due to exception, VM state may has been changed
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user