summaryrefslogtreecommitdiffstats
path: root/config-model/src/test/java/com/yahoo/vespa/model/admin/metricsproxy/MetricsProxyContainerClusterTest.java
diff options
context:
space:
mode:
Diffstat (limited to 'config-model/src/test/java/com/yahoo/vespa/model/admin/metricsproxy/MetricsProxyContainerClusterTest.java')
-rw-r--r--config-model/src/test/java/com/yahoo/vespa/model/admin/metricsproxy/MetricsProxyContainerClusterTest.java81
1 files changed, 56 insertions, 25 deletions
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 ff38a184eec..78c1c5931a2 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
@@ -25,14 +25,17 @@ import static com.yahoo.vespa.model.admin.metricsproxy.MetricsProxyModelTester.C
import static com.yahoo.vespa.model.admin.metricsproxy.MetricsProxyModelTester.MY_APPLICATION;
import static com.yahoo.vespa.model.admin.metricsproxy.MetricsProxyModelTester.MY_INSTANCE;
import static com.yahoo.vespa.model.admin.metricsproxy.MetricsProxyModelTester.MY_TENANT;
+import static com.yahoo.vespa.model.admin.metricsproxy.MetricsProxyModelTester.TestMode.hosted;
+import static com.yahoo.vespa.model.admin.metricsproxy.MetricsProxyModelTester.TestMode.self_hosted;
import static com.yahoo.vespa.model.admin.metricsproxy.MetricsProxyModelTester.checkMetric;
import static com.yahoo.vespa.model.admin.metricsproxy.MetricsProxyModelTester.consumersConfigFromModel;
import static com.yahoo.vespa.model.admin.metricsproxy.MetricsProxyModelTester.consumersConfigFromXml;
import static com.yahoo.vespa.model.admin.metricsproxy.MetricsProxyModelTester.getApplicationDimensionsConfig;
import static com.yahoo.vespa.model.admin.metricsproxy.MetricsProxyModelTester.getCustomConsumer;
-import static com.yahoo.vespa.model.admin.metricsproxy.MetricsProxyModelTester.getHostedModel;
import static com.yahoo.vespa.model.admin.metricsproxy.MetricsProxyModelTester.getModel;
import static com.yahoo.vespa.model.admin.metricsproxy.MetricsProxyModelTester.getQrStartConfig;
+import static com.yahoo.vespa.model.admin.monitoring.DefaultPublicConsumer.DEFAULT_PUBLIC_CONSUMER_ID;
+import static com.yahoo.vespa.model.admin.monitoring.DefaultPublicMetrics.defaultPublicMetricSet;
import static com.yahoo.vespa.model.admin.monitoring.VespaMetricsConsumer.VESPA_CONSUMER_ID;
import static com.yahoo.vespa.model.admin.monitoring.DefaultVespaMetrics.defaultVespaMetricSet;
import static com.yahoo.vespa.model.admin.monitoring.NetworkMetrics.networkMetricSet;
@@ -54,14 +57,14 @@ public class MetricsProxyContainerClusterTest {
private static int numVespaMetrics = vespaMetricSet.getMetrics().size();
private static int numSystemMetrics = systemMetricSet.getMetrics().size();
private static int numNetworkMetrics = networkMetricSet.getMetrics().size();
- private static int numMetricsForDefaultConsumer = numVespaMetrics + numSystemMetrics + numNetworkMetrics;
+ private static int numMetricsForVespaConsumer = numVespaMetrics + numSystemMetrics + numNetworkMetrics;
@Rule
public ExpectedException thrown = ExpectedException.none();
@Test
public void metrics_proxy_bundle_is_included_in_bundles_config() {
- VespaModel model = getModel(servicesWithAdminOnly());
+ VespaModel model = getModel(servicesWithAdminOnly(), self_hosted);
var builder = new BundlesConfig.Builder();
model.getConfig(builder, CLUSTER_CONFIG_ID);
BundlesConfig config = builder.build();
@@ -71,7 +74,7 @@ public class MetricsProxyContainerClusterTest {
@Test
public void cluster_is_prepared_so_that_application_metadata_config_is_produced() {
- VespaModel model = getModel(servicesWithAdminOnly());
+ VespaModel model = getModel(servicesWithAdminOnly(), self_hosted);
var builder = new ApplicationMetadataConfig.Builder();
model.getConfig(builder, CLUSTER_CONFIG_ID);
ApplicationMetadataConfig config = builder.build();
@@ -82,26 +85,44 @@ public class MetricsProxyContainerClusterTest {
@Test
public void verbose_gc_logging_is_disabled() {
- VespaModel model = getModel(servicesWithAdminOnly());
+ VespaModel model = getModel(servicesWithAdminOnly(), self_hosted);
QrStartConfig config = getQrStartConfig(model);
assertFalse(config.jvm().verbosegc());
}
+
+ @Test
+ public void default_public_consumer_is_set_up_for_self_hosted() {
+ ConsumersConfig config = consumersConfigFromXml(servicesWithAdminOnly(), self_hosted);
+ assertEquals(2, config.consumer().size());
+ assertEquals(config.consumer(1).name(), DEFAULT_PUBLIC_CONSUMER_ID);
+
+ int numMetricsForPublicDefaultConsumer = defaultPublicMetricSet.getMetrics().size() + numDefaultVespaMetrics + numSystemMetrics;
+ assertEquals(numMetricsForPublicDefaultConsumer, config.consumer(1).metric().size());
+ }
+
@Test
- public void default_consumer_is_always_present_and_has_all_vespa_metrics_and_all_system_metrics() {
- ConsumersConfig config = consumersConfigFromXml(servicesWithAdminOnly());
+ public void default_public_consumer_is_not_set_up_for_hosted() {
+ ConsumersConfig config = consumersConfigFromXml(servicesWithAdminOnly(), hosted);
+ assertEquals(1, config.consumer().size());
assertEquals(config.consumer(0).name(), VESPA_CONSUMER_ID);
- assertEquals(numMetricsForDefaultConsumer, config.consumer(0).metric().size());
}
@Test
- public void default_consumer_can_be_amended_via_admin_object() {
- VespaModel model = getModel(servicesWithAdminOnly());
+ public void vespa_consumer_is_always_present_and_has_all_vespa_metrics_and_all_system_metrics() {
+ ConsumersConfig config = consumersConfigFromXml(servicesWithAdminOnly(), self_hosted);
+ assertEquals(config.consumer(0).name(), VESPA_CONSUMER_ID);
+ assertEquals(numMetricsForVespaConsumer, config.consumer(0).metric().size());
+ }
+
+ @Test
+ public void vespa_consumer_can_be_amended_via_admin_object() {
+ VespaModel model = getModel(servicesWithAdminOnly(), self_hosted);
var additionalMetric = new Metric("additional-metric");
model.getAdmin().setAdditionalDefaultMetrics(new MetricSet("amender-metrics", singleton(additionalMetric)));
ConsumersConfig config = consumersConfigFromModel(model);
- assertEquals(numMetricsForDefaultConsumer + 1, config.consumer(0).metric().size());
+ assertEquals(numMetricsForVespaConsumer + 1, config.consumer(0).metric().size());
ConsumersConfig.Consumer vespaConsumer = config.consumer(0);
assertTrue("Did not contain additional metric", checkMetric(vespaConsumer, additionalMetric));
@@ -109,19 +130,28 @@ public class MetricsProxyContainerClusterTest {
@Test
public void vespa_is_a_reserved_consumer_id() {
+ assertReservedConsumerId("Vespa");
+ }
+
+ @Test
+ public void public_is_a_reserved_consumer_id() {
+ assertReservedConsumerId("default");
+ }
+
+ private void assertReservedConsumerId(String consumerId) {
String services = String.join("\n",
- "<services>",
- " <admin version='2.0'>",
- " <adminserver hostalias='node1'/>",
- " <metrics>",
- " <consumer id='vespa'/>",
- " </metrics>",
- " </admin>",
- "</services>"
+ "<services>",
+ " <admin version='2.0'>",
+ " <adminserver hostalias='node1'/>",
+ " <metrics>",
+ " <consumer id='" + consumerId + "'/>",
+ " </metrics>",
+ " </admin>",
+ "</services>"
);
thrown.expect(IllegalArgumentException.class);
- thrown.expectMessage("'Vespa' is not allowed as metrics consumer id");
- consumersConfigFromXml(services);
+ thrown.expectMessage("'" + consumerId + "' is not allowed as metrics consumer id");
+ consumersConfigFromXml(services, self_hosted);
}
@Test
@@ -138,12 +168,13 @@ public class MetricsProxyContainerClusterTest {
" </admin>",
"</services>"
);
- ConsumersConfig config = consumersConfigFromXml(services);
+ VespaModel hostedModel = getModel(services, hosted);
+ ConsumersConfig config = consumersConfigFromModel(hostedModel);
assertEquals(1, config.consumer().size());
// All default metrics are retained
ConsumersConfig.Consumer vespaConsumer = config.consumer(0);
- assertEquals(numMetricsForDefaultConsumer + 1, vespaConsumer.metric().size());
+ assertEquals(numMetricsForVespaConsumer + 1, vespaConsumer.metric().size());
Metric customMetric1 = new Metric("custom.metric1");
assertTrue("Did not contain metric: " + customMetric1, checkMetric(vespaConsumer, customMetric1));
@@ -164,7 +195,7 @@ public class MetricsProxyContainerClusterTest {
);
thrown.expect(IllegalArgumentException.class);
thrown.expectMessage("'a' is used as id for two metrics consumers");
- consumersConfigFromXml(services);
+ consumersConfigFromXml(services, self_hosted);
}
@Test
@@ -216,7 +247,7 @@ public class MetricsProxyContainerClusterTest {
@Test
public void hosted_application_propagates_application_dimensions() {
- VespaModel hostedModel = getHostedModel(servicesWithAdminOnly());
+ VespaModel hostedModel = getModel(servicesWithAdminOnly(), hosted);
ApplicationDimensionsConfig config = getApplicationDimensionsConfig(hostedModel);
assertEquals(zoneString(Zone.defaultZone()), config.dimensions(AppDimensionNames.ZONE));