diff options
author | Jon Bratseth <bratseth@oath.com> | 2021-02-24 17:22:31 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2021-02-24 17:22:31 +0100 |
commit | eafeefded12aeda595ffcd9e5028ed2303090b64 (patch) | |
tree | 3fcbe015df07b3a4a50dfffd03413c7b9da93291 /config-model | |
parent | db0fcba270059f327d66256f02c4e105d1d45d08 (diff) | |
parent | 4c12b3aa80e7a08590727adcf11718b45821cb3b (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.java | 2 | ||||
-rw-r--r-- | config-model/src/test/java/com/yahoo/config/model/provision/ModelProvisioningTest.java | 34 |
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" + |