diff options
author | Jon Bratseth <bratseth@gmail.com> | 2023-01-22 13:52:24 +0100 |
---|---|---|
committer | Jon Bratseth <bratseth@gmail.com> | 2023-01-22 13:52:24 +0100 |
commit | 1f2865c97efe67f6f54151c26990226063c85d26 (patch) | |
tree | 6ba3d35da902a937ca3f033d238ef24046a4ffb4 /config-model/src/test/java/com/yahoo/config/model | |
parent | 9628d47ea6bb4ea7481354320bc8ba78b0425c4a (diff) |
Don't constrain groups to 1 if group-size is set
Diffstat (limited to 'config-model/src/test/java/com/yahoo/config/model')
-rw-r--r-- | config-model/src/test/java/com/yahoo/config/model/provision/ModelProvisioningTest.java | 91 |
1 files changed, 90 insertions, 1 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 a6ddce4cec5..452a9fcdf87 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 @@ -595,6 +595,95 @@ public class ModelProvisioningTest { } @Test + public void testUsingGroups() { + String services = + "<?xml version='1.0' encoding='utf-8' ?>\n" + + "<services>" + + " <admin version='4.0'/>" + + " <container version='1.0' id='foo'>" + + " <nodes count='10'/>" + + " </container>" + + " <content version='1.0' id='bar'>" + + " <redundancy>2</redundancy>" + + " <documents>" + + " <document type='type1' mode='index'/>" + + " </documents>" + + " <nodes count='30' groups='2'/>" + + " </content>" + + " <content version='1.0' id='baz'>" + + " <redundancy>1</redundancy>" + + " <documents>" + + " <document type='type1' mode='index'/>" + + " </documents>" + + " <nodes count='30' groups='30'/>" + + " </content>" + + "</services>"; + + int numberOfHosts = 73; + VespaModelTester tester = new VespaModelTester(); + tester.addHosts(numberOfHosts); + VespaModel model = tester.createModel(services, true); + assertEquals(numberOfHosts, model.getRoot().hostSystem().getHosts().size()); + + ContentCluster cluster = model.getContentClusters().get("bar"); + List<StorageGroup> subGroups = cluster.getRootGroup().getSubgroups(); + assertEquals( 0, cluster.getRootGroup().getNodes().size()); + assertEquals( 2, subGroups.size()); + assertEquals(15, subGroups.get(0).getNodes().size()); + + cluster = model.getContentClusters().get("baz"); + subGroups = cluster.getRootGroup().getSubgroups(); + assertEquals( 0, cluster.getRootGroup().getNodes().size()); + assertEquals(30, subGroups.size()); + assertEquals( 1, subGroups.get(0).getNodes().size()); + } + + // Same as the test above but setting groupSize only + @Test + public void testUsingGroupSizeNotGroups() { + String services = + "<?xml version='1.0' encoding='utf-8' ?>\n" + + "<services>" + + " <admin version='4.0'/>" + + " <container version='1.0' id='foo'>" + + " <nodes count='10'/>" + + " </container>" + + " <content version='1.0' id='bar'>" + + " <redundancy>2</redundancy>" + + " <documents>" + + " <document type='type1' mode='index'/>" + + " </documents>" + + " <nodes count='30' group-size='[15, 30]'/>" + + " </content>" + + " <content version='1.0' id='baz'>" + + " <redundancy>1</redundancy>" + + " <documents>" + + " <document type='type1' mode='index'/>" + + " </documents>" + + " <nodes count='30' group-size='1'/>" + + " </content>" + + "</services>"; + + int numberOfHosts = 73; + VespaModelTester tester = new VespaModelTester(); + tester.addHosts(numberOfHosts); + VespaModel model = tester.createModel(services, true); + assertEquals(numberOfHosts, model.getRoot().hostSystem().getHosts().size()); + + ContentCluster cluster = model.getContentClusters().get("bar"); + List<StorageGroup> subGroups = cluster.getRootGroup().getSubgroups(); + assertEquals( 0, cluster.getRootGroup().getNodes().size()); + assertEquals( 2, subGroups.size()); + assertEquals(15, subGroups.get(0).getNodes().size()); + + cluster = model.getContentClusters().get("baz"); + subGroups = cluster.getRootGroup().getSubgroups(); + assertEquals( 0, cluster.getRootGroup().getNodes().size()); + assertEquals(30, subGroups.size()); + assertEquals( 1, subGroups.get(0).getNodes().size()); + } + + @Test public void testSlobroksOnContainersIfNoContentClusters() { String services = "<?xml version='1.0' encoding='utf-8' ?>\n" + @@ -1449,7 +1538,7 @@ public class ModelProvisioningTest { tester.addHosts(new NodeResources(85, 200, 1000_000_000, 0.3), 20); tester.addHosts(new NodeResources( 0.5, 2, 10, 0.3), 3); VespaModel model = tester.createModel(services, true); - assertEquals(totalHosts + 3, model.getRoot().hostSystem().getHosts().size()); + assertEquals(4 + 6 + 1, model.getRoot().hostSystem().getHosts().size()); } @Test |