From 57293e2aa06e8408ee890fbdfe86ae4bb0edbb9c Mon Sep 17 00:00:00 2001 From: Harald Musum Date: Thu, 14 Feb 2019 20:51:33 +0100 Subject: Override method for setting status handler for a config server cluster Need to use CloudConfigOptions to get correct values for config servers. Trying to set ModelContext properties did not work as apparently we populate a lot of the values there by default (which does not seem right) and there are users of those elsewhere, so one would need to duplicate that mess in StandaloneContainerApplication as well to make it work. --- .../model/container/xml/ConfigServerContainerModelBuilder.java | 8 ++++++++ .../yahoo/vespa/model/container/xml/ContainerModelBuilder.java | 6 +++--- 2 files changed, 11 insertions(+), 3 deletions(-) (limited to 'config-model') diff --git a/config-model/src/main/java/com/yahoo/vespa/model/container/xml/ConfigServerContainerModelBuilder.java b/config-model/src/main/java/com/yahoo/vespa/model/container/xml/ConfigServerContainerModelBuilder.java index 6efd2f5b9a7..2f8e9170d9f 100644 --- a/config-model/src/main/java/com/yahoo/vespa/model/container/xml/ConfigServerContainerModelBuilder.java +++ b/config-model/src/main/java/com/yahoo/vespa/model/container/xml/ConfigServerContainerModelBuilder.java @@ -2,6 +2,7 @@ package com.yahoo.vespa.model.container.xml; import com.yahoo.config.model.ConfigModelContext; +import com.yahoo.vespa.model.container.ContainerCluster; import com.yahoo.vespa.model.container.ContainerModel; import com.yahoo.vespa.model.container.configserver.ConfigserverCluster; import com.yahoo.vespa.model.container.configserver.option.CloudConfigOptions; @@ -29,4 +30,11 @@ public class ConfigServerContainerModelBuilder extends ContainerModelBuilder { cluster.setContainerCluster(model.getCluster()); } + // Need to override this method since we need to use the values in CloudConfigOptions (the ones + // in ConfigModelContext.DeployState.properties are not set) + @Override + protected void addStatusHandlers(ContainerCluster cluster, boolean isHostedVespa) { + super.addStatusHandlers(cluster, options.hostedVespa().orElse(Boolean.FALSE)); + } + } diff --git a/config-model/src/main/java/com/yahoo/vespa/model/container/xml/ContainerModelBuilder.java b/config-model/src/main/java/com/yahoo/vespa/model/container/xml/ContainerModelBuilder.java index 70db63875f5..dc7b960535e 100644 --- a/config-model/src/main/java/com/yahoo/vespa/model/container/xml/ContainerModelBuilder.java +++ b/config-model/src/main/java/com/yahoo/vespa/model/container/xml/ContainerModelBuilder.java @@ -173,7 +173,7 @@ public class ContainerModelBuilder extends ConfigModelBuilder { addDocumentApi(spec, cluster); // NOTE: Must be done after addSearch addDefaultHandlers(cluster); - addStatusHandlers(cluster, context); + addStatusHandlers(cluster, context.getDeployState().isHosted()); addHttp(deployState, spec, cluster); @@ -258,8 +258,8 @@ public class ContainerModelBuilder extends ConfigModelBuilder { addDefaultHandlersExceptStatus(cluster); } - private void addStatusHandlers(ContainerCluster cluster, ConfigModelContext configModelContext) { - if (configModelContext.getDeployState().isHosted()) { + protected void addStatusHandlers(ContainerCluster cluster, boolean isHostedVespa) { + if (isHostedVespa) { String name = "status.html"; Optional statusFile = Optional.ofNullable(System.getenv(HOSTED_VESPA_STATUS_FILE_INSTALL_SETTING)); cluster.addComponent( -- cgit v1.2.3