aboutsummaryrefslogtreecommitdiffstats
path: root/node-repository/src/main/java/com/yahoo/vespa/hosted/provision/maintenance/ProvisionedExpirer.java
diff options
context:
space:
mode:
authorMartin Polden <mpolden@mpolden.no>2021-03-18 16:49:28 +0100
committerMartin Polden <mpolden@mpolden.no>2021-03-18 16:49:28 +0100
commit641b6e3270f68e90cc346a4d90b65822e460a812 (patch)
tree7c488bd3b5e85cd9d7073b5f44df8b2a16169811 /node-repository/src/main/java/com/yahoo/vespa/hosted/provision/maintenance/ProvisionedExpirer.java
parent4d0b336ec82a27c489957427273a0959c88edafd (diff)
Only expire tenant hosts from provisioned
Diffstat (limited to 'node-repository/src/main/java/com/yahoo/vespa/hosted/provision/maintenance/ProvisionedExpirer.java')
-rw-r--r--node-repository/src/main/java/com/yahoo/vespa/hosted/provision/maintenance/ProvisionedExpirer.java14
1 files changed, 11 insertions, 3 deletions
diff --git a/node-repository/src/main/java/com/yahoo/vespa/hosted/provision/maintenance/ProvisionedExpirer.java b/node-repository/src/main/java/com/yahoo/vespa/hosted/provision/maintenance/ProvisionedExpirer.java
index c5a2bc97ef2..7a29414642e 100644
--- a/node-repository/src/main/java/com/yahoo/vespa/hosted/provision/maintenance/ProvisionedExpirer.java
+++ b/node-repository/src/main/java/com/yahoo/vespa/hosted/provision/maintenance/ProvisionedExpirer.java
@@ -1,6 +1,7 @@
// Copyright 2017 Yahoo Holdings. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root.
package com.yahoo.vespa.hosted.provision.maintenance;
+import com.yahoo.config.provision.NodeType;
import com.yahoo.jdisc.Metric;
import com.yahoo.vespa.hosted.provision.Node;
import com.yahoo.vespa.hosted.provision.NodeRepository;
@@ -11,7 +12,11 @@ import java.time.Duration;
import java.util.List;
/**
- * This moves nodes from provisioned to parked if they have been in provisioned too long.
+ * This moves nodes of type {@link NodeType#host} from preovisioned to parked if they have been in provisioned too long.
+ *
+ * Only {@link NodeType#host} is moved because any number of nodes of that type can exist. Other node types such as
+ * {@link NodeType#confighost} have a fixed number and thus cannot be replaced while the fixed number of nodes exist in
+ * any state.
*
* @author freva
*/
@@ -23,8 +28,11 @@ public class ProvisionedExpirer extends Expirer {
@Override
protected void expire(List<Node> expired) {
- for (Node expiredNode : expired)
- nodeRepository().nodes().parkRecursively(expiredNode.hostname(), Agent.ProvisionedExpirer, "Node is stuck in provisioned");
+ for (Node expiredNode : expired) {
+ if (expiredNode.type() == NodeType.host) {
+ nodeRepository().nodes().parkRecursively(expiredNode.hostname(), Agent.ProvisionedExpirer, "Node is stuck in provisioned");
+ }
+ }
}
}