aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--node-repository/src/main/java/com/yahoo/vespa/hosted/provision/maintenance/RetiredExpirer.java14
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());