summaryrefslogtreecommitdiffstats
path: root/config-model
diff options
context:
space:
mode:
authorgjoranv <gv@verizonmedia.com>2019-05-29 14:31:13 +0200
committergjoranv <gv@verizonmedia.com>2019-05-29 14:31:13 +0200
commit471600c86c302dbc1612ffaf560c8aed6427d414 (patch)
tree3b15435ac5db12c2de57f50859d1302eeafcd378 /config-model
parentc61bcf9b6c51a6445398babacd3ccc2a07931edb (diff)
Prepare metricsproxy container cluster to produce app metadata
Diffstat (limited to 'config-model')
-rw-r--r--config-model/src/main/java/com/yahoo/config/model/admin/AdminModel.java4
-rw-r--r--config-model/src/main/java/com/yahoo/config/model/test/MockApplicationPackage.java5
-rw-r--r--config-model/src/main/java/com/yahoo/vespa/model/admin/Admin.java10
-rw-r--r--config-model/src/test/java/com/yahoo/vespa/model/admin/metricsproxy/MetricsProxyContainerClusterTest.java13
4 files changed, 27 insertions, 5 deletions
diff --git a/config-model/src/main/java/com/yahoo/config/model/admin/AdminModel.java b/config-model/src/main/java/com/yahoo/config/model/admin/AdminModel.java
index b5cadedd454..dea2095d8e4 100644
--- a/config-model/src/main/java/com/yahoo/config/model/admin/AdminModel.java
+++ b/config-model/src/main/java/com/yahoo/config/model/admin/AdminModel.java
@@ -49,8 +49,8 @@ public class AdminModel extends ConfigModel {
public void prepare(ConfigModelRepo configModelRepo, DeployState deployState) {
verifyClusterControllersOnlyDefinedForContent(configModelRepo);
if (admin == null) return;
- if (admin.getClusterControllers() != null)
- admin.getClusterControllers().prepare(deployState);
+ if (admin.getClusterControllers() != null) admin.getClusterControllers().prepare(deployState);
+ if (admin.getMetricsProxyCluster() != null) admin.getMetricsProxyCluster().prepare(deployState);
admin.getLogServerContainerCluster().ifPresent((ContainerCluster cc) -> cc.prepare(deployState));
}
diff --git a/config-model/src/main/java/com/yahoo/config/model/test/MockApplicationPackage.java b/config-model/src/main/java/com/yahoo/config/model/test/MockApplicationPackage.java
index ca6bdee82cf..b381a5f28db 100644
--- a/config-model/src/main/java/com/yahoo/config/model/test/MockApplicationPackage.java
+++ b/config-model/src/main/java/com/yahoo/config/model/test/MockApplicationPackage.java
@@ -42,6 +42,9 @@ import java.util.stream.Collectors;
*/
public class MockApplicationPackage implements ApplicationPackage {
+ public static final String DEPLOYED_BY_USER = "user";
+ public static final String APPLICATION_NAME = "application";
+ public static final long APPLICATION_GENERATION = 1L;
public static final String MUSIC_SEARCHDEFINITION = createSearchDefinition("music", "foo");
public static final String BOOK_SEARCHDEFINITION = createSearchDefinition("book", "bar");
@@ -70,7 +73,7 @@ public class MockApplicationPackage implements ApplicationPackage {
this.failOnValidateXml = failOnValidateXml;
queryProfileRegistry = new QueryProfileXMLReader().read(asNamedReaderList(queryProfileType),
asNamedReaderList(queryProfile));
- applicationMetaData = new ApplicationMetaData("user", "dir", 0L, false, "application", "checksum", 1L, 0L);
+ applicationMetaData = new ApplicationMetaData(DEPLOYED_BY_USER, "dir", 0L, false, APPLICATION_NAME, "checksum", APPLICATION_GENERATION, 0L);
}
/** Returns the root of this application package relative to the current dir */
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 6183701e36e..44627ade4ec 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
@@ -45,9 +45,11 @@ public class Admin extends AbstractConfigProducer implements Serializable {
private final boolean isHostedVespa;
private final Monitoring monitoring;
+ private final List<Configserver> configservers = new ArrayList<>();
+
private final Metrics metrics;
+ private MetricsProxyContainerCluster metricsProxyCluster;
private MetricSet additionalDefaultMetrics = emptyMetricSet();
- private final List<Configserver> configservers = new ArrayList<>();
private final List<Slobrok> slobroks = new ArrayList<>();
private Configserver defaultConfigserver;
@@ -99,6 +101,10 @@ public class Admin extends AbstractConfigProducer implements Serializable {
public Metrics getUserMetrics() { return metrics; }
+ public MetricsProxyContainerCluster getMetricsProxyCluster() {
+ return metricsProxyCluster;
+ }
+
public void setAdditionalDefaultMetrics(MetricSet additionalDefaultMetrics) {
if (additionalDefaultMetrics == null) return;
this.additionalDefaultMetrics = additionalDefaultMetrics;
@@ -213,7 +219,7 @@ public class Admin extends AbstractConfigProducer implements Serializable {
}
private void addMetricsProxyCluster(List<HostResource> hosts, DeployState deployState) {
- var metricsProxyCluster = new MetricsProxyContainerCluster(this, "metrics", deployState);
+ metricsProxyCluster = new MetricsProxyContainerCluster(this, "metrics", deployState);
int index = 0;
for (var host : hosts) {
var container = new MetricsProxyContainer(metricsProxyCluster, index++, deployState.isHosted());
diff --git a/config-model/src/test/java/com/yahoo/vespa/model/admin/metricsproxy/MetricsProxyContainerClusterTest.java b/config-model/src/test/java/com/yahoo/vespa/model/admin/metricsproxy/MetricsProxyContainerClusterTest.java
index 0ba5b51bfe1..6aaae7f991a 100644
--- a/config-model/src/test/java/com/yahoo/vespa/model/admin/metricsproxy/MetricsProxyContainerClusterTest.java
+++ b/config-model/src/test/java/com/yahoo/vespa/model/admin/metricsproxy/MetricsProxyContainerClusterTest.java
@@ -6,8 +6,10 @@ package com.yahoo.vespa.model.admin.metricsproxy;
import ai.vespa.metricsproxy.core.ConsumersConfig;
import ai.vespa.metricsproxy.metric.dimensions.ApplicationDimensionsConfig;
+import com.yahoo.config.model.test.MockApplicationPackage;
import com.yahoo.config.provision.Zone;
import com.yahoo.container.BundlesConfig;
+import com.yahoo.container.core.ApplicationMetadataConfig;
import com.yahoo.vespa.model.VespaModel;
import com.yahoo.vespa.model.admin.metricsproxy.MetricsProxyContainerCluster.AppDimensionNames;
import com.yahoo.vespa.model.admin.monitoring.Metric;
@@ -65,6 +67,17 @@ public class MetricsProxyContainerClusterTest {
}
@Test
+ public void cluster_is_prepared_so_that_application_metadata_config_is_produced() {
+ VespaModel model = getModel(servicesWithAdminOnly());
+ var builder = new ApplicationMetadataConfig.Builder();
+ model.getConfig(builder, CLUSTER_CONFIG_ID);
+ ApplicationMetadataConfig config = builder.build();
+ assertEquals(MockApplicationPackage.APPLICATION_GENERATION, config.generation());
+ assertEquals(MockApplicationPackage.APPLICATION_NAME, config.name());
+ assertEquals(MockApplicationPackage.DEPLOYED_BY_USER, config.user());
+ }
+
+ @Test
public void default_consumer_is_always_present_and_has_all_vespa_metrics_and_all_system_metrics() {
ConsumersConfig config = consumersConfigFromXml(servicesWithAdminOnly());
assertEquals(config.consumer(0).name(), VESPA_CONSUMER_ID);