aboutsummaryrefslogtreecommitdiffstats
path: root/config-model/src/test/java/com/yahoo/config/model/provision/ModelProvisioningTest.java
diff options
context:
space:
mode:
Diffstat (limited to 'config-model/src/test/java/com/yahoo/config/model/provision/ModelProvisioningTest.java')
-rw-r--r--config-model/src/test/java/com/yahoo/config/model/provision/ModelProvisioningTest.java18
1 files changed, 18 insertions, 0 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 f8695a76b11..96b2cfc3118 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
@@ -1853,6 +1853,24 @@ public class ModelProvisioningTest {
});
}
+ @Test
+ public void containerWithZooKeeperSuboptimalNodeCountDuringRetirement() {
+ String servicesXml =
+ "<?xml version='1.0' encoding='utf-8' ?>" +
+ "<services>" +
+ " <container version='1.0' id='zk'>" +
+ " <zookeeper/>" +
+ " <nodes count='4'/>" + // (3 + 1 retired)
+ " </container>" +
+ "</services>";
+ VespaModelTester tester = new VespaModelTester();
+ tester.addHosts(4);
+ VespaModel model = tester.createModel(servicesXml, true, "node-1-3-9-01");
+ ApplicationContainerCluster cluster = model.getContainerClusters().get("zk");
+ assertEquals(1, cluster.getContainers().stream().filter(Container::isRetired).count());
+ assertEquals(3, cluster.getContainers().stream().filter(c -> !c.isRetired()).count());
+ }
+
private VespaModel createNonProvisionedMultitenantModel(String services) {
return createNonProvisionedModel(true, null, services);
}