diff options
author | Jon Bratseth <bratseth@gmail.com> | 2020-04-08 13:27:51 +0200 |
---|---|---|
committer | Jon Bratseth <bratseth@gmail.com> | 2020-04-08 13:27:51 +0200 |
commit | df8cf4a64723a469916f4307c52de6ad62b7f577 (patch) | |
tree | bc484b7a73287ceeb61b9d331848c4067d11cb3e /config-model/src/test | |
parent | 2f736a2961ccbe3977877c143e390668ae7de8bf (diff) |
Validate resource changes by the lower limit
Diffstat (limited to 'config-model/src/test')
4 files changed, 14 insertions, 5 deletions
diff --git a/config-model/src/test/java/com/yahoo/config/model/MockModelContext.java b/config-model/src/test/java/com/yahoo/config/model/MockModelContext.java index 38e438e4d3a..f8ab3cc54c8 100644 --- a/config-model/src/test/java/com/yahoo/config/model/MockModelContext.java +++ b/config-model/src/test/java/com/yahoo/config/model/MockModelContext.java @@ -9,6 +9,7 @@ import com.yahoo.config.model.api.ConfigDefinitionRepo; import com.yahoo.config.model.api.HostProvisioner; import com.yahoo.config.model.api.Model; import com.yahoo.config.model.api.ModelContext; +import com.yahoo.config.model.api.Provisioned; import com.yahoo.config.model.application.provider.BaseDeployLogger; import com.yahoo.config.model.application.provider.MockFileRegistry; import com.yahoo.config.model.application.provider.StaticConfigDefinitionRepo; @@ -53,6 +54,9 @@ public class MockModelContext implements ModelContext { } @Override + public Provisioned provisioned() { return new Provisioned(); } + + @Override public DeployLogger deployLogger() { return new BaseDeployLogger(); } diff --git a/config-model/src/test/java/com/yahoo/vespa/model/application/validation/ValidationTester.java b/config-model/src/test/java/com/yahoo/vespa/model/application/validation/ValidationTester.java index 09e4b377085..915b3c01e1b 100644 --- a/config-model/src/test/java/com/yahoo/vespa/model/application/validation/ValidationTester.java +++ b/config-model/src/test/java/com/yahoo/vespa/model/application/validation/ValidationTester.java @@ -6,6 +6,7 @@ import com.yahoo.collections.Pair; import com.yahoo.config.application.api.ApplicationPackage; import com.yahoo.config.model.api.ConfigChangeAction; import com.yahoo.config.model.api.HostProvisioner; +import com.yahoo.config.model.api.Provisioned; import com.yahoo.config.model.deploy.DeployState; import com.yahoo.config.model.deploy.TestProperties; import com.yahoo.config.model.provision.InMemoryProvisioner; @@ -32,7 +33,7 @@ import static com.yahoo.config.model.test.MockApplicationPackage.MUSIC_SEARCHDEF */ public class ValidationTester { - private final HostProvisioner hostProvisioner; + private final InMemoryProvisioner hostProvisioner; /** Creates a validation tester with 1 node available */ public ValidationTester() { @@ -45,7 +46,7 @@ public class ValidationTester { } /** Creates a validation tester with a given host provisioner */ - public ValidationTester(HostProvisioner hostProvisioner) { + public ValidationTester(InMemoryProvisioner hostProvisioner) { this.hostProvisioner = hostProvisioner; } @@ -63,6 +64,7 @@ public class ValidationTester { Environment environment, String validationOverrides) { Instant now = LocalDate.parse("2000-01-01", DateTimeFormatter.ISO_DATE).atStartOfDay().atZone(ZoneOffset.UTC).toInstant(); + Provisioned provisioned = hostProvisioner.startProvisionedRecording(); ApplicationPackage newApp = new MockApplicationPackage.Builder() .withServices(services) .withSchemas(ImmutableList.of(MUSIC_SEARCHDEFINITION, BOOK_SEARCHDEFINITION)) @@ -77,6 +79,7 @@ public class ValidationTester { .applicationPackage(newApp) .properties(new TestProperties().setHostedVespa(true)) .modelHostProvisioner(hostProvisioner) + .provisioned(provisioned) .now(now); if (previousModel != null) deployStateBuilder.previousModel(previousModel); diff --git a/config-model/src/test/java/com/yahoo/vespa/model/application/validation/change/ClusterSizeReductionValidatorTest.java b/config-model/src/test/java/com/yahoo/vespa/model/application/validation/change/ClusterSizeReductionValidatorTest.java index 895aa4f6a36..87684aca174 100644 --- a/config-model/src/test/java/com/yahoo/vespa/model/application/validation/change/ClusterSizeReductionValidatorTest.java +++ b/config-model/src/test/java/com/yahoo/vespa/model/application/validation/change/ClusterSizeReductionValidatorTest.java @@ -27,7 +27,9 @@ public class ClusterSizeReductionValidatorTest { fail("Expected exception due to cluster size reduction"); } catch (IllegalArgumentException expected) { - assertEquals("cluster-size-reduction: Size reduction in 'default' is too large. Current size: 30, new size: 14. New size must be at least 50% of the current size. " + + assertEquals("cluster-size-reduction: Size reduction in 'default' is too large: " + + "New min size must be at least 50% of the current min size. " + + "Current size: 30, new size: 14. " + ValidationOverrides.toAllowMessage(ValidationId.clusterSizeReduction), Exceptions.toMessageString(expected)); } diff --git a/config-model/src/test/java/com/yahoo/vespa/model/application/validation/change/ResourcesReductionValidatorTest.java b/config-model/src/test/java/com/yahoo/vespa/model/application/validation/change/ResourcesReductionValidatorTest.java index 1322a9061ed..9a363789798 100644 --- a/config-model/src/test/java/com/yahoo/vespa/model/application/validation/change/ResourcesReductionValidatorTest.java +++ b/config-model/src/test/java/com/yahoo/vespa/model/application/validation/change/ResourcesReductionValidatorTest.java @@ -30,7 +30,7 @@ public class ResourcesReductionValidatorTest { fail("Expected exception due to resources reduction"); } catch (IllegalArgumentException expected) { assertEquals("resources-reduction: Resource reduction in 'default' is too large. " + - "Current memory GB: 64.00, new: 16.00. New resources must be at least 50% of the current resources. " + + "Current memory GB: 64.00, new: 16.00. New min resources must be at least 50% of the current min resources. " + ValidationOverrides.toAllowMessage(ValidationId.resourcesReduction), Exceptions.toMessageString(expected)); } @@ -45,7 +45,7 @@ public class ResourcesReductionValidatorTest { } catch (IllegalArgumentException expected) { assertEquals("resources-reduction: Resource reduction in 'default' is too large. " + "Current vCPU: 8.00, new: 3.00. Current memory GB: 64.00, new: 16.00. Current disk GB: 800.00, new: 200.00. " + - "New resources must be at least 50% of the current resources. " + + "New min resources must be at least 50% of the current min resources. " + ValidationOverrides.toAllowMessage(ValidationId.resourcesReduction), Exceptions.toMessageString(expected)); } |