summaryrefslogtreecommitdiffstats
path: root/config-model
diff options
context:
space:
mode:
authorHenning Baldersheim <balder@yahoo-inc.com>2024-01-15 10:00:19 +0100
committerHenning Baldersheim <balder@yahoo-inc.com>2024-01-15 10:00:19 +0100
commit6400454d02a93876dc6e7aa4e1b4ef25d8422938 (patch)
tree5c31088a8dc2b8ba280e79bb2982b2d70d2814da /config-model
parenta2f7d4a67d84d1fe2ebc633ca727409d56d81e0c (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')
-rw-r--r--config-model/src/main/java/com/yahoo/config/model/provision/InMemoryProvisioner.java5
-rw-r--r--config-model/src/test/java/com/yahoo/vespa/model/admin/metricsproxy/MetricsProxyContainerTest.java29
-rw-r--r--config-model/src/test/java/com/yahoo/vespa/model/admin/metricsproxy/MetricsProxyModelTester.java13
-rw-r--r--config-model/src/test/java/com/yahoo/vespa/model/application/validation/ContainerInCloudValidatorTest.java6
-rw-r--r--config-model/src/test/java/com/yahoo/vespa/model/application/validation/ValidationTester.java2
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;
/**