summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorBjørn Christian Seime <bjorn.christian@seime.no>2019-03-28 15:15:56 +0100
committerGitHub <noreply@github.com>2019-03-28 15:15:56 +0100
commit89e35c4f187d18934d0e66702bab8434bebbea5c (patch)
tree0106d13b1d456a4633f0af83c889c595503f6909
parent949d1664e62bf29cb67193274a88991b0157b070 (diff)
parentec3ff99398b12444ef6d84064dd50ffe4189396a (diff)
Merge pull request #8916 from vespa-engine/bjorncs/logserver-rpc-port-in-config-model
Add new logserver rpc port to Vespa model
-rw-r--r--config-model/src/main/java/com/yahoo/vespa/model/admin/Admin.java6
-rw-r--r--config-model/src/main/java/com/yahoo/vespa/model/admin/Logserver.java15
-rw-r--r--config-model/src/test/java/com/yahoo/vespa/model/admin/AdminTestCase.java5
-rw-r--r--logd/src/main/resources/configdefinitions/logd.def7
4 files changed, 19 insertions, 14 deletions
diff --git a/config-model/src/main/java/com/yahoo/vespa/model/admin/Admin.java b/config-model/src/main/java/com/yahoo/vespa/model/admin/Admin.java
index 8a98730c9c6..22811ae5878 100644
--- a/config-model/src/main/java/com/yahoo/vespa/model/admin/Admin.java
+++ b/config-model/src/main/java/com/yahoo/vespa/model/admin/Admin.java
@@ -6,11 +6,9 @@ import com.yahoo.cloud.config.ZookeepersConfig;
import com.yahoo.cloud.config.log.LogdConfig;
import com.yahoo.config.application.api.DeployLogger;
import com.yahoo.config.model.ConfigModelContext.ApplicationType;
-import com.yahoo.config.model.api.ConfigServerSpec;
import com.yahoo.config.model.deploy.DeployState;
import com.yahoo.config.model.producer.AbstractConfigProducer;
import com.yahoo.config.provision.ApplicationId;
-import com.yahoo.config.provision.SystemName;
import com.yahoo.config.provision.Zone;
import com.yahoo.vespa.model.AbstractService;
import com.yahoo.vespa.model.ConfigProxy;
@@ -20,10 +18,8 @@ import com.yahoo.vespa.model.Logd;
import com.yahoo.vespa.model.admin.clustercontroller.ClusterControllerContainerCluster;
import com.yahoo.vespa.model.admin.metricsproxy.MetricsProxyContainer;
import com.yahoo.vespa.model.admin.metricsproxy.MetricsProxyContainerCluster;
-import com.yahoo.vespa.model.admin.monitoring.MetricsConsumer;
import com.yahoo.vespa.model.admin.monitoring.Monitoring;
import com.yahoo.vespa.model.admin.monitoring.builder.Metrics;
-import com.yahoo.vespa.model.container.ContainerCluster;
import com.yahoo.vespa.model.filedistribution.FileDistributionConfigProducer;
import com.yahoo.vespa.model.filedistribution.FileDistributionConfigProvider;
import com.yahoo.vespa.model.filedistribution.FileDistributor;
@@ -32,7 +28,6 @@ import java.io.Serializable;
import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
-import java.util.Map;
import java.util.Optional;
/**
@@ -156,6 +151,7 @@ public class Admin extends AbstractConfigProducer implements Serializable {
logserver(new LogdConfig.Logserver.Builder().
use(logServerContainerCluster.isPresent() || !isHostedVespa).
host(logserver.getHostName()).
+ rpcport(logserver.getRelativePort(0)).
port(logserver.getRelativePort(1)));
}
}
diff --git a/config-model/src/main/java/com/yahoo/vespa/model/admin/Logserver.java b/config-model/src/main/java/com/yahoo/vespa/model/admin/Logserver.java
index 0d641dcbd38..6c173043092 100644
--- a/config-model/src/main/java/com/yahoo/vespa/model/admin/Logserver.java
+++ b/config-model/src/main/java/com/yahoo/vespa/model/admin/Logserver.java
@@ -9,6 +9,7 @@ import com.yahoo.vespa.model.AbstractService;
* system.
*
* @author gjoranv
+ * @author bjorncs
*/
public class Logserver extends AbstractService {
@@ -17,10 +18,10 @@ public class Logserver extends AbstractService {
public Logserver(AbstractConfigProducer parent) {
super(parent, "logserver");
- portsMeta.on(0).tag("unused");
- portsMeta.on(1).tag("logtp");
- portsMeta.on(2).tag("logtp").tag("telnet").tag("last-errors-holder");
- portsMeta.on(3).tag("logtp").tag("telnet").tag("replicator");
+ portsMeta.on(0).tag("logtp").tag("rpc");
+ portsMeta.on(1).tag("logtp").tag("legacy");
+ portsMeta.on(2).tag("unused");
+ portsMeta.on(3).tag("unused");
setProp("clustertype", "admin");
setProp("clustername", "admin");
}
@@ -37,6 +38,8 @@ public class Logserver extends AbstractService {
*/
private String getMyJVMArgs() {
StringBuilder sb = new StringBuilder();
+ sb.append("-Dlogserver.rpcListenPort=").append(getRelativePort(0));
+ sb.append(" ");
sb.append("-Dlogserver.listenport=").append(getRelativePort(1));
sb.append(" ");
sb.append("-Dlogserver.logarchive.dir=" + logArchiveDir);
@@ -56,7 +59,7 @@ public class Logserver extends AbstractService {
* @return 'true' always
*/
public boolean requiresWantedPort() {
- return true;
+ return true; // TODO Support dynamic port allocation for logserver
}
/**
@@ -68,7 +71,7 @@ public class Logserver extends AbstractService {
@Override
public String[] getPortSuffixes() {
- return new String[]{ "unused", "logtp", "last.errors", "replicator" };
+ return new String[]{ "rpc", "legacy", "unused/1", "unused/2" };
}
}
diff --git a/config-model/src/test/java/com/yahoo/vespa/model/admin/AdminTestCase.java b/config-model/src/test/java/com/yahoo/vespa/model/admin/AdminTestCase.java
index 749ee2b9acc..6d65c2a472e 100644
--- a/config-model/src/test/java/com/yahoo/vespa/model/admin/AdminTestCase.java
+++ b/config-model/src/test/java/com/yahoo/vespa/model/admin/AdminTestCase.java
@@ -18,6 +18,7 @@ import com.yahoo.container.StatisticsConfig;
import com.yahoo.container.jdisc.config.HealthMonitorConfig;
import com.yahoo.net.HostName;
import com.yahoo.vespa.config.core.StateserverConfig;
+import com.yahoo.vespa.model.Service;
import com.yahoo.vespa.model.VespaModel;
import com.yahoo.vespa.model.container.ApplicationContainerCluster;
import com.yahoo.vespa.model.container.component.Component;
@@ -28,7 +29,6 @@ import org.junit.Test;
import java.util.Set;
-import static com.yahoo.config.model.api.container.ContainerServiceType.METRICS_PROXY_CONTAINER;
import static org.hamcrest.CoreMatchers.is;
import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertFalse;
@@ -94,6 +94,9 @@ public class AdminTestCase {
LogdConfig lc = new LogdConfig(lb);
assertEquals(lc.logserver().host(), localhost);
+ Service logserver = vespaModel.getService("admin/logserver").get();
+ assertEquals(logserver.getRelativePort(0), lc.logserver().rpcport());
+
// Verify services in the sentinel config
SentinelConfig.Builder b = new SentinelConfig.Builder();
vespaModel.getConfig(b, localhostConfigId);
diff --git a/logd/src/main/resources/configdefinitions/logd.def b/logd/src/main/resources/configdefinitions/logd.def
index 570c2e36f99..61150c373aa 100644
--- a/logd/src/main/resources/configdefinitions/logd.def
+++ b/logd/src/main/resources/configdefinitions/logd.def
@@ -7,10 +7,13 @@ stateport int default=0
## Host to contact the logserver on.
logserver.host string default="localhost"
-## Port to contact the logserver on.
+## RPC port of logserver.
+logserver.rpcport int default=5822
+
+## Legacy port to contact the logserver on.
logserver.port int default=5821
-## Forward to a logserver. If false, logserver.host and logserver.port are irrelevant
+## Forward to a logserver. Other logserver configuration is irrelevant if false.
logserver.use bool default=true
## Loglevel config whether they should be stored and/or forwarded