diff options
author | Henning Baldersheim <balder@yahoo-inc.com> | 2024-01-15 10:00:19 +0100 |
---|---|---|
committer | Henning Baldersheim <balder@yahoo-inc.com> | 2024-01-15 10:00:19 +0100 |
commit | 6400454d02a93876dc6e7aa4e1b4ef25d8422938 (patch) | |
tree | 5c31088a8dc2b8ba280e79bb2982b2d70d2814da /config-model/src | |
parent | a2f7d4a67d84d1fe2ebc633ca727409d56d81e0c (diff) |
- Rewrite tests to avoid depending on a empty content cluster not requiring a docproc cluster.
- Empty content cluster serves no purpose.
Diffstat (limited to 'config-model/src')
5 files changed, 25 insertions, 30 deletions
diff --git a/config-model/src/main/java/com/yahoo/config/model/provision/InMemoryProvisioner.java b/config-model/src/main/java/com/yahoo/config/model/provision/InMemoryProvisioner.java index c8f088509c5..befe57a97e4 100644 --- a/config-model/src/main/java/com/yahoo/config/model/provision/InMemoryProvisioner.java +++ b/config-model/src/main/java/com/yahoo/config/model/provision/InMemoryProvisioner.java @@ -13,7 +13,6 @@ import com.yahoo.config.provision.ClusterSpec; import com.yahoo.config.provision.Environment; import com.yahoo.config.provision.HostSpec; import com.yahoo.config.provision.NodeResources; -import com.yahoo.config.provision.NodeResources.DiskSpeed; import com.yahoo.config.provision.ProvisionLogger; import java.util.ArrayList; @@ -310,9 +309,7 @@ public class InMemoryProvisioner implements HostProvisioner { if (a.memoryGb() < b.memoryGb()) return -1; if (a.diskGb() > b.diskGb()) return 1; if (a.diskGb() < b.diskGb()) return -1; - if (a.vcpu() > b.vcpu()) return 1; - if (a.vcpu() < b.vcpu()) return -1; - return 0; + return Double.compare(a.vcpu(), b.vcpu()); } } 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 97c349aeef2..ac431f081ed 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 @@ -6,15 +6,18 @@ import ai.vespa.metricsproxy.metric.dimensions.NodeDimensionsConfig; import ai.vespa.metricsproxy.metric.dimensions.PublicDimensions; import ai.vespa.metricsproxy.rpc.RpcConnectorConfig; import ai.vespa.metricsproxy.service.VespaServicesConfig; +import com.yahoo.config.model.api.HostInfo; import com.yahoo.config.model.deploy.DeployState; import com.yahoo.vespa.model.VespaModel; import org.junit.jupiter.api.Test; +import java.util.Iterator; + 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.containerConfigId; 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; @@ -104,12 +107,22 @@ public class MetricsProxyContainerTest { assertEquals("", container.getPreLoad()); } + String hostedConfigIdForHost(VespaModel model, int index) { + HostInfo hostInfo = null; + for (Iterator<HostInfo> iter = model.getHosts().iterator(); iter.hasNext(); index--) { + hostInfo = iter.next(); + if (index == 0) break; + } + return CLUSTER_CONFIG_ID + "/" + hostInfo.getHostname(); + } + @Test void hosted_application_propagates_node_dimensions() { String services = hostedServicesWithContent(); - VespaModel hostedModel = getModel(services, hosted); - assertEquals(4, hostedModel.getHosts().size()); - String configId = containerConfigId(hostedModel, hosted); + VespaModel hostedModel = getModel(services, hosted, new DeployState.Builder(), 5); + assertEquals(5, hostedModel.getHosts().size()); + String configId = hostedConfigIdForHost(hostedModel, 1); + NodeDimensionsConfig config = getNodeDimensionsConfig(hostedModel, configId); assertEquals("content", config.dimensions(PublicDimensions.INTERNAL_CLUSTER_TYPE)); @@ -120,9 +133,10 @@ public class MetricsProxyContainerTest { @Test void metrics_v2_handler_is_set_up_with_node_info_config() { String services = hostedServicesWithContent(); - VespaModel hostedModel = getModel(services, hosted); + VespaModel hostedModel = getModel(services, hosted, new DeployState.Builder(), 5); - var container = (MetricsProxyContainer) hostedModel.id2producer().get(containerConfigId(hostedModel, hosted)); + String configId = hostedConfigIdForHost(hostedModel, 1); + var container = (MetricsProxyContainer) hostedModel.id2producer().get(configId); var handlers = container.getHandlers().getComponents(); assertEquals(1, handlers.size()); @@ -178,6 +192,9 @@ public class MetricsProxyContainerTest { private static String hostedServicesWithContent() { return String.join("\n", "<services>", + " <container version='1.0' id='foo'>", + " <nodes count='1'/>", + " </container>", " <content version='1.0' id='my-content'>", " <redundancy>1</redundancy>" + " <documents />", 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 332426ff9a8..c356db31d15 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 @@ -12,7 +12,6 @@ import ai.vespa.metricsproxy.service.VespaServicesConfig; import com.yahoo.config.model.api.ApplicationClusterEndpoint; import com.yahoo.config.model.api.ContainerEndpoint; import com.yahoo.config.model.deploy.DeployState; -import com.yahoo.search.config.QrStartConfig; import com.yahoo.vespa.model.VespaModel; import com.yahoo.vespa.model.admin.monitoring.MetricsConsumer; import com.yahoo.vespa.model.test.VespaModelTester; @@ -47,7 +46,7 @@ class MetricsProxyModelTester { } static VespaModel getModel(String servicesXml, TestMode testMode, DeployState.Builder builder) { - return getModel(servicesXml, testMode, new DeployState.Builder(), 4); + return getModel(servicesXml, testMode, builder, 4); } static VespaModel getModel(String servicesXml, TestMode testMode, DeployState.Builder builder, int hostCount) { @@ -62,12 +61,6 @@ class MetricsProxyModelTester { return tester.createModel(servicesXml, true, builder); } - static String containerConfigId(VespaModel model, MetricsProxyModelTester.TestMode mode) { - return (mode == hosted) - ? CLUSTER_CONFIG_ID + "/" + model.getHosts().iterator().next().getHostname() - : CONTAINER_CONFIG_ID; - } - static String servicesWithAdminOnly() { return String.join("\n", "<services>", @@ -112,10 +105,6 @@ class MetricsProxyModelTester { return model.getConfig(ApplicationDimensionsConfig.class, CLUSTER_CONFIG_ID); } - static QrStartConfig getQrStartConfig(VespaModel model, String hostname) { - return model.getConfig(QrStartConfig.class, CLUSTER_CONFIG_ID + "/" + hostname); - } - static NodeDimensionsConfig getNodeDimensionsConfig(VespaModel model, String configId) { return model.getConfig(NodeDimensionsConfig.class, configId); } diff --git a/config-model/src/test/java/com/yahoo/vespa/model/application/validation/ContainerInCloudValidatorTest.java b/config-model/src/test/java/com/yahoo/vespa/model/application/validation/ContainerInCloudValidatorTest.java index b6484049eaf..61cde1e1c13 100644 --- a/config-model/src/test/java/com/yahoo/vespa/model/application/validation/ContainerInCloudValidatorTest.java +++ b/config-model/src/test/java/com/yahoo/vespa/model/application/validation/ContainerInCloudValidatorTest.java @@ -42,12 +42,6 @@ public class ContainerInCloudValidatorTest { String servicesXml = """ <services version='1.0'> %s - <content id='foo' version='1.0'> - <redundancy>2</redundancy> - <documents> - </documents> - <nodes count='2' /> - </content> </services> """.formatted(container); ApplicationPackage app = new MockApplicationPackage.Builder() diff --git a/config-model/src/test/java/com/yahoo/vespa/model/application/validation/ValidationTester.java b/config-model/src/test/java/com/yahoo/vespa/model/application/validation/ValidationTester.java index 29279635918..42ca2a8001b 100644 --- a/config-model/src/test/java/com/yahoo/vespa/model/application/validation/ValidationTester.java +++ b/config-model/src/test/java/com/yahoo/vespa/model/application/validation/ValidationTester.java @@ -24,7 +24,6 @@ import java.time.Instant; import java.time.LocalDate; import java.time.ZoneOffset; import java.time.format.DateTimeFormatter; -import java.util.ArrayList; import java.util.Arrays; import java.util.List; import java.util.Set; @@ -33,7 +32,6 @@ import java.util.stream.Stream; import static com.yahoo.config.model.test.MockApplicationPackage.BOOK_SCHEMA; import static com.yahoo.config.model.test.MockApplicationPackage.MUSIC_SCHEMA; -import static org.junit.jupiter.api.Assertions.assertEquals; import static org.junit.jupiter.api.Assertions.assertTrue; /** |