diff options
Diffstat (limited to 'config-model/src/main/java/com/yahoo/vespa/model/container')
3 files changed, 33 insertions, 0 deletions
diff --git a/config-model/src/main/java/com/yahoo/vespa/model/container/ApplicationContainer.java b/config-model/src/main/java/com/yahoo/vespa/model/container/ApplicationContainer.java index 1971ccc3035..53858f8cc0e 100644 --- a/config-model/src/main/java/com/yahoo/vespa/model/container/ApplicationContainer.java +++ b/config-model/src/main/java/com/yahoo/vespa/model/container/ApplicationContainer.java @@ -9,8 +9,10 @@ import com.yahoo.config.model.producer.AbstractConfigProducer; import com.yahoo.config.provision.ClusterSpec; import com.yahoo.config.provision.NodeResources; import com.yahoo.search.config.QrStartConfig; +import com.yahoo.vespa.model.LogctlSpec; import com.yahoo.vespa.model.container.component.SimpleComponent; +import java.util.List; import java.util.Optional; import static com.yahoo.vespa.defaults.Defaults.getDefaults; @@ -42,6 +44,15 @@ public final class ApplicationContainer extends Container implements addComponent(new SimpleComponent("com.yahoo.container.jdisc.ClusterInfoProvider")); } + private List<LogctlSpec> logctlSpecs = List.of(); + void setLogctlSpecs(List<LogctlSpec> logctlSpecs) { + this.logctlSpecs = logctlSpecs; + } + @Override + public List<LogctlSpec> getLogctlSpecs() { + return logctlSpecs; + } + @Override public void getConfig(QrStartConfig.Builder builder) { if (getHostResource() != null) { diff --git a/config-model/src/main/java/com/yahoo/vespa/model/container/ApplicationContainerCluster.java b/config-model/src/main/java/com/yahoo/vespa/model/container/ApplicationContainerCluster.java index c097f856da2..ec1776730b8 100644 --- a/config-model/src/main/java/com/yahoo/vespa/model/container/ApplicationContainerCluster.java +++ b/config-model/src/main/java/com/yahoo/vespa/model/container/ApplicationContainerCluster.java @@ -31,6 +31,7 @@ import com.yahoo.vespa.config.search.core.OnnxModelsConfig; import com.yahoo.vespa.config.search.core.RankingConstantsConfig; import com.yahoo.vespa.config.search.core.RankingExpressionsConfig; import com.yahoo.vespa.model.AbstractService; +import com.yahoo.vespa.model.VespaModel; import com.yahoo.vespa.model.admin.metricsproxy.MetricsProxyContainer; import com.yahoo.vespa.model.container.component.BindingPattern; import com.yahoo.vespa.model.container.component.Component; @@ -125,11 +126,19 @@ public final class ApplicationContainerCluster extends ContainerCluster<Applicat : defaultHeapSizePercentageOfTotalNodeMemory; } + private void wireLogctlSpecs() { + getAdmin().ifPresent(admin -> { + for (var c : getContainers()) { + c.setLogctlSpecs(admin.getLogctlSpecs()); + }}); + } + @Override protected void doPrepare(DeployState deployState) { addAndSendApplicationBundles(deployState); sendUserConfiguredFiles(deployState); createEndpointList(deployState); + wireLogctlSpecs(); } private void addAndSendApplicationBundles(DeployState deployState) { diff --git a/config-model/src/main/java/com/yahoo/vespa/model/container/ContainerCluster.java b/config-model/src/main/java/com/yahoo/vespa/model/container/ContainerCluster.java index f1b3c74a55d..f94c3be25bb 100755 --- a/config-model/src/main/java/com/yahoo/vespa/model/container/ContainerCluster.java +++ b/config-model/src/main/java/com/yahoo/vespa/model/container/ContainerCluster.java @@ -36,6 +36,8 @@ import com.yahoo.search.query.profile.config.QueryProfilesConfig; import com.yahoo.vespa.configdefinition.IlscriptsConfig; import com.yahoo.vespa.model.PortsMeta; import com.yahoo.vespa.model.Service; +import com.yahoo.vespa.model.VespaModel; +import com.yahoo.vespa.model.admin.Admin; import com.yahoo.vespa.model.admin.monitoring.Monitoring; import com.yahoo.vespa.model.clients.ContainerDocumentApi; import com.yahoo.vespa.model.container.component.AccessLogComponent; @@ -208,6 +210,17 @@ public abstract class ContainerCluster<CONTAINER extends Container> return zone; } + protected Optional<Admin> getAdmin() { + var parent = getParent(); + if (parent != null) { + var r = parent.getRoot(); + if (r instanceof VespaModel model) { + return Optional.ofNullable(model.getAdmin()); + } + } + return Optional.empty(); + } + public void addDefaultHandlersWithVip() { addDefaultHandlersExceptStatus(); addVipHandler(); |