aboutsummaryrefslogtreecommitdiffstats
path: root/config-model/src/test/java/com/yahoo/config/model/provision
diff options
context:
space:
mode:
authorJon Bratseth <bratseth@gmail.com>2023-01-22 13:52:24 +0100
committerJon Bratseth <bratseth@gmail.com>2023-01-22 13:52:24 +0100
commit1f2865c97efe67f6f54151c26990226063c85d26 (patch)
tree6ba3d35da902a937ca3f033d238ef24046a4ffb4 /config-model/src/test/java/com/yahoo/config/model/provision
parent9628d47ea6bb4ea7481354320bc8ba78b0425c4a (diff)
Don't constrain groups to 1 if group-size is set
Diffstat (limited to 'config-model/src/test/java/com/yahoo/config/model/provision')
-rw-r--r--config-model/src/test/java/com/yahoo/config/model/provision/ModelProvisioningTest.java91
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