diff options
Diffstat (limited to 'config-model/src/main/java/com/yahoo/vespa/model')
3 files changed, 21 insertions, 16 deletions
diff --git a/config-model/src/main/java/com/yahoo/vespa/model/admin/clustercontroller/ClusterControllerContainer.java b/config-model/src/main/java/com/yahoo/vespa/model/admin/clustercontroller/ClusterControllerContainer.java index b2aa1e6b704..d7223018b73 100644 --- a/config-model/src/main/java/com/yahoo/vespa/model/admin/clustercontroller/ClusterControllerContainer.java +++ b/config-model/src/main/java/com/yahoo/vespa/model/admin/clustercontroller/ClusterControllerContainer.java @@ -1,9 +1,10 @@ -// Copyright 2017 Yahoo Holdings. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. +// Copyright Verizon Media. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. package com.yahoo.vespa.model.admin.clustercontroller; import com.yahoo.cloud.config.ZookeeperServerConfig; import com.yahoo.component.ComponentSpecification; import com.yahoo.config.model.api.container.ContainerServiceType; +import com.yahoo.config.model.deploy.DeployState; import com.yahoo.config.model.producer.AbstractConfigProducer; import com.yahoo.container.bundle.BundleInstantiationSpecification; import com.yahoo.container.core.documentapi.DocumentAccessProvider; @@ -43,9 +44,8 @@ public class ClusterControllerContainer extends Container implements AbstractConfigProducer<?> parent, int index, boolean runStandaloneZooKeeper, - boolean isHosted) { - super(parent, "" + index, index, isHosted); - + DeployState deployState) { + super(parent, "" + index, index, deployState.isHosted()); addHandler("clustercontroller-status", "com.yahoo.vespa.clustercontroller.apps.clustercontroller.StatusHandler", "/clustercontroller-status/*", @@ -55,11 +55,11 @@ public class ClusterControllerContainer extends Container implements "/cluster/v2/*", CLUSTERCONTROLLER_BUNDLE); addComponent("clustercontroller-zookeeper-server", - runStandaloneZooKeeper - ? "com.yahoo.vespa.zookeeper.VespaZooKeeperServerImpl" - : "com.yahoo.vespa.zookeeper.DummyVespaZooKeeperServer", + zooKeeperServerImplementation(runStandaloneZooKeeper, deployState.featureFlags().reconfigurableZookeeperServer()), ZOOKEEPER_SERVER_BUNDLE); - addComponent(new AccessLogComponent(AccessLogComponent.AccessLogType.jsonAccessLog, "controller", isHosted)); + addComponent(new AccessLogComponent(AccessLogComponent.AccessLogType.jsonAccessLog, + "controller", + deployState.isHosted())); // TODO: Why are bundles added here instead of in the cluster? addFileBundle("clustercontroller-apps"); @@ -84,6 +84,15 @@ public class ClusterControllerContainer extends Container implements return ContainerServiceType.CLUSTERCONTROLLER_CONTAINER; } + private String zooKeeperServerImplementation(boolean runStandaloneZooKeeper, boolean reconfigurable) { + if (reconfigurable) + return "com.yahoo.vespa.zookeeper.ReconfigurableVespaZooKeeperServer"; + else + return runStandaloneZooKeeper + ? "com.yahoo.vespa.zookeeper.VespaZooKeeperServerImpl" + : "com.yahoo.vespa.zookeeper.DummyVespaZooKeeperServer"; + } + private void addHandler(Handler<?> h, String path) { h.addServerBindings(SystemBindingPattern.fromHttpPath(path)); super.addHandler(h); diff --git a/config-model/src/main/java/com/yahoo/vespa/model/builder/xml/dom/DomAdminV2Builder.java b/config-model/src/main/java/com/yahoo/vespa/model/builder/xml/dom/DomAdminV2Builder.java index 3c72361d814..3879df52390 100644 --- a/config-model/src/main/java/com/yahoo/vespa/model/builder/xml/dom/DomAdminV2Builder.java +++ b/config-model/src/main/java/com/yahoo/vespa/model/builder/xml/dom/DomAdminV2Builder.java @@ -1,4 +1,4 @@ -// Copyright 2017 Yahoo Holdings. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. +// Copyright Verizon Media. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. package com.yahoo.vespa.model.builder.xml.dom; import com.yahoo.config.application.api.FileRegistry; @@ -207,7 +207,7 @@ public class DomAdminV2Builder extends DomAdminBuilderBase { @Override protected ClusterControllerContainer doBuild(DeployState deployState, AbstractConfigProducer parent, Element spec) { - return new ClusterControllerContainer(parent, i, runStandaloneZooKeeper, deployState.isHosted()); + return new ClusterControllerContainer(parent, i, runStandaloneZooKeeper, deployState); } } } diff --git a/config-model/src/main/java/com/yahoo/vespa/model/content/cluster/ContentCluster.java b/config-model/src/main/java/com/yahoo/vespa/model/content/cluster/ContentCluster.java index cf9a567e409..7ec2dc67cf2 100644 --- a/config-model/src/main/java/com/yahoo/vespa/model/content/cluster/ContentCluster.java +++ b/config-model/src/main/java/com/yahoo/vespa/model/content/cluster/ContentCluster.java @@ -1,4 +1,4 @@ -// Copyright 2017 Yahoo Holdings. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. +// Copyright Verizon Media. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. package com.yahoo.vespa.model.content.cluster; import com.google.common.base.Preconditions; @@ -465,11 +465,7 @@ public class ContentCluster extends AbstractConfigProducer implements int index = 0; for (HostResource host : hosts) { var clusterControllerContainer = - new ClusterControllerContainer( - clusterControllers, - index, - multitenant, - deployState.isHosted()); + new ClusterControllerContainer(clusterControllers, index, multitenant, deployState); clusterControllerContainer.setHostResource(host); clusterControllerContainer.initService(deployState.getDeployLogger()); clusterControllerContainer.setProp("clustertype", "admin") |