summaryrefslogtreecommitdiffstats
path: root/config-model/src/test/java
diff options
context:
space:
mode:
authorJon Bratseth <bratseth@oath.com>2021-02-16 12:19:21 +0100
committerGitHub <noreply@github.com>2021-02-16 12:19:21 +0100
commit605a548159baba46523711ede9fc76924b1dd5df (patch)
treebdcbf5e5b8d0ce61506f89de48df3c720d0dea21 /config-model/src/test/java
parent5d2b6d30ef5cc3ba48928286f1da4b5907c5b434 (diff)
parent8125df94dc66bf3765fc6335c6dc65c4a0e3a6d5 (diff)
Merge pull request #16533 from vespa-engine/bratseth/generalize-nodes-messager
Generalize error message and make tests more realistic
Diffstat (limited to 'config-model/src/test/java')
-rw-r--r--config-model/src/test/java/com/yahoo/config/model/provision/ModelProvisioningTest.java1
-rw-r--r--config-model/src/test/java/com/yahoo/vespa/model/test/VespaModelTester.java37
2 files changed, 34 insertions, 4 deletions
diff --git a/config-model/src/test/java/com/yahoo/config/model/provision/ModelProvisioningTest.java b/config-model/src/test/java/com/yahoo/config/model/provision/ModelProvisioningTest.java
index 3e6a3332f9a..41fb571d829 100644
--- a/config-model/src/test/java/com/yahoo/config/model/provision/ModelProvisioningTest.java
+++ b/config-model/src/test/java/com/yahoo/config/model/provision/ModelProvisioningTest.java
@@ -1405,6 +1405,7 @@ public class ModelProvisioningTest {
"</container>" +
"</services>";
VespaModelTester tester = new VespaModelTester();
+ tester.setHosted(false);
tester.addHosts(1);
VespaModel model = tester.createModel(services, true);
assertEquals(1, model.getRoot().hostSystem().getHosts().size());
diff --git a/config-model/src/test/java/com/yahoo/vespa/model/test/VespaModelTester.java b/config-model/src/test/java/com/yahoo/vespa/model/test/VespaModelTester.java
index ce8d2c193b9..90ad240ff73 100644
--- a/config-model/src/test/java/com/yahoo/vespa/model/test/VespaModelTester.java
+++ b/config-model/src/test/java/com/yahoo/vespa/model/test/VespaModelTester.java
@@ -15,8 +15,13 @@ import com.yahoo.config.model.provision.InMemoryProvisioner;
import com.yahoo.config.model.provision.SingleNodeProvisioner;
import com.yahoo.config.provision.AllocatedHosts;
import com.yahoo.config.provision.ApplicationId;
+import com.yahoo.config.provision.Capacity;
+import com.yahoo.config.provision.ClusterSpec;
import com.yahoo.config.provision.Flavor;
+import com.yahoo.config.provision.HostSpec;
import com.yahoo.config.provision.NodeResources;
+import com.yahoo.config.provision.ProvisionLogger;
+import com.yahoo.config.provision.Provisioner;
import com.yahoo.config.provision.Zone;
import com.yahoo.vespa.model.VespaModel;
import com.yahoo.vespa.model.test.utils.ApplicationPackageUtils;
@@ -47,7 +52,7 @@ public class VespaModelTester {
private final ConfigModelRegistry configModelRegistry;
private boolean hosted = true;
- private Map<NodeResources, Collection<Host>> hostsByResources = new HashMap<>();
+ private final Map<NodeResources, Collection<Host>> hostsByResources = new HashMap<>();
private ApplicationId applicationId = ApplicationId.defaultId();
private boolean useDedicatedNodeForLogserver = false;
@@ -139,9 +144,12 @@ public class VespaModelTester {
ApplicationPackage appPkg = modelCreatorWithMockPkg.appPkg;
HostProvisioner provisioner = hosted ?
- new InMemoryProvisioner(hostsByResources, failOnOutOfCapacity, useMaxResources,
- false,
- startIndexForClusters, retiredHostNames) :
+ new ProvisionerAdapter(new InMemoryProvisioner(hostsByResources,
+ failOnOutOfCapacity,
+ useMaxResources,
+ false,
+ startIndexForClusters,
+ retiredHostNames)) :
new SingleNodeProvisioner();
TestProperties properties = new TestProperties()
@@ -159,4 +167,25 @@ public class VespaModelTester {
return modelCreatorWithMockPkg.create(false, deployState.build(), configModelRegistry);
}
+ /** To verify that we don't call allocateHost(alias) in hosted environments */
+ private static class ProvisionerAdapter implements HostProvisioner {
+
+ private final HostProvisioner provisioner;
+
+ public ProvisionerAdapter(HostProvisioner provisioner) {
+ this.provisioner = provisioner;
+ }
+
+ @Override
+ public HostSpec allocateHost(String alias) {
+ throw new UnsupportedOperationException("Allocating hosts using <node> tags is not supported in hosted environments, " +
+ "use <nodes count='N'> instead, see https://cloud.vespa.ai/en/reference/services");
+ }
+
+ @Override
+ public List<HostSpec> prepare(ClusterSpec cluster, Capacity capacity, ProvisionLogger logger) {
+ return provisioner.prepare(cluster, capacity, logger);
+ }
+
+ }
}