aboutsummaryrefslogtreecommitdiffstats
path: root/config-model/src/main
diff options
context:
space:
mode:
authorJon Bratseth <bratseth@vespa.ai>2023-06-05 12:21:09 +0200
committerJon Bratseth <bratseth@vespa.ai>2023-06-05 12:21:09 +0200
commit49804f65a79b112965b217335582dd1cf0fd70a8 (patch)
treeb77846df4fe91bd9c88889e89471954e42a85bf9 /config-model/src/main
parent3da8ab9f812c32272f6b95b2f04384c90e04cd74 (diff)
Don't validate max in test zones
Diffstat (limited to 'config-model/src/main')
-rw-r--r--config-model/src/main/java/com/yahoo/vespa/model/application/validation/QuotaValidator.java13
1 files changed, 7 insertions, 6 deletions
diff --git a/config-model/src/main/java/com/yahoo/vespa/model/application/validation/QuotaValidator.java b/config-model/src/main/java/com/yahoo/vespa/model/application/validation/QuotaValidator.java
index 5405a528150..f0c29c74705 100644
--- a/config-model/src/main/java/com/yahoo/vespa/model/application/validation/QuotaValidator.java
+++ b/config-model/src/main/java/com/yahoo/vespa/model/application/validation/QuotaValidator.java
@@ -8,6 +8,7 @@ import com.yahoo.config.provision.ClusterSpec;
import com.yahoo.config.provision.NodeResources;
import com.yahoo.config.provision.QuotaExceededException;
import com.yahoo.config.provision.SystemName;
+import com.yahoo.config.provision.Zone;
import com.yahoo.vespa.model.VespaModel;
import java.math.BigDecimal;
@@ -32,11 +33,10 @@ public class QuotaValidator extends Validator {
public void validate(VespaModel model, DeployState deployState) {
var quota = deployState.getProperties().quota();
quota.maxClusterSize().ifPresent(maxClusterSize -> validateMaxClusterSize(maxClusterSize, model));
- quota.budgetAsDecimal().ifPresent(budget -> validateBudget(budget, model, deployState.getProperties().zone().system()));
+ quota.budgetAsDecimal().ifPresent(budget -> validateBudget(budget, model, deployState.getProperties().zone()));
}
- private void validateBudget(BigDecimal budget, VespaModel model, SystemName systemName) {
-
+ private void validateBudget(BigDecimal budget, VespaModel model, Zone zone) {
var maxSpend = model.allClusters().stream()
.filter(id -> !adminClusterIds(model).contains(id))
.map(id -> model.provisioned().all().getOrDefault(id, zeroCapacity))
@@ -53,9 +53,10 @@ public class QuotaValidator extends Validator {
return;
}
- throwIfBudgetNegative(actualSpend, budget, systemName);
- throwIfBudgetExceeded(actualSpend, budget, systemName, true);
- throwIfBudgetExceeded(maxSpend, budget, systemName, false);
+ throwIfBudgetNegative(actualSpend, budget, zone.system());
+ throwIfBudgetExceeded(actualSpend, budget, zone.system(), true);
+ if ( ! zone.environment().isTest()) // Usage is constant after deploy in test zones
+ throwIfBudgetExceeded(maxSpend, budget, zone.system(), false);
}
private Set<ClusterSpec.Id> adminClusterIds(VespaModel model) {