diff options
author | Valerij Fredriksen <valerijf@yahooinc.com> | 2022-06-07 16:09:41 +0200 |
---|---|---|
committer | Valerij Fredriksen <valerijf@yahooinc.com> | 2022-06-07 16:09:41 +0200 |
commit | 414f4652151dc2a0db56a44620b02f83c0eb2164 (patch) | |
tree | fc91f52b0092b19e8caaf9177a56f098b153120f /node-repository | |
parent | 38e71d4979792c42b0d163268ad1335cf3176b37 (diff) |
Mark host as wantToDeprovision before deprovisioning
Diffstat (limited to 'node-repository')
-rw-r--r-- | node-repository/src/main/java/com/yahoo/vespa/hosted/provision/maintenance/DynamicProvisioningMaintainer.java | 6 |
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) { |