diff options
author | gjoranv <gv@verizonmedia.com> | 2019-05-21 17:35:13 +0200 |
---|---|---|
committer | gjoranv <gv@verizonmedia.com> | 2019-05-22 00:33:42 +0200 |
commit | f8252529b76a6a384873248e9e016ea5f325fad7 (patch) | |
tree | f74ab3361b921f8711e1b1c425ee0666caf0f650 | |
parent | 92eb53f4954f17ab560b25dbf33be7b80343a453 (diff) |
Enable admin rpc server on metricsproxy containers.
4 files changed, 31 insertions, 17 deletions
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 3559d401346..60f13ab6012 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 @@ -60,7 +60,7 @@ public class MetricsProxyContainer extends Container implements } int metricsRpcPortOffset() { - return numHttpServerPorts; + return numHttpServerPorts + numMessageBusPorts() + numRpcPorts(); } @Override @@ -92,7 +92,7 @@ public class MetricsProxyContainer extends Container implements @Override protected void tagServers() { super.tagServers(); - portsMeta.on(numHttpServerPorts).tag("rpc").tag("metrics"); + portsMeta.on(metricsRpcPortOffset()).tag("rpc").tag("metrics"); } @Override diff --git a/config-model/src/main/java/com/yahoo/vespa/model/admin/metricsproxy/MetricsProxyContainerCluster.java b/config-model/src/main/java/com/yahoo/vespa/model/admin/metricsproxy/MetricsProxyContainerCluster.java index 50f0bbd71dc..558e0cdb3c2 100644 --- a/config-model/src/main/java/com/yahoo/vespa/model/admin/metricsproxy/MetricsProxyContainerCluster.java +++ b/config-model/src/main/java/com/yahoo/vespa/model/admin/metricsproxy/MetricsProxyContainerCluster.java @@ -83,7 +83,7 @@ public class MetricsProxyContainerCluster extends ContainerCluster<MetricsProxyC applicationId = deployState.getProperties().applicationId(); setMessageBusEnabled(false); - setRpcServerEnabled(false); // TODO: set to true + setRpcServerEnabled(true); addDefaultHandlersExceptStatus(); addPlatformBundle(METRICS_PROXY_BUNDLE_FILE); diff --git a/config-model/src/main/java/com/yahoo/vespa/model/container/Container.java b/config-model/src/main/java/com/yahoo/vespa/model/container/Container.java index b157f208053..2688f379ada 100644 --- a/config-model/src/main/java/com/yahoo/vespa/model/container/Container.java +++ b/config-model/src/main/java/com/yahoo/vespa/model/container/Container.java @@ -164,18 +164,19 @@ public abstract class Container extends AbstractService implements } protected void tagServers() { + int offset = 0; if (numHttpServerPorts > 0) { - portsMeta.on(0).tag("http").tag("query").tag("external").tag("state"); + portsMeta.on(offset++).tag("http").tag("query").tag("external").tag("state"); } for (int i = 1; i < numHttpServerPorts; i++) - portsMeta.on(i).tag("http").tag("external"); + portsMeta.on(offset++).tag("http").tag("external"); if (messageBusEnabled()) { - portsMeta.on(numHttpServerPorts).tag("rpc").tag("messaging"); + portsMeta.on(offset++).tag("rpc").tag("messaging"); } if (rpcServerEnabled()) { - portsMeta.on(numHttpServerPorts + 1).tag("rpc").tag("admin"); + portsMeta.on(offset++).tag("rpc").tag("admin"); } } @@ -260,7 +261,7 @@ public abstract class Container extends AbstractService implements suffixes[off++] = "messaging"; } if (rpcServerEnabled()) { - suffixes[off++] = "rpc"; + suffixes[off++] = "rpc/admin"; } while (off < n) { suffixes[off] = "unused/" + off; @@ -285,14 +286,14 @@ public abstract class Container extends AbstractService implements return rpcServerEnabled() ? getRelativePort(numHttpServerPorts + numMessageBusPorts()) : 0; } - private int numRpcPorts() { return rpcServerEnabled() ? 1 : 0; } + protected int numRpcPorts() { return rpcServerEnabled() ? 1 : 0; } private int getMessagingPort() { return messageBusEnabled() ? getRelativePort(numHttpServerPorts) : 0; } - private int numMessageBusPorts() { return messageBusEnabled() ? 1 : 0; } + protected int numMessageBusPorts() { return messageBusEnabled() ? 1 : 0; } @Override public int getHealthPort() { 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 ff486c6a437..a1b77332bd2 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 @@ -60,19 +60,32 @@ public class MetricsProxyContainerTest { } @Test - public void rpc_server_is_running_on_expected_port() { + public void metrics_rpc_server_is_running_on_expected_port() { VespaModel model = getModel(servicesWithContent()); - MetricsProxyContainer container = (MetricsProxyContainer)model.id2producer().get(CONTAINER_CONFIG_ID); - int rpcPort = container.metricsRpcPortOffset(); - assertTrue(container.getPortsMeta().getTagsAt(rpcPort).contains("rpc")); - assertTrue(container.getPortsMeta().getTagsAt(rpcPort).contains("metrics")); + int offset = container.metricsRpcPortOffset(); + assertEquals(2, container.getPortsMeta().getTagsAt(offset).size()); + assertTrue(container.getPortsMeta().getTagsAt(offset).contains("rpc")); + assertTrue(container.getPortsMeta().getTagsAt(offset).contains("metrics")); - assertEquals("rpc/metrics", container.getPortSuffixes()[rpcPort]); + assertEquals("rpc/metrics", container.getPortSuffixes()[offset]); RpcConnectorConfig config = getRpcConnectorConfig(model); - assertEquals(19094, config.port()); + assertEquals(19095, config.port()); + } + + @Test + public void admin_rpc_server_is_running() { + VespaModel model = getModel(servicesWithContent()); + MetricsProxyContainer container = (MetricsProxyContainer)model.id2producer().get(CONTAINER_CONFIG_ID); + + int offset = container.metricsRpcPortOffset() - 1; + assertEquals(2, container.getPortsMeta().getTagsAt(offset).size()); + assertTrue(container.getPortsMeta().getTagsAt(offset).contains("rpc")); + assertTrue(container.getPortsMeta().getTagsAt(offset).contains("admin")); + + assertEquals("rpc/admin", container.getPortSuffixes()[offset]); } @Test |