diff options
author | gjoranv <gv@verizonmedia.com> | 2020-01-06 14:53:46 +0100 |
---|---|---|
committer | gjoranv <gv@verizonmedia.com> | 2020-01-06 14:53:46 +0100 |
commit | 1babdf8ac3f5cb07931ffe040493f437902cee85 (patch) | |
tree | d9e526e9938e75d1a96388c58796eb5a76f4c0a4 | |
parent | cc711b5a8fbc1a7a5897f8ee1761103fcb89e644 (diff) |
Use cluster membership as id of a host, instead of its configId.
+ Improve test
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()); } |