summaryrefslogtreecommitdiffstats
path: root/config-model
diff options
context:
space:
mode:
authorJon Bratseth <bratseth@oath.com>2021-02-24 17:22:31 +0100
committerGitHub <noreply@github.com>2021-02-24 17:22:31 +0100
commiteafeefded12aeda595ffcd9e5028ed2303090b64 (patch)
tree3fcbe015df07b3a4a50dfffd03413c7b9da93291 /config-model
parentdb0fcba270059f327d66256f02c4e105d1d45d08 (diff)
parent4c12b3aa80e7a08590727adcf11718b45821cb3b (diff)
Merge pull request #16657 from vespa-engine/jonmv/mind-the-gaps
Jonmv/mind the gaps
Diffstat (limited to 'config-model')
-rw-r--r--config-model/src/main/java/com/yahoo/vespa/model/container/xml/ContainerModelBuilder.java2
-rw-r--r--config-model/src/test/java/com/yahoo/config/model/provision/ModelProvisioningTest.java34
2 files changed, 35 insertions, 1 deletions
diff --git a/config-model/src/main/java/com/yahoo/vespa/model/container/xml/ContainerModelBuilder.java b/config-model/src/main/java/com/yahoo/vespa/model/container/xml/ContainerModelBuilder.java
index b9131e7b284..e7e82d577f4 100644
--- a/config-model/src/main/java/com/yahoo/vespa/model/container/xml/ContainerModelBuilder.java
+++ b/config-model/src/main/java/com/yahoo/vespa/model/container/xml/ContainerModelBuilder.java
@@ -225,7 +225,7 @@ public class ContainerModelBuilder extends ConfigModelBuilder<ContainerModel> {
}
private void addZooKeeper(ApplicationContainerCluster cluster, Element spec) {
- if (!hasZooKeeper(spec)) return;
+ if ( ! hasZooKeeper(spec)) return;
Element nodesElement = XML.getChild(spec, "nodes");
boolean isCombined = nodesElement != null && nodesElement.hasAttribute("of");
if (isCombined) {
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 7b6128f5098..cd776ecb146 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
@@ -418,6 +418,40 @@ public class ModelProvisioningTest {
}
@Test
+ public void testCombinedClusterWithZooKeeperFails() {
+ var containerElements = Set.of("jdisc", "container");
+ for (var containerElement : containerElements) {
+ String xmlWithNodes =
+ "<?xml version='1.0' encoding='utf-8' ?>" +
+ "<services>" +
+ " <" + containerElement + " version='1.0' id='container1'>" +
+ " <search/>" +
+ " <nodes of='content1'/>" +
+ " <zookeeper />" +
+ " </" + containerElement + ">" +
+ " <content version='1.0' id='content1'>" +
+ " <redundancy>2</redundancy>" +
+ " <documents>" +
+ " <document type='type1' mode='index'/>" +
+ " </documents>" +
+ " <nodes count='2'>" +
+ " <resources vcpu='1' memory='3Gb' disk='9Gb'/>" +
+ " </nodes>" +
+ " </content>" +
+ "</services>";
+ VespaModelTester tester = new VespaModelTester();
+ tester.addHosts(2);
+ try {
+ tester.createModel(xmlWithNodes, true);
+ fail("ZooKeeper should not be allowed on combined clusters");
+ }
+ catch (IllegalArgumentException e) {
+ assertEquals("A combined cluster cannot run ZooKeeper", e.getMessage());
+ }
+ }
+ }
+
+ @Test
public void testUsingNodesAndGroupCountAttributes() {
String services =
"<?xml version='1.0' encoding='utf-8' ?>\n" +