aboutsummaryrefslogtreecommitdiffstats
path: root/config-model
diff options
context:
space:
mode:
Diffstat (limited to 'config-model')
-rw-r--r--config-model/src/main/java/com/yahoo/config/model/deploy/TestProperties.java4
-rw-r--r--config-model/src/main/java/com/yahoo/vespa/model/builder/xml/dom/NodesSpecification.java10
-rw-r--r--config-model/src/main/java/com/yahoo/vespa/model/content/cluster/ContentCluster.java8
-rw-r--r--config-model/src/test/java/com/yahoo/config/model/provision/ModelProvisioningTest.java23
-rw-r--r--config-model/src/test/java/com/yahoo/vespa/model/admin/ClusterControllerTestCase.java2
5 files changed, 10 insertions, 37 deletions
diff --git a/config-model/src/main/java/com/yahoo/config/model/deploy/TestProperties.java b/config-model/src/main/java/com/yahoo/config/model/deploy/TestProperties.java
index 502072de1c7..3d06fdf6758 100644
--- a/config-model/src/main/java/com/yahoo/config/model/deploy/TestProperties.java
+++ b/config-model/src/main/java/com/yahoo/config/model/deploy/TestProperties.java
@@ -50,7 +50,6 @@ public class TestProperties implements ModelContext.Properties, ModelContext.Fea
private boolean useAccessControlTlsHandshakeClientAuth;
private boolean useAsyncMessageHandlingOnSchedule = false;
private double feedConcurrency = 0.5;
- private boolean enableAutomaticReindexing = false;
private boolean reconfigurableZookeeperServer = false;
private boolean useBucketExecutorForLidSpaceCompact;
private boolean useBucketExecutorForBucketMove;
@@ -90,7 +89,6 @@ public class TestProperties implements ModelContext.Properties, ModelContext.Fea
@Override public boolean useAccessControlTlsHandshakeClientAuth() { return useAccessControlTlsHandshakeClientAuth; }
@Override public boolean useAsyncMessageHandlingOnSchedule() { return useAsyncMessageHandlingOnSchedule; }
@Override public double feedConcurrency() { return feedConcurrency; }
- @Override public boolean enableAutomaticReindexing() { return enableAutomaticReindexing; }
@Override public boolean reconfigurableZookeeperServer() { return reconfigurableZookeeperServer; }
@Override public boolean useBucketExecutorForLidSpaceCompact() { return useBucketExecutorForLidSpaceCompact; }
@Override public boolean useBucketExecutorForBucketMove() { return useBucketExecutorForBucketMove; }
@@ -199,8 +197,6 @@ public class TestProperties implements ModelContext.Properties, ModelContext.Fea
return this;
}
- public TestProperties enableAutomaticReindexing(boolean enabled) { this.enableAutomaticReindexing = enabled; return this; }
-
public TestProperties reconfigurableZookeeperServer(boolean enabled) {
this.reconfigurableZookeeperServer = enabled;
return this;
diff --git a/config-model/src/main/java/com/yahoo/vespa/model/builder/xml/dom/NodesSpecification.java b/config-model/src/main/java/com/yahoo/vespa/model/builder/xml/dom/NodesSpecification.java
index 498461fa3f8..67882e17255 100644
--- a/config-model/src/main/java/com/yahoo/vespa/model/builder/xml/dom/NodesSpecification.java
+++ b/config-model/src/main/java/com/yahoo/vespa/model/builder/xml/dom/NodesSpecification.java
@@ -188,16 +188,16 @@ public class NodesSpecification {
}
/**
- * Returns a requirement for {@code count} nodes with {@code exclusive} and {@code required} taken as
+ * Returns a requirement for {@code count} shared nodes with {@code required} taken as
* the OR over all content clusters, and with the given resources.
*/
- public static NodesSpecification exclusiveAndRequiredFromSharedParents(int count, NodeResources resources,
- ModelElement element, ConfigModelContext context) {
+ public static NodesSpecification requiredFromSharedParents(int count, NodeResources resources,
+ ModelElement element, ConfigModelContext context) {
List<NodesSpecification> allContent = findParentByTag("services", element.getXml()).map(services -> XML.getChildren(services, "content"))
.orElse(List.of())
.stream()
.map(content -> new ModelElement(content).child("nodes"))
- .filter(nodes -> nodes != null && nodes.integerAttribute("count") != null)
+ .filter(nodes -> nodes != null && nodes.stringAttribute("count") != null)
.map(nodes -> from(nodes, context))
.collect(toList());
return new NodesSpecification(new ClusterResources(count, 1, resources),
@@ -206,7 +206,7 @@ public class NodesSpecification {
context.getDeployState().getWantedNodeVespaVersion(),
allContent.stream().anyMatch(content -> content.required),
! context.getDeployState().getProperties().isBootstrap(),
- allContent.stream().anyMatch(content -> content.exclusive),
+ false,
context.getDeployState().getWantedDockerImageRepo(),
Optional.empty());
}
diff --git a/config-model/src/main/java/com/yahoo/vespa/model/content/cluster/ContentCluster.java b/config-model/src/main/java/com/yahoo/vespa/model/content/cluster/ContentCluster.java
index 3078242a04d..09b79413d3c 100644
--- a/config-model/src/main/java/com/yahoo/vespa/model/content/cluster/ContentCluster.java
+++ b/config-model/src/main/java/com/yahoo/vespa/model/content/cluster/ContentCluster.java
@@ -355,10 +355,10 @@ public class ContentCluster extends AbstractConfigProducer implements
private ClusterControllerContainerCluster getDedicatedSharedControllers(ModelElement contentElement, Admin admin,
ConfigModelContext context, DeployState deployState) {
if (admin.getClusterControllers() == null) {
- NodesSpecification spec = NodesSpecification.exclusiveAndRequiredFromSharedParents(3,
- clusterControllerResources,
- contentElement,
- context);
+ NodesSpecification spec = NodesSpecification.requiredFromSharedParents(deployState.zone().environment().isTest() ? 1 : 3,
+ deployState.featureFlags().dedicatedClusterControllerFlavor().orElse(clusterControllerResources),
+ contentElement,
+ context);
Collection<HostResource> hosts = spec.provision(admin.hostSystem(),
ClusterSpec.Type.admin,
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 cd776ecb146..eeded9e6c2f 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
@@ -1053,29 +1053,6 @@ public class ModelProvisioningTest {
}
@Test
- public void testExclusiveDedicatedClusterControllers() {
- String services =
- "<?xml version='1.0' encoding='utf-8' ?>\n" +
- "<services>" +
- " <content version='1.0' id='foo'>" +
- " <redundancy>1</redundancy>" +
- " <documents>" +
- " <document type='type1' mode='index'/>" +
- " </documents>" +
- " <nodes count='2' exclusive='true'/>" +
- " </content>" +
- "</services>";
-
- int numberOfHosts = 5;
- VespaModelTester tester = new VespaModelTester();
- tester.addHosts(numberOfHosts);
- tester.dedicatedClusterControllerCluster(true);
- VespaModel model = tester.createModel(services);
- assertEquals(5, model.hostSystem().getHosts().size());
- model.hostSystem().getHosts().forEach(host -> assertTrue(host.spec().membership().get().cluster().isExclusive()));
- }
-
- @Test
public void testExclusiveNodes() {
String services =
"<?xml version='1.0' encoding='utf-8' ?>\n" +
diff --git a/config-model/src/test/java/com/yahoo/vespa/model/admin/ClusterControllerTestCase.java b/config-model/src/test/java/com/yahoo/vespa/model/admin/ClusterControllerTestCase.java
index e92778c11e7..0a99797a53f 100644
--- a/config-model/src/test/java/com/yahoo/vespa/model/admin/ClusterControllerTestCase.java
+++ b/config-model/src/test/java/com/yahoo/vespa/model/admin/ClusterControllerTestCase.java
@@ -514,7 +514,7 @@ public class ClusterControllerTestCase extends DomBuilderTest {
}
private VespaModel createVespaModel(String servicesXml) throws IOException, SAXException {
- return createVespaModel(servicesXml, new DeployState.Builder().properties(new TestProperties().enableAutomaticReindexing(true)));
+ return createVespaModel(servicesXml, new DeployState.Builder());
}
private VespaModel createVespaModel(String servicesXml, DeployState.Builder deployStateBuilder) throws IOException, SAXException {