summaryrefslogtreecommitdiffstats
path: root/config-model
diff options
context:
space:
mode:
authorHarald Musum <musum@oath.com>2018-09-09 21:33:08 +0200
committerHarald Musum <musum@oath.com>2018-09-09 21:33:08 +0200
commitefa6d5b4f755176f2ae1eca2a99ff7c807117f8e (patch)
treed027d6dbf45fd42ce43f2d426e1e061edd6773fe /config-model
parent4f2061f3764babad681a15a7dd9f789347ac0b90 (diff)
Add guard for having no hosts
Diffstat (limited to 'config-model')
-rw-r--r--config-model/src/main/java/com/yahoo/vespa/model/builder/xml/dom/DomAdminV4Builder.java10
1 files changed, 6 insertions, 4 deletions
diff --git a/config-model/src/main/java/com/yahoo/vespa/model/builder/xml/dom/DomAdminV4Builder.java b/config-model/src/main/java/com/yahoo/vespa/model/builder/xml/dom/DomAdminV4Builder.java
index fa8f7c786c2..095b27a0904 100644
--- a/config-model/src/main/java/com/yahoo/vespa/model/builder/xml/dom/DomAdminV4Builder.java
+++ b/config-model/src/main/java/com/yahoo/vespa/model/builder/xml/dom/DomAdminV4Builder.java
@@ -16,7 +16,6 @@ import com.yahoo.vespa.model.admin.Slobrok;
import com.yahoo.vespa.model.container.Container;
import com.yahoo.vespa.model.container.ContainerCluster;
import com.yahoo.vespa.model.container.ContainerModel;
-import com.yahoo.vespa.model.container.component.FileStatusHandlerComponent;
import com.yahoo.vespa.model.container.component.Handler;
import org.w3c.dom.Element;
@@ -84,9 +83,12 @@ public class DomAdminV4Builder extends DomAdminBuilderBase {
Logserver logserver = createLogserver(admin, hosts);
// TODO: Enable for main system as well
if (context.getDeployState().isHosted() && context.getDeployState().zone().system() == SystemName.cd)
- createAdditionalContainerToRunOnLogserverHost(admin, logserver.getHostResource());
+ createAdditionalContainerOnLogserverHost(admin, logserver.getHostResource());
} else if (containerModels.iterator().hasNext()) {
- createLogserver(admin, sortedContainerHostsFrom(containerModels.iterator().next(), nodesSpecification.count(), false));
+ List<HostResource> hosts = sortedContainerHostsFrom(containerModels.iterator().next(), nodesSpecification.count(), false);
+ if (hosts.isEmpty()) return; // No log server can be created (and none is needed)
+
+ createLogserver(admin, hosts);
} else {
context.getDeployLogger().log(LogLevel.INFO, "No container host available to use for running logserver");
}
@@ -94,7 +96,7 @@ public class DomAdminV4Builder extends DomAdminBuilderBase {
// Creates a container cluster 'logserver-cluster' with 1 container on logserver host
// for setting up a handler for getting logs from logserver
- private void createAdditionalContainerToRunOnLogserverHost(Admin admin, HostResource hostResource) {
+ private void createAdditionalContainerOnLogserverHost(Admin admin, HostResource hostResource) {
ContainerCluster logServerCluster = new ContainerCluster(admin, "logserver-cluster", "logserver-cluster", RankProfileList.empty);
ContainerModel logserverClusterModel = new ContainerModel(context.withParent(admin).withId(logServerCluster.getSubId()));
logserverClusterModel.setCluster(logServerCluster);