Failed and breakfixed hosts are always noop in CMRs
@@ -214,6 +214,10 @@ public class VcmrMaintainer extends ControllerMaintainer {
return hostAction.withState(State.PENDING_RETIREMENT);
}
+ if (isFailed(node)) {
+ return hostAction.withState(State.NONE);
+ }
+
return hostAction;
}
@@ -260,6 +264,11 @@ public class VcmrMaintainer extends ControllerMaintainer {
action.getState() == State.RETIRING && !node.wantToRetire();
}
+ private boolean isFailed(Node node) {
+ return node.state() == Node.State.failed ||
+ node.state() == Node.State.breakfixed;
+ }
+
private Map<ZoneId, List<Node>> nodesByZone() {
return controller().zoneRegistry()
.zones()
