summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorgjoranv <gv@verizonmedia.com>2020-01-06 14:53:46 +0100
committergjoranv <gv@verizonmedia.com>2020-01-06 14:53:46 +0100
commit1babdf8ac3f5cb07931ffe040493f437902cee85 (patch)
treed9e526e9938e75d1a96388c58796eb5a76f4c0a4
parentcc711b5a8fbc1a7a5897f8ee1761103fcb89e644 (diff)
Use cluster membership as id of a host, instead of its configId.
+ Improve test
-rw-r--r--config-model/src/main/java/com/yahoo/vespa/model/admin/metricsproxy/MetricsNodesConfigGenerator.java10
-rw-r--r--config-model/src/main/java/com/yahoo/vespa/model/admin/metricsproxy/MetricsProxyContainer.java2
-rw-r--r--config-model/src/test/java/com/yahoo/vespa/model/admin/metricsproxy/MetricsProxyContainerClusterTest.java4
3 files changed, 12 insertions, 4 deletions
diff --git a/config-model/src/main/java/com/yahoo/vespa/model/admin/metricsproxy/MetricsNodesConfigGenerator.java b/config-model/src/main/java/com/yahoo/vespa/model/admin/metricsproxy/MetricsNodesConfigGenerator.java
index d599431d5d8..ded3ddbe105 100644
--- a/config-model/src/main/java/com/yahoo/vespa/model/admin/metricsproxy/MetricsNodesConfigGenerator.java
+++ b/config-model/src/main/java/com/yahoo/vespa/model/admin/metricsproxy/MetricsNodesConfigGenerator.java
@@ -4,6 +4,7 @@ package com.yahoo.vespa.model.admin.metricsproxy;
import ai.vespa.metricsproxy.http.MetricsHandler;
import ai.vespa.metricsproxy.http.application.MetricsNodesConfig;
+import com.yahoo.config.provision.ClusterMembership;
import java.util.List;
import java.util.stream.Collectors;
@@ -20,11 +21,18 @@ public class MetricsNodesConfigGenerator {
}
private static MetricsNodesConfig.Node.Builder toNodeBuilder(MetricsProxyContainer container) {
- return new MetricsNodesConfig.Node.Builder()
+ var builder = new MetricsNodesConfig.Node.Builder()
.configId(container.getHost().getConfigId())
.hostname(container.getHostName())
.metricsPort(MetricsProxyContainer.BASEPORT)
.metricsPath(MetricsHandler.VALUES_PATH);
+
+ if (container.isHostedVespa)
+ container.getHostResource().spec().membership()
+ .map(ClusterMembership::stringValue)
+ .ifPresent(builder::configId);
+
+ return builder;
}
}
diff --git a/config-model/src/main/java/com/yahoo/vespa/model/admin/metricsproxy/MetricsProxyContainer.java b/config-model/src/main/java/com/yahoo/vespa/model/admin/metricsproxy/MetricsProxyContainer.java
index 65df51ee3ab..08f782a0c54 100644
--- a/config-model/src/main/java/com/yahoo/vespa/model/admin/metricsproxy/MetricsProxyContainer.java
+++ b/config-model/src/main/java/com/yahoo/vespa/model/admin/metricsproxy/MetricsProxyContainer.java
@@ -38,7 +38,7 @@ public class MetricsProxyContainer extends Container implements
static final String CLUSTER_ID = "clusterid";
}
- private final boolean isHostedVespa;
+ final boolean isHostedVespa;
public MetricsProxyContainer(AbstractConfigProducer parent, String hostname, int index, boolean isHostedVespa) {
super(parent, hostname, index);
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 47f315490e1..e25cee82e8a 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
@@ -307,8 +307,8 @@ public class MetricsProxyContainerClusterTest {
}
private void assertNodeConfig(MetricsNodesConfig.Node node) {
- assertFalse(node.configId().isEmpty());
- assertFalse(node.hostname().isEmpty());
+ assertTrue(node.configId().startsWith("container/foo/0/"));
+ assertTrue(node.hostname().startsWith("node-1-3-9-"));
assertEquals(MetricsProxyContainer.BASEPORT, node.metricsPort());
assertEquals(MetricsHandler.VALUES_PATH, node.metricsPath());
}