cloudstack/server
Nicolas Vazquez 13c81a8ee4 server: Prevent corner case for infinite PrepareForMaintenance (#3095)
A corner case was found on 4.11.2 for #2493 leading to an infinite loop in state PrepareForMaintenance

To prevent such cases, in which failed migrations are detected but still running on the host, this feature adds a new cluster setting host.maintenance.retries which is the number of retries before marking the host as ErrorInMaintenance if migration errors persist.

How Has This Been Tested?
- 2 KVM hosts, pick one which has running VMs as H
- Block migrations ports on H to simulate failures on migrations:
iptables -I OUTPUT -j REJECT -m state --state NEW -m tcp -p tcp --dport 49152:49215 -m comment --comment 'test block migrations' iptables -I OUTPUT -j REJECT -m state --state NEW -m tcp -p tcp --dport 16509 -m comment --comment 'test block migrations
- Put host H in Maintenance
- Observe that host is indefinitely in PrepareForMaintenance state (after this fix it goes into ErrorInMaintenance after retrying host.maintenance.retries times)
2018-12-28 15:14:16 +05:30
..
conf Remove extraneous log directory and add catalina.out log rotation 2016-05-12 08:41:39 +01:00
resources api: don't throttle api discovery for listApis command (#2894) 2018-12-12 23:55:32 +05:30
scripts License header updates for the server folder. 2012-08-03 09:41:27 -04:00
src server: Prevent corner case for infinite PrepareForMaintenance (#3095) 2018-12-28 15:14:16 +05:30
test server: Prevent corner case for infinite PrepareForMaintenance (#3095) 2018-12-28 15:14:16 +05:30
pom.xml Updating pom.xml version numbers for release 4.11.3.0-SNAPSHOT 2018-11-20 13:11:52 +00:00