aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--config-model/src/main/java/com/yahoo/vespa/model/admin/Admin.java13
-rw-r--r--config-model/src/main/java/com/yahoo/vespa/model/admin/clustercontroller/ClusterControllerContainer.java6
-rw-r--r--config-model/src/main/java/com/yahoo/vespa/model/content/cluster/ContentCluster.java36
-rwxr-xr-xconfig-model/src/test/java/com/yahoo/vespa/model/builder/xml/dom/DomAdminV2BuilderTest.java4
-rw-r--r--container-search/src/main/java/com/yahoo/prelude/query/FalseItem.java2
5 files changed, 30 insertions, 31 deletions
diff --git a/config-model/src/main/java/com/yahoo/vespa/model/admin/Admin.java b/config-model/src/main/java/com/yahoo/vespa/model/admin/Admin.java
index af99ee28e29..efae00096df 100644
--- a/config-model/src/main/java/com/yahoo/vespa/model/admin/Admin.java
+++ b/config-model/src/main/java/com/yahoo/vespa/model/admin/Admin.java
@@ -186,19 +186,6 @@ public class Admin extends AbstractConfigProducer<Admin> implements Serializable
return fileDistribution;
}
- public List<HostResource> getClusterControllerHosts() {
- List<HostResource> hosts = new ArrayList<>();
- if (multitenant) {
- if (logserver != null)
- hosts.add(logserver.getHostResource());
- } else {
- for (Configserver configserver : getConfigservers()) {
- hosts.add(configserver.getHostResource());
- }
- }
- return hosts;
- }
-
/**
* Adds services to all hosts in the system.
*/
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 72fb1160f7f..ed1dc80d71d 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
@@ -61,9 +61,9 @@ public class ClusterControllerContainer extends Container implements
"/cluster/v2/*",
CLUSTERCONTROLLER_BUNDLE);
addComponent(new AccessLogComponent(containerCluster().orElse(null), AccessLogComponent.AccessLogType.jsonAccessLog,
- AccessLogComponent.CompressionType.GZIP,
- "controller",
- deployState.isHosted()));
+ AccessLogComponent.CompressionType.GZIP,
+ "controller",
+ deployState.isHosted()));
// TODO: Why are bundles added here instead of in the cluster?
addFileBundle("clustercontroller-apps");
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 c836209e8b3..38eb15819b9 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
@@ -25,6 +25,7 @@ import com.yahoo.vespa.config.content.core.BucketspacesConfig;
import com.yahoo.vespa.config.content.core.StorDistributormanagerConfig;
import com.yahoo.vespa.model.HostResource;
import com.yahoo.vespa.model.admin.Admin;
+import com.yahoo.vespa.model.admin.Configserver;
import com.yahoo.vespa.model.admin.clustercontroller.ClusterControllerCluster;
import com.yahoo.vespa.model.admin.clustercontroller.ClusterControllerComponent;
import com.yahoo.vespa.model.admin.clustercontroller.ClusterControllerConfigurer;
@@ -170,7 +171,7 @@ public class ContentCluster extends AbstractConfigProducer implements
if (context.getParentProducer().getRoot() == null) return c;
- addClusterControllers(context, c.rootGroup, contentElement, c.clusterId, c, deployState);
+ addClusterControllers(context, contentElement, c, deployState);
return c;
}
@@ -284,9 +285,7 @@ public class ContentCluster extends AbstractConfigProducer implements
}
private void addClusterControllers(ConfigModelContext context,
- StorageGroup rootGroup,
ModelElement contentElement,
- String contentClusterName,
ContentCluster contentCluster,
DeployState deployState) {
if (admin == null) return; // only in tests
@@ -295,18 +294,33 @@ public class ContentCluster extends AbstractConfigProducer implements
if (context.properties().hostedVespa()) {
clusterControllers = getDedicatedSharedControllers(contentElement, admin, context, deployState);
}
- else {
+ else if (admin.multitenant()) { // system tests: Put on logserver
+ if (admin.getClusterControllers() == null) {
+ // TODO: logserver== null only obtains in unit tests, disallow it
+ List<HostResource> host = admin.getLogserver() == null ? List.of() : List.of(admin.getLogserver().getHostResource());
+ admin.setClusterControllers(createClusterControllers(new ClusterControllerCluster(admin, "standalone", deployState),
+ host,
+ "cluster-controllers",
+ true,
+ deployState));
+ }
clusterControllers = admin.getClusterControllers();
- if (clusterControllers == null) {
- List<HostResource> hosts = admin.getClusterControllerHosts();
+ }
+ else { // self hosted: Put on config servers or explicit cluster controllers
+ if (admin.getClusterControllers() == null) {
+ var hosts = admin.getConfigservers().stream().map(s -> s.getHostResource()).collect(toList());
if (hosts.size() > 1) {
- context.getDeployState().getDeployLogger().log(Level.INFO,
- "When having content cluster(s) and more than 1 config server it is recommended to configure cluster controllers explicitly.");
+ var message = "When having content clusters and more than 1 config server " +
+ "it is recommended to configure cluster controllers explicitly.";
+ deployState.getDeployLogger().log(Level.INFO, message);
}
- boolean runStandaloneZooKeeper = admin.multitenant(); // When multitenant we'll not run on config servers so we need to add a Zk instance
- clusterControllers = createClusterControllers(admin, hosts, "cluster-controllers", runStandaloneZooKeeper, context.getDeployState());
- admin.setClusterControllers(clusterControllers);
+ admin.setClusterControllers(createClusterControllers(admin,
+ hosts,
+ "cluster-controllers",
+ false,
+ deployState));
}
+ clusterControllers = admin.getClusterControllers();
}
addClusterControllerComponentsForThisCluster(clusterControllers, contentCluster);
diff --git a/config-model/src/test/java/com/yahoo/vespa/model/builder/xml/dom/DomAdminV2BuilderTest.java b/config-model/src/test/java/com/yahoo/vespa/model/builder/xml/dom/DomAdminV2BuilderTest.java
index 18063bff16b..69a0c8d656c 100755
--- a/config-model/src/test/java/com/yahoo/vespa/model/builder/xml/dom/DomAdminV2BuilderTest.java
+++ b/config-model/src/test/java/com/yahoo/vespa/model/builder/xml/dom/DomAdminV2BuilderTest.java
@@ -122,12 +122,10 @@ public class DomAdminV2BuilderTest extends DomBuilderTest {
Admin admin = buildAdmin(servicesMultitenantAdminOnly(), true, configServerSpecs);
assertThat(admin.getConfigservers().size(), is(3));
assertThat(admin.getSlobroks().size(), is(1));
- assertThat(admin.getClusterControllerHosts().size(), is(1));
assertNotNull(admin.hostSystem().getHostByHostname("test1"));
for (Configserver configserver : admin.getConfigservers()) {
- assertThat(configserver.getHostName(), is(not(admin.getClusterControllerHosts().get(0).getHost().getHostname())));
for (Slobrok slobrok : admin.getSlobroks()) {
- assertThat(slobrok.getHostName(), is(not(configserver.getHostName())));
+ assertThat(slobrok.getHostName(), is(not(configserver.getHostName())));
}
}
}
diff --git a/container-search/src/main/java/com/yahoo/prelude/query/FalseItem.java b/container-search/src/main/java/com/yahoo/prelude/query/FalseItem.java
index 531a89312df..9abc6b2bdaa 100644
--- a/container-search/src/main/java/com/yahoo/prelude/query/FalseItem.java
+++ b/container-search/src/main/java/com/yahoo/prelude/query/FalseItem.java
@@ -4,7 +4,7 @@ package com.yahoo.prelude.query;
import java.nio.ByteBuffer;
/**
- * A query item which never matches. This is sometimes an useful output of query rewriting.
+ * A query item which never matches. This is sometimes a useful output of query rewriting.
*
* @author bratseth
*/