summaryrefslogtreecommitdiffstats
path: root/config-model
diff options
context:
space:
mode:
authorgjoranv <gv@verizonmedia.com>2019-03-20 17:18:46 +0100
committergjoranv <gv@verizonmedia.com>2019-03-22 11:25:16 +0100
commit8545a918a6defd34ffebbfcfe69588f502217a69 (patch)
tree2a10ba6401f932b88b8bc39b65b76d779d2bcb2b /config-model
parentd279482f0f6573df55b90097ad4575a113892226 (diff)
Create a cluster with a MetricsProxy container on every host.
Diffstat (limited to 'config-model')
-rw-r--r--config-model/src/main/java/com/yahoo/vespa/model/admin/Admin.java15
1 files changed, 15 insertions, 0 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 4db6b586868..072882a17cc 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
@@ -17,6 +17,7 @@ import com.yahoo.vespa.model.ConfigSentinel;
import com.yahoo.vespa.model.HostResource;
import com.yahoo.vespa.model.Logd;
import com.yahoo.vespa.model.admin.clustercontroller.ClusterControllerContainerCluster;
+import com.yahoo.vespa.model.admin.metricsproxy.MetricsProxyContainer;
import com.yahoo.vespa.model.admin.metricsproxy.MetricsProxyContainerCluster;
import com.yahoo.vespa.model.admin.monitoring.MetricsConsumer;
import com.yahoo.vespa.model.admin.monitoring.Monitoring;
@@ -71,6 +72,9 @@ public class Admin extends AbstractConfigProducer implements Serializable {
// Cluster of logserver containers. If enabled, exactly one container is running on each logserver host.
private Optional<LogserverContainerCluster> logServerContainerCluster = Optional.empty();
+ // Cluster of metricsproxy containers. Exactly one container is set up on all hosts.
+ private MetricsProxyContainerCluster metricsProxyContainerCluster;
+
private ZooKeepersConfigProvider zooKeepersConfigProvider;
private FileDistributionConfigProducer fileDistribution;
private final boolean multitenant;
@@ -190,12 +194,23 @@ public class Admin extends AbstractConfigProducer implements Serializable {
public void addPerHostServices(List<HostResource> hosts, DeployState deployState) {
if (slobroks.isEmpty()) // TODO: Move to caller
slobroks.addAll(createDefaultSlobrokSetup(deployState.getDeployLogger()));
+ addMetricsProxyCluster(hosts, deployState);
for (HostResource host : hosts) {
if (!host.getHost().runsConfigServer()) {
addCommonServices(host, deployState);
}
}
}
+
+ private void addMetricsProxyCluster(List<HostResource> hosts, DeployState deployState) {
+ var metricsProxyCluster = new MetricsProxyContainerCluster(this, "metrics-proxies", deployState);
+ hosts.forEach(host -> {
+ var container = new MetricsProxyContainer(metricsProxyCluster);
+ addAndInitializeService(deployState.getDeployLogger(), host, container);
+ metricsProxyCluster.addContainer(container);
+ });
+ }
+
private void addCommonServices(HostResource host, DeployState deployState) {
addConfigSentinel(deployState.getDeployLogger(), host, deployState.getProperties().applicationId(), deployState.zone());
addLogd(deployState.getDeployLogger(), host);