diff options
author | Jon Bratseth <bratseth@vespa.ai> | 2023-06-05 12:21:09 +0200 |
---|---|---|
committer | Jon Bratseth <bratseth@vespa.ai> | 2023-06-05 12:21:09 +0200 |
commit | 49804f65a79b112965b217335582dd1cf0fd70a8 (patch) | |
tree | b77846df4fe91bd9c88889e89471954e42a85bf9 /config-model/src/main | |
parent | 3da8ab9f812c32272f6b95b2f04384c90e04cd74 (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.java | 13 |
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) { |