diff options
-rw-r--r-- | node-repository/src/main/java/com/yahoo/vespa/hosted/provision/maintenance/RetiredExpirer.java | 14 |
1 files changed, 11 insertions, 3 deletions
diff --git a/node-repository/src/main/java/com/yahoo/vespa/hosted/provision/maintenance/RetiredExpirer.java b/node-repository/src/main/java/com/yahoo/vespa/hosted/provision/maintenance/RetiredExpirer.java index 86d4caef94b..6036399d83e 100644 --- a/node-repository/src/main/java/com/yahoo/vespa/hosted/provision/maintenance/RetiredExpirer.java +++ b/node-repository/src/main/java/com/yahoo/vespa/hosted/provision/maintenance/RetiredExpirer.java @@ -92,17 +92,25 @@ public class RetiredExpirer extends Maintainer { */ private boolean canRemove(Node node) { if (node.type().isDockerHost()) { - return nodeRepository() - .getChildNodes(node.hostname()).stream() - .allMatch(child -> child.state() == Node.State.parked || child.state() == Node.State.failed); + if (nodeRepository() + .getChildNodes(node.hostname()).stream() + .allMatch(child -> child.state() == Node.State.parked || + child.state() == Node.State.failed)) { + log.info("Docker host " + node + " has no non-parked/failed children"); + return true; + } + + return false; } if (node.history().hasEventBefore(History.Event.Type.retired, clock.instant().minus(retiredExpiry))) { + log.info("Node " + node + " has been retired longer than " + retiredExpiry); return true; } try { orchestrator.acquirePermissionToRemove(new HostName(node.hostname())); + log.info("Node " + node + " has been granted permission to be removed"); return true; } catch (OrchestrationException e) { log.info("Did not get permission to remove retired " + node + ": " + e.getMessage()); |