diff options
Diffstat (limited to 'config-model/src/test/java/com/yahoo')
3 files changed, 48 insertions, 79 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 78c1c5931a2..ff38a184eec 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,17 +25,14 @@ 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; @@ -57,14 +54,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 numMetricsForVespaConsumer = numVespaMetrics + numSystemMetrics + numNetworkMetrics; + private static int numMetricsForDefaultConsumer = numVespaMetrics + numSystemMetrics + numNetworkMetrics; @Rule public ExpectedException thrown = ExpectedException.none(); @Test public void metrics_proxy_bundle_is_included_in_bundles_config() { - VespaModel model = getModel(servicesWithAdminOnly(), self_hosted); + VespaModel model = getModel(servicesWithAdminOnly()); var builder = new BundlesConfig.Builder(); model.getConfig(builder, CLUSTER_CONFIG_ID); BundlesConfig config = builder.build(); @@ -74,7 +71,7 @@ public class MetricsProxyContainerClusterTest { @Test public void cluster_is_prepared_so_that_application_metadata_config_is_produced() { - VespaModel model = getModel(servicesWithAdminOnly(), self_hosted); + VespaModel model = getModel(servicesWithAdminOnly()); var builder = new ApplicationMetadataConfig.Builder(); model.getConfig(builder, CLUSTER_CONFIG_ID); ApplicationMetadataConfig config = builder.build(); @@ -85,44 +82,26 @@ public class MetricsProxyContainerClusterTest { @Test public void verbose_gc_logging_is_disabled() { - VespaModel model = getModel(servicesWithAdminOnly(), self_hosted); + VespaModel model = getModel(servicesWithAdminOnly()); 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_public_consumer_is_not_set_up_for_hosted() { - ConsumersConfig config = consumersConfigFromXml(servicesWithAdminOnly(), hosted); - assertEquals(1, config.consumer().size()); + 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); + assertEquals(numMetricsForDefaultConsumer, config.consumer(0).metric().size()); } @Test - 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); + public void default_consumer_can_be_amended_via_admin_object() { + VespaModel model = getModel(servicesWithAdminOnly()); var additionalMetric = new Metric("additional-metric"); model.getAdmin().setAdditionalDefaultMetrics(new MetricSet("amender-metrics", singleton(additionalMetric))); ConsumersConfig config = consumersConfigFromModel(model); - assertEquals(numMetricsForVespaConsumer + 1, config.consumer(0).metric().size()); + assertEquals(numMetricsForDefaultConsumer + 1, config.consumer(0).metric().size()); ConsumersConfig.Consumer vespaConsumer = config.consumer(0); assertTrue("Did not contain additional metric", checkMetric(vespaConsumer, additionalMetric)); @@ -130,28 +109,19 @@ 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='" + consumerId + "'/>", - " </metrics>", - " </admin>", - "</services>" + "<services>", + " <admin version='2.0'>", + " <adminserver hostalias='node1'/>", + " <metrics>", + " <consumer id='vespa'/>", + " </metrics>", + " </admin>", + "</services>" ); thrown.expect(IllegalArgumentException.class); - thrown.expectMessage("'" + consumerId + "' is not allowed as metrics consumer id"); - consumersConfigFromXml(services, self_hosted); + thrown.expectMessage("'Vespa' is not allowed as metrics consumer id"); + consumersConfigFromXml(services); } @Test @@ -168,13 +138,12 @@ public class MetricsProxyContainerClusterTest { " </admin>", "</services>" ); - VespaModel hostedModel = getModel(services, hosted); - ConsumersConfig config = consumersConfigFromModel(hostedModel); + ConsumersConfig config = consumersConfigFromXml(services); assertEquals(1, config.consumer().size()); // All default metrics are retained ConsumersConfig.Consumer vespaConsumer = config.consumer(0); - assertEquals(numMetricsForVespaConsumer + 1, vespaConsumer.metric().size()); + assertEquals(numMetricsForDefaultConsumer + 1, vespaConsumer.metric().size()); Metric customMetric1 = new Metric("custom.metric1"); assertTrue("Did not contain metric: " + customMetric1, checkMetric(vespaConsumer, customMetric1)); @@ -195,7 +164,7 @@ public class MetricsProxyContainerClusterTest { ); thrown.expect(IllegalArgumentException.class); thrown.expectMessage("'a' is used as id for two metrics consumers"); - consumersConfigFromXml(services, self_hosted); + consumersConfigFromXml(services); } @Test @@ -247,7 +216,7 @@ public class MetricsProxyContainerClusterTest { @Test public void hosted_application_propagates_application_dimensions() { - VespaModel hostedModel = getModel(servicesWithAdminOnly(), hosted); + VespaModel hostedModel = getHostedModel(servicesWithAdminOnly()); ApplicationDimensionsConfig config = getApplicationDimensionsConfig(hostedModel); assertEquals(zoneString(Zone.defaultZone()), config.dimensions(AppDimensionNames.ZONE)); diff --git a/config-model/src/test/java/com/yahoo/vespa/model/admin/metricsproxy/MetricsProxyContainerTest.java b/config-model/src/test/java/com/yahoo/vespa/model/admin/metricsproxy/MetricsProxyContainerTest.java index 5d3bcd58f3d..f755871ac4b 100644 --- a/config-model/src/test/java/com/yahoo/vespa/model/admin/metricsproxy/MetricsProxyContainerTest.java +++ b/config-model/src/test/java/com/yahoo/vespa/model/admin/metricsproxy/MetricsProxyContainerTest.java @@ -11,8 +11,7 @@ import org.junit.Test; import static com.yahoo.config.model.api.container.ContainerServiceType.METRICS_PROXY_CONTAINER; import static com.yahoo.vespa.model.admin.metricsproxy.MetricsProxyModelTester.CLUSTER_CONFIG_ID; import static com.yahoo.vespa.model.admin.metricsproxy.MetricsProxyModelTester.CONTAINER_CONFIG_ID; -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.getHostedModel; import static com.yahoo.vespa.model.admin.metricsproxy.MetricsProxyModelTester.getModel; import static com.yahoo.vespa.model.admin.metricsproxy.MetricsProxyModelTester.getNodeDimensionsConfig; import static com.yahoo.vespa.model.admin.metricsproxy.MetricsProxyModelTester.getRpcConnectorConfig; @@ -50,7 +49,7 @@ public class MetricsProxyContainerTest { @Test public void metrics_proxy_requires_less_memory_than_other_containers() { - VespaModel model = getModel(servicesWithContent(), self_hosted); + VespaModel model = getModel(servicesWithContent()); MetricsProxyContainer container = (MetricsProxyContainer)model.id2producer().get(CONTAINER_CONFIG_ID); assertThat(container.getStartupCommand(), containsString("-Xms32m")); assertThat(container.getStartupCommand(), containsString("-Xmx512m")); @@ -58,7 +57,7 @@ public class MetricsProxyContainerTest { @Test public void http_server_is_running_on_expected_port() { - VespaModel model = getModel(servicesWithContent(), self_hosted); + VespaModel model = getModel(servicesWithContent()); MetricsProxyContainer container = (MetricsProxyContainer)model.id2producer().get(CONTAINER_CONFIG_ID); assertEquals(19092, container.getSearchPort()); assertEquals(19092, container.getHealthPort()); @@ -70,7 +69,7 @@ public class MetricsProxyContainerTest { @Test public void metrics_rpc_server_is_running_on_expected_port() { - VespaModel model = getModel(servicesWithContent(), self_hosted); + VespaModel model = getModel(servicesWithContent()); MetricsProxyContainer container = (MetricsProxyContainer)model.id2producer().get(CONTAINER_CONFIG_ID); int offset = container.metricsRpcPortOffset(); @@ -86,7 +85,7 @@ public class MetricsProxyContainerTest { @Test public void admin_rpc_server_is_running() { - VespaModel model = getModel(servicesWithContent(), self_hosted); + VespaModel model = getModel(servicesWithContent()); MetricsProxyContainer container = (MetricsProxyContainer)model.id2producer().get(CONTAINER_CONFIG_ID); int offset = container.metricsRpcPortOffset() - 1; @@ -100,7 +99,7 @@ public class MetricsProxyContainerTest { @Test public void hosted_application_propagates_node_dimensions() { String services = servicesWithContent(); - VespaModel hostedModel = getModel(services, hosted); + VespaModel hostedModel = getHostedModel(services); assertEquals(1, hostedModel.getHosts().size()); String configId = CLUSTER_CONFIG_ID + "/" + hostedModel.getHosts().iterator().next().getHostname(); NodeDimensionsConfig config = getNodeDimensionsConfig(hostedModel, configId); diff --git a/config-model/src/test/java/com/yahoo/vespa/model/admin/metricsproxy/MetricsProxyModelTester.java b/config-model/src/test/java/com/yahoo/vespa/model/admin/metricsproxy/MetricsProxyModelTester.java index ad6a7de935b..59b7110e96e 100644 --- a/config-model/src/test/java/com/yahoo/vespa/model/admin/metricsproxy/MetricsProxyModelTester.java +++ b/config-model/src/test/java/com/yahoo/vespa/model/admin/metricsproxy/MetricsProxyModelTester.java @@ -16,9 +16,6 @@ import com.yahoo.vespa.model.VespaModel; import com.yahoo.vespa.model.admin.monitoring.Metric; import com.yahoo.vespa.model.test.VespaModelTester; -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.monitoring.DefaultPublicConsumer.DEFAULT_PUBLIC_CONSUMER_ID; import static com.yahoo.vespa.model.admin.monitoring.VespaMetricsConsumer.VESPA_CONSUMER_ID; import static org.junit.Assert.assertEquals; @@ -36,17 +33,20 @@ class MetricsProxyModelTester { // Used for all configs that are produced by the container, not the cluster. static final String CONTAINER_CONFIG_ID = CLUSTER_CONFIG_ID + "/localhost"; - enum TestMode { - self_hosted, - hosted + static VespaModel getModel(String servicesXml) { + var numberOfHosts = 1; + var tester = new VespaModelTester(); + tester.addHosts(numberOfHosts); + tester.setHosted(false); + return tester.createModel(servicesXml, true); } - static VespaModel getModel(String servicesXml, TestMode testMode) { - var numberOfHosts = testMode == hosted ? 2 : 1; + static VespaModel getHostedModel(String servicesXml) { + var numberOfHosts = 2; var tester = new VespaModelTester(); tester.addHosts(numberOfHosts); - tester.setHosted(testMode == hosted); - if (testMode == hosted) tester.setApplicationId(MY_TENANT, MY_APPLICATION, MY_INSTANCE); + tester.setHosted(true); + tester.setApplicationId(MY_TENANT, MY_APPLICATION, MY_INSTANCE); return tester.createModel(servicesXml, true); } @@ -59,16 +59,17 @@ class MetricsProxyModelTester { } static ConsumersConfig.Consumer getCustomConsumer(String servicesXml) { - ConsumersConfig config = consumersConfigFromXml(servicesXml, self_hosted); + ConsumersConfig config = consumersConfigFromXml(servicesXml); + assertEquals(2, config.consumer().size()); for (ConsumersConfig.Consumer consumer : config.consumer()) { - if (! consumer.name().equals(VESPA_CONSUMER_ID) && ! consumer.name().equals(DEFAULT_PUBLIC_CONSUMER_ID)) + if (! consumer.name().equals(VESPA_CONSUMER_ID)) return consumer; } - throw new RuntimeException("Custom consumer not found!"); + throw new RuntimeException("Two consumers with the reserved id - this cannot happen."); } - static ConsumersConfig consumersConfigFromXml(String servicesXml, TestMode testMode) { - return consumersConfigFromModel(getModel(servicesXml, testMode)); + static ConsumersConfig consumersConfigFromXml(String servicesXml) { + return consumersConfigFromModel(getModel(servicesXml)); } static ConsumersConfig consumersConfigFromModel(VespaModel model) { @@ -88,7 +89,7 @@ class MetricsProxyModelTester { } static VespaServicesConfig getVespaServicesConfig(String servicesXml) { - VespaModel model = getModel(servicesXml, self_hosted); + VespaModel model = getModel(servicesXml); return new VespaServicesConfig((VespaServicesConfig.Builder) model.getConfig(new VespaServicesConfig.Builder(), CONTAINER_CONFIG_ID)); } |