diff options
Diffstat (limited to 'config-model/src/test/java/com/yahoo/vespa/model/content/ContentClusterTest.java')
-rw-r--r-- | config-model/src/test/java/com/yahoo/vespa/model/content/ContentClusterTest.java | 26 |
1 files changed, 25 insertions, 1 deletions
diff --git a/config-model/src/test/java/com/yahoo/vespa/model/content/ContentClusterTest.java b/config-model/src/test/java/com/yahoo/vespa/model/content/ContentClusterTest.java index fe0b9841d1c..a55d221f8c4 100644 --- a/config-model/src/test/java/com/yahoo/vespa/model/content/ContentClusterTest.java +++ b/config-model/src/test/java/com/yahoo/vespa/model/content/ContentClusterTest.java @@ -10,6 +10,7 @@ import com.yahoo.config.model.test.TestRoot; import com.yahoo.config.provision.Environment; import com.yahoo.config.provision.RegionName; import com.yahoo.config.provision.Zone; +import com.yahoo.container.ComponentsConfig; import com.yahoo.messagebus.routing.RoutingTableSpec; import com.yahoo.metrics.MetricsmanagerConfig; import com.yahoo.vespa.config.content.AllClustersBucketSpacesConfig; @@ -22,6 +23,7 @@ import com.yahoo.vespa.config.content.core.StorServerConfig; import com.yahoo.vespa.config.search.DispatchConfig; import com.yahoo.vespa.config.search.core.ProtonConfig; import com.yahoo.vespa.model.VespaModel; +import com.yahoo.vespa.model.admin.clustercontroller.ClusterControllerContainer; import com.yahoo.vespa.model.container.ContainerCluster; import com.yahoo.vespa.model.content.cluster.ContentCluster; import com.yahoo.vespa.model.content.engines.ProtonEngine; @@ -30,7 +32,6 @@ import com.yahoo.vespa.model.content.utils.ContentClusterUtils; import com.yahoo.vespa.model.content.utils.SchemaBuilder; import com.yahoo.vespa.model.routing.DocumentProtocol; import com.yahoo.vespa.model.routing.Routing; -import com.yahoo.vespa.model.search.SearchNode; import com.yahoo.vespa.model.test.utils.ApplicationPackageUtils; import com.yahoo.vespa.model.test.utils.VespaModelCreatorWithMockPkg; import org.junit.Rule; @@ -993,4 +994,27 @@ public class ContentClusterTest extends ContentBaseTest { assertDirectStorageApiRpcFlagIsPropagatedToConfig(true); } + void assertZookeeperServerImplementation(boolean reconfigurable, String expectedClassName) { + VespaModel model = createEnd2EndOneNode( + new TestProperties() + .reconfigurableZookeeperServer(reconfigurable) + .setMultitenant(true)); + + ContentCluster cc = model.getContentClusters().get("storage"); + for (ClusterControllerContainer c : cc.getClusterControllers().getContainers()) { + var builder = new ComponentsConfig.Builder(); + c.getConfig(builder); + assertEquals(1, new ComponentsConfig(builder).components().stream() + .filter(component -> component.id().equals("clustercontroller-zookeeper-server")) + .map(component -> component.classId().equals(expectedClassName)) + .count()); + } + } + + @Test + public void reconfigurableZookeeperServerForClusterController() { + assertZookeeperServerImplementation(false, "com.yahoo.vespa.zookeeper.VespaZooKeeperServerImpl"); + assertZookeeperServerImplementation(true, "com.yahoo.vespa.zookeeper.ReconfigurableVespaZooKeeperServer"); + } + } |