aboutsummaryrefslogtreecommitdiffstats
path: root/node-repository/src/main/java
diff options
context:
space:
mode:
authorValerij Fredriksen <valerijf@yahooinc.com>2022-06-07 16:09:41 +0200
committerValerij Fredriksen <valerijf@yahooinc.com>2022-06-07 16:09:41 +0200
commit414f4652151dc2a0db56a44620b02f83c0eb2164 (patch)
treefc91f52b0092b19e8caaf9177a56f098b153120f /node-repository/src/main/java
parent38e71d4979792c42b0d163268ad1335cf3176b37 (diff)
Mark host as wantToDeprovision before deprovisioning
Diffstat (limited to 'node-repository/src/main/java')
-rw-r--r--node-repository/src/main/java/com/yahoo/vespa/hosted/provision/maintenance/DynamicProvisioningMaintainer.java6
1 files changed, 5 insertions, 1 deletions
diff --git a/node-repository/src/main/java/com/yahoo/vespa/hosted/provision/maintenance/DynamicProvisioningMaintainer.java b/node-repository/src/main/java/com/yahoo/vespa/hosted/provision/maintenance/DynamicProvisioningMaintainer.java
index 4e2447f58e1..4651cc85710 100644
--- a/node-repository/src/main/java/com/yahoo/vespa/hosted/provision/maintenance/DynamicProvisioningMaintainer.java
+++ b/node-repository/src/main/java/com/yahoo/vespa/hosted/provision/maintenance/DynamicProvisioningMaintainer.java
@@ -6,9 +6,9 @@ import com.yahoo.component.Vtag;
import com.yahoo.config.provision.ApplicationId;
import com.yahoo.config.provision.ClusterMembership;
import com.yahoo.config.provision.ClusterSpec;
+import com.yahoo.config.provision.NodeAllocationException;
import com.yahoo.config.provision.NodeResources;
import com.yahoo.config.provision.NodeType;
-import com.yahoo.config.provision.NodeAllocationException;
import com.yahoo.jdisc.Metric;
import com.yahoo.lang.MutableInteger;
import com.yahoo.transaction.Mutex;
@@ -131,6 +131,10 @@ public class DynamicProvisioningMaintainer extends NodeRepositoryMaintainer {
excessHosts.forEach(host -> {
try {
+ // First mark the host as wantToDeprovision so that if hostProvisioner fails, this host
+ // * wont get new nodes allocated to it
+ // * will be selected as excess on next iteration of this maintainer
+ nodeRepository().nodes().deprovision(host.hostname(), Agent.DynamicProvisioningMaintainer, nodeRepository().clock().instant());
hostProvisioner.deprovision(host);
nodeRepository().nodes().removeRecursively(host, true);
} catch (RuntimeException e) {