summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorValerij Fredriksen <valerijf@verizonmedia.com>2019-03-28 15:23:02 +0100
committerValerij Fredriksen <valerijf@verizonmedia.com>2019-03-28 15:23:02 +0100
commitf4ae34b9f439c77bba3b7446f199a537ddf1e888 (patch)
treec00bdaf5096bf4024098c4a7695184f42b57b815
parentabe304c48a4f50885573dbc82c692f347676fca8 (diff)
parentb757de46187c87e11f9766c1bc23cd683a13e6a3 (diff)
Merge branch 'master' into freva/vip-status-file-feature-flag
# Conflicts: # flags/src/main/java/com/yahoo/vespa/flags/Flags.java
-rw-r--r--.github/ISSUE_TEMPLATE/vespa-8.md15
-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--configdefinitions/src/vespa/lb-services.def1
-rw-r--r--configserver/src/main/java/com/yahoo/vespa/config/server/SuperModelManager.java8
-rw-r--r--configserver/src/main/java/com/yahoo/vespa/config/server/model/LbServicesProducer.java13
-rw-r--r--configserver/src/main/java/com/yahoo/vespa/config/server/model/SuperModelConfigProvider.java5
-rw-r--r--configserver/src/test/java/com/yahoo/vespa/config/server/SuperModelControllerTest.java7
-rw-r--r--configserver/src/test/java/com/yahoo/vespa/config/server/SuperModelRequestHandlerTest.java5
-rw-r--r--configserver/src/test/java/com/yahoo/vespa/config/server/model/LbServicesProducerTest.java21
-rw-r--r--configserver/src/test/java/com/yahoo/vespa/config/server/rpc/RpcTester.java4
-rw-r--r--flags/src/main/java/com/yahoo/vespa/flags/Flags.java6
-rw-r--r--logd/src/main/resources/configdefinitions/logd.def7
14 files changed, 92 insertions, 26 deletions
diff --git a/.github/ISSUE_TEMPLATE/vespa-8.md b/.github/ISSUE_TEMPLATE/vespa-8.md
new file mode 100644
index 00000000000..f35e428fa12
--- /dev/null
+++ b/.github/ISSUE_TEMPLATE/vespa-8.md
@@ -0,0 +1,15 @@
+---
+name: Vespa 8
+about: Template for issues related to Vespa 8
+title: 'Vespa 8: [your description]'
+labels: Vespa 8
+assignees: ''
+
+---
+
+When creating an issue, please consider the following items:
+
+* How are users affected?
+* How can app owners check if they are affected?
+* How can tenant fix the issue?
+* How to communicate the change to the users?
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/configdefinitions/src/vespa/lb-services.def b/configdefinitions/src/vespa/lb-services.def
index 33c568061fe..189b39461ec 100644
--- a/configdefinitions/src/vespa/lb-services.def
+++ b/configdefinitions/src/vespa/lb-services.def
@@ -7,6 +7,7 @@ namespace=cloud.config
# Active rotation given as flag 'active' for a prod region in deployment.xml
# Default true for now (since code in config-model to set it is not ready yet), should have no default value
tenants{}.applications{}.activeRotation bool default=true
+tenants{}.applications{}.upstreamHttps bool default=false
tenants{}.applications{}.hosts{}.hostname string default="(unknownhostname)"
tenants{}.applications{}.hosts{}.services{}.type string default="(noservicetype)"
diff --git a/configserver/src/main/java/com/yahoo/vespa/config/server/SuperModelManager.java b/configserver/src/main/java/com/yahoo/vespa/config/server/SuperModelManager.java
index 80818aea2e8..eeae770da43 100644
--- a/configserver/src/main/java/com/yahoo/vespa/config/server/SuperModelManager.java
+++ b/configserver/src/main/java/com/yahoo/vespa/config/server/SuperModelManager.java
@@ -14,6 +14,7 @@ import com.yahoo.config.provision.Zone;
import com.yahoo.vespa.config.GenerationCounter;
import com.yahoo.vespa.config.server.application.ApplicationSet;
import com.yahoo.vespa.config.server.model.SuperModelConfigProvider;
+import com.yahoo.vespa.flags.FlagSource;
import java.time.Instant;
import java.util.ArrayList;
@@ -28,6 +29,7 @@ public class SuperModelManager implements SuperModelProvider {
private final Zone zone;
private final Object monitor = new Object();
+ private final FlagSource flagSource;
private SuperModelConfigProvider superModelConfigProvider; // Guarded by 'this' monitor
private final List<SuperModelListener> listeners = new ArrayList<>(); // Guarded by 'this' monitor
@@ -39,7 +41,9 @@ public class SuperModelManager implements SuperModelProvider {
@Inject
public SuperModelManager(ConfigserverConfig configserverConfig,
NodeFlavors nodeFlavors,
- GenerationCounter generationCounter) {
+ GenerationCounter generationCounter,
+ FlagSource flagSource) {
+ this.flagSource = flagSource;
this.zone = new Zone(configserverConfig, nodeFlavors);
this.generationCounter = generationCounter;
this.masterGeneration = configserverConfig.masterGeneration();
@@ -107,6 +111,6 @@ public class SuperModelManager implements SuperModelProvider {
private void makeNewSuperModelConfigProvider(SuperModel newSuperModel) {
generation = masterGeneration + generationCounter.get();
- superModelConfigProvider = new SuperModelConfigProvider(newSuperModel, zone);
+ superModelConfigProvider = new SuperModelConfigProvider(newSuperModel, zone, flagSource);
}
}
diff --git a/configserver/src/main/java/com/yahoo/vespa/config/server/model/LbServicesProducer.java b/configserver/src/main/java/com/yahoo/vespa/config/server/model/LbServicesProducer.java
index ceeea197440..1503e4d2397 100644
--- a/configserver/src/main/java/com/yahoo/vespa/config/server/model/LbServicesProducer.java
+++ b/configserver/src/main/java/com/yahoo/vespa/config/server/model/LbServicesProducer.java
@@ -9,6 +9,10 @@ import com.yahoo.config.model.api.ServiceInfo;
import com.yahoo.config.provision.ApplicationId;
import com.yahoo.config.provision.TenantName;
import com.yahoo.config.provision.Zone;
+import com.yahoo.vespa.flags.BooleanFlag;
+import com.yahoo.vespa.flags.FetchVector;
+import com.yahoo.vespa.flags.FlagSource;
+import com.yahoo.vespa.flags.Flags;
import java.util.Collections;
import java.util.Comparator;
@@ -31,10 +35,12 @@ public class LbServicesProducer implements LbServicesConfig.Producer {
private final Map<TenantName, Set<ApplicationInfo>> models;
private final Zone zone;
+ private final BooleanFlag useHttpsLoadBalancerUpstream;
- public LbServicesProducer(Map<TenantName, Set<ApplicationInfo>> models, Zone zone) {
+ public LbServicesProducer(Map<TenantName, Set<ApplicationInfo>> models, Zone zone, FlagSource flagSource) {
this.models = models;
this.zone = zone;
+ this.useHttpsLoadBalancerUpstream = Flags.USE_HTTPS_LOAD_BALANCER_UPSTREAM.bindTo(flagSource);
}
@Override
@@ -61,6 +67,7 @@ public class LbServicesProducer implements LbServicesConfig.Producer {
private LbServicesConfig.Tenants.Applications.Builder getAppConfig(ApplicationInfo app) {
LbServicesConfig.Tenants.Applications.Builder ab = new LbServicesConfig.Tenants.Applications.Builder();
ab.activeRotation(getActiveRotation(app));
+ ab.upstreamHttps(useHttpsLoadBalancerUpstream(app));
app.getModel().getHosts().stream()
.sorted((a, b) -> a.getHostname().compareTo(b.getHostname()))
.forEach(hostInfo -> ab.hosts(hostInfo.getHostname(), getHostsConfig(hostInfo)));
@@ -81,6 +88,10 @@ public class LbServicesProducer implements LbServicesConfig.Producer {
return activeRotation;
}
+ private boolean useHttpsLoadBalancerUpstream(ApplicationInfo app) {
+ return useHttpsLoadBalancerUpstream.with(FetchVector.Dimension.APPLICATION_ID, app.getApplicationId().serializedForm()).value();
+ }
+
private LbServicesConfig.Tenants.Applications.Hosts.Builder getHostsConfig(HostInfo hostInfo) {
LbServicesConfig.Tenants.Applications.Hosts.Builder hb = new LbServicesConfig.Tenants.Applications.Hosts.Builder();
hb.hostname(hostInfo.getHostname());
diff --git a/configserver/src/main/java/com/yahoo/vespa/config/server/model/SuperModelConfigProvider.java b/configserver/src/main/java/com/yahoo/vespa/config/server/model/SuperModelConfigProvider.java
index 4a75414c272..75f53667c4a 100644
--- a/configserver/src/main/java/com/yahoo/vespa/config/server/model/SuperModelConfigProvider.java
+++ b/configserver/src/main/java/com/yahoo/vespa/config/server/model/SuperModelConfigProvider.java
@@ -11,6 +11,7 @@ import com.yahoo.config.provision.ApplicationId;
import com.yahoo.config.provision.Zone;
import com.yahoo.vespa.config.ConfigKey;
import com.yahoo.vespa.config.ConfigPayload;
+import com.yahoo.vespa.flags.FlagSource;
import java.util.Collections;
import java.util.Map;
@@ -26,9 +27,9 @@ public class SuperModelConfigProvider implements LbServicesConfig.Producer, Rout
private final LbServicesProducer lbProd;
private final RoutingProducer zoneProd;
- public SuperModelConfigProvider(SuperModel superModel, Zone zone) {
+ public SuperModelConfigProvider(SuperModel superModel, Zone zone, FlagSource flagSource) {
this.superModel = superModel;
- this.lbProd = new LbServicesProducer(Collections.unmodifiableMap(superModel.getModelsPerTenant()), zone);
+ this.lbProd = new LbServicesProducer(Collections.unmodifiableMap(superModel.getModelsPerTenant()), zone, flagSource);
this.zoneProd = new RoutingProducer(Collections.unmodifiableMap(superModel.getModelsPerTenant()));
}
diff --git a/configserver/src/test/java/com/yahoo/vespa/config/server/SuperModelControllerTest.java b/configserver/src/test/java/com/yahoo/vespa/config/server/SuperModelControllerTest.java
index 97496bd4177..c6f6be5fbab 100644
--- a/configserver/src/test/java/com/yahoo/vespa/config/server/SuperModelControllerTest.java
+++ b/configserver/src/test/java/com/yahoo/vespa/config/server/SuperModelControllerTest.java
@@ -22,6 +22,7 @@ import com.yahoo.vespa.config.protocol.JRTServerConfigRequestV3;
import com.yahoo.vespa.config.protocol.Trace;
import com.yahoo.vespa.config.server.model.SuperModelConfigProvider;
import com.yahoo.vespa.config.server.rpc.UncompressedConfigResponseFactory;
+import com.yahoo.vespa.flags.InMemoryFlagSource;
import com.yahoo.vespa.model.VespaModel;
import org.junit.Before;
import org.junit.Test;
@@ -55,7 +56,7 @@ public class SuperModelControllerTest {
ApplicationName.from("foo"), InstanceName.defaultName());
models.put(app, new ApplicationInfo(app, 4l, new VespaModel(FilesApplicationPackage.fromFile(testApp))));
SuperModel superModel = new SuperModel(models);
- handler = new SuperModelController(new SuperModelConfigProvider(superModel, Zone.defaultZone()), new TestConfigDefinitionRepo(), 2, new UncompressedConfigResponseFactory());
+ handler = new SuperModelController(new SuperModelConfigProvider(superModel, Zone.defaultZone(), new InMemoryFlagSource()), new TestConfigDefinitionRepo(), 2, new UncompressedConfigResponseFactory());
}
@Test
@@ -98,7 +99,7 @@ public class SuperModelControllerTest {
models.put(tooAdvanced, createApplicationInfo(testApp3, tooAdvanced, 4l));
SuperModel superModel = new SuperModel(models);
- SuperModelController han = new SuperModelController(new SuperModelConfigProvider(superModel, Zone.defaultZone()), new TestConfigDefinitionRepo(), 2, new UncompressedConfigResponseFactory());
+ SuperModelController han = new SuperModelController(new SuperModelConfigProvider(superModel, Zone.defaultZone(), new InMemoryFlagSource()), new TestConfigDefinitionRepo(), 2, new UncompressedConfigResponseFactory());
LbServicesConfig.Builder lb = new LbServicesConfig.Builder();
han.getSuperModel().getConfig(lb);
LbServicesConfig lbc = new LbServicesConfig(lb);
@@ -126,7 +127,7 @@ public class SuperModelControllerTest {
models.put(tooAdvanced, createApplicationInfo(testApp3, tooAdvanced, 4l));
SuperModel superModel = new SuperModel(models);
- SuperModelController han = new SuperModelController(new SuperModelConfigProvider(superModel, Zone.defaultZone()), new TestConfigDefinitionRepo(), 2, new UncompressedConfigResponseFactory());
+ SuperModelController han = new SuperModelController(new SuperModelConfigProvider(superModel, Zone.defaultZone(), new InMemoryFlagSource()), new TestConfigDefinitionRepo(), 2, new UncompressedConfigResponseFactory());
LbServicesConfig.Builder lb = new LbServicesConfig.Builder();
han.getSuperModel().getConfig(lb);
LbServicesConfig lbc = new LbServicesConfig(lb);
diff --git a/configserver/src/test/java/com/yahoo/vespa/config/server/SuperModelRequestHandlerTest.java b/configserver/src/test/java/com/yahoo/vespa/config/server/SuperModelRequestHandlerTest.java
index 3288b418bb1..35ad97b7b43 100644
--- a/configserver/src/test/java/com/yahoo/vespa/config/server/SuperModelRequestHandlerTest.java
+++ b/configserver/src/test/java/com/yahoo/vespa/config/server/SuperModelRequestHandlerTest.java
@@ -11,6 +11,7 @@ import com.yahoo.config.provision.ApplicationId;
import com.yahoo.vespa.config.server.application.ApplicationSet;
import com.yahoo.vespa.config.server.monitoring.MetricUpdater;
import com.yahoo.vespa.curator.mock.MockCurator;
+import com.yahoo.vespa.flags.InMemoryFlagSource;
import com.yahoo.vespa.model.VespaModel;
import org.junit.Before;
@@ -45,7 +46,7 @@ public class SuperModelRequestHandlerTest {
public void setup() {
counter = new SuperModelGenerationCounter(new MockCurator());
ConfigserverConfig configserverConfig = new ConfigserverConfig(new ConfigserverConfig.Builder());
- manager = new SuperModelManager(configserverConfig, emptyNodeFlavors(), counter);
+ manager = new SuperModelManager(configserverConfig, emptyNodeFlavors(), counter, new InMemoryFlagSource());
controller = new SuperModelRequestHandler(new TestConfigDefinitionRepo(), configserverConfig, manager);
}
@@ -97,7 +98,7 @@ public class SuperModelRequestHandlerTest {
ApplicationId foo = applicationId("a", "foo");
long masterGen = 10;
ConfigserverConfig configserverConfig = new ConfigserverConfig(new ConfigserverConfig.Builder().masterGeneration(masterGen));
- manager = new SuperModelManager(configserverConfig, emptyNodeFlavors(), counter);
+ manager = new SuperModelManager(configserverConfig, emptyNodeFlavors(), counter, new InMemoryFlagSource());
controller = new SuperModelRequestHandler(new TestConfigDefinitionRepo(), configserverConfig, manager);
long gen = counter.increment();
diff --git a/configserver/src/test/java/com/yahoo/vespa/config/server/model/LbServicesProducerTest.java b/configserver/src/test/java/com/yahoo/vespa/config/server/model/LbServicesProducerTest.java
index 352245757ca..0e124addaf7 100644
--- a/configserver/src/test/java/com/yahoo/vespa/config/server/model/LbServicesProducerTest.java
+++ b/configserver/src/test/java/com/yahoo/vespa/config/server/model/LbServicesProducerTest.java
@@ -16,6 +16,8 @@ import com.yahoo.config.provision.Rotation;
import com.yahoo.config.provision.TenantName;
import com.yahoo.config.provision.Zone;
import com.yahoo.vespa.config.ConfigPayload;
+import com.yahoo.vespa.flags.Flags;
+import com.yahoo.vespa.flags.InMemoryFlagSource;
import com.yahoo.vespa.model.VespaModel;
import org.junit.Test;
import org.xml.sax.SAXException;
@@ -44,6 +46,7 @@ public class LbServicesProducerTest {
private static final String rotation2 = "rotation-2";
private static final String rotationString = rotation1 + "," + rotation2;
private static final Set<Rotation> rotations = Collections.singleton(new Rotation(rotationString));
+ private final InMemoryFlagSource flagSource = new InMemoryFlagSource();
@Test
public void testDeterministicGetConfig() throws IOException, SAXException {
@@ -87,6 +90,22 @@ public class LbServicesProducerTest {
}
}
+ @Test
+ public void https_upstream_is_configured_from_feature_flag() throws IOException, SAXException {
+ {
+ flagSource.withBooleanFlag(Flags.USE_HTTPS_LOAD_BALANCER_UPSTREAM.id(), true);
+ RegionName regionName = RegionName.from("us-east-1");
+ LbServicesConfig conf = createModelAndGetLbServicesConfig(regionName);
+ assertTrue(conf.tenants("foo").applications("foo:prod:" + regionName.value() + ":default").upstreamHttps());
+ }
+ {
+ flagSource.withBooleanFlag(Flags.USE_HTTPS_LOAD_BALANCER_UPSTREAM.id(), false);
+ RegionName regionName = RegionName.from("us-east-2");
+ LbServicesConfig conf = createModelAndGetLbServicesConfig(regionName);
+ assertFalse(conf.tenants("foo").applications("foo:prod:" + regionName.value() + ":default").upstreamHttps());
+ }
+ }
+
private LbServicesConfig createModelAndGetLbServicesConfig(RegionName regionName) throws IOException, SAXException {
Zone zone = new Zone(Environment.prod, regionName);
Map<TenantName, Set<ApplicationInfo>> testModel = createTestModel(new DeployState.Builder()
@@ -96,7 +115,7 @@ public class LbServicesProducerTest {
}
private LbServicesConfig getLbServicesConfig(Zone zone, Map<TenantName, Set<ApplicationInfo>> testModel) {
- LbServicesProducer producer = new LbServicesProducer(testModel, zone);
+ LbServicesProducer producer = new LbServicesProducer(testModel, zone, flagSource);
LbServicesConfig.Builder builder = new LbServicesConfig.Builder();
producer.getConfig(builder);
return new LbServicesConfig(builder);
diff --git a/configserver/src/test/java/com/yahoo/vespa/config/server/rpc/RpcTester.java b/configserver/src/test/java/com/yahoo/vespa/config/server/rpc/RpcTester.java
index 43a2c01f26a..dd66f720b1f 100644
--- a/configserver/src/test/java/com/yahoo/vespa/config/server/rpc/RpcTester.java
+++ b/configserver/src/test/java/com/yahoo/vespa/config/server/rpc/RpcTester.java
@@ -18,6 +18,7 @@ import com.yahoo.vespa.config.server.host.HostRegistries;
import com.yahoo.vespa.config.server.monitoring.Metrics;
import com.yahoo.vespa.config.server.tenant.MockTenantProvider;
import com.yahoo.vespa.config.server.tenant.TenantHandlerProvider;
+import com.yahoo.vespa.flags.InMemoryFlagSource;
import org.junit.After;
import org.junit.rules.TemporaryFolder;
@@ -93,7 +94,8 @@ public class RpcTester implements AutoCloseable {
new SuperModelManager(
configserverConfig,
emptyNodeFlavors(),
- generationCounter)),
+ generationCounter,
+ new InMemoryFlagSource())),
Metrics.createTestMetrics(), new HostRegistries(),
hostLivenessTracker, new FileServer(temporaryFolder.newFolder()));
rpcServer.onTenantCreate(TenantName.from("default"), tenantProvider);
diff --git a/flags/src/main/java/com/yahoo/vespa/flags/Flags.java b/flags/src/main/java/com/yahoo/vespa/flags/Flags.java
index 8876f2b5c80..513da4752ba 100644
--- a/flags/src/main/java/com/yahoo/vespa/flags/Flags.java
+++ b/flags/src/main/java/com/yahoo/vespa/flags/Flags.java
@@ -125,6 +125,12 @@ public class Flags {
"Takes effect on restart of Docker container",
APPLICATION_ID, HOSTNAME);
+ public static final UnboundBooleanFlag USE_HTTPS_LOAD_BALANCER_UPSTREAM = defineFeatureFlag(
+ "use-https-load-balancer-upstream", false,
+ "Use https between load balancer and upstream containers",
+ "Takes effect at redeployment",
+ APPLICATION_ID);
+
/** WARNING: public for testing: All flags should be defined in {@link Flags}. */
public static UnboundBooleanFlag defineFeatureFlag(String flagId, boolean defaultValue, String description,
String modificationEffect, FetchVector.Dimension... dimensions) {
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