diff options
author | Bjørn Christian Seime <bjorncs@verizonmedia.com> | 2019-09-23 15:52:29 +0200 |
---|---|---|
committer | Bjørn Christian Seime <bjorncs@verizonmedia.com> | 2019-09-23 15:52:29 +0200 |
commit | c0f445c4b961d225c1755a8adb4b43f4ff290183 (patch) | |
tree | f950b5928f5d461f2a786dfca6da786e72e859ed | |
parent | 814fc9906ae802165680418f9911dc2ccf539f9f (diff) |
Add feature flag to control port for load balancer health checks
3 files changed, 10 insertions, 0 deletions
diff --git a/configdefinitions/src/vespa/lb-services.def b/configdefinitions/src/vespa/lb-services.def index ebd9aa1b0d4..2daa371db8f 100644 --- a/configdefinitions/src/vespa/lb-services.def +++ b/configdefinitions/src/vespa/lb-services.def @@ -9,6 +9,8 @@ namespace=cloud.config tenants{}.applications{}.activeRotation bool default=true # Scale upstream connection cache with number of upstream servers tenants{}.applications{}.dynamicUpstreamConnectionCache bool default=false +# Send health check requests on port 4081 instead of 4080 +tenants{}.applications{}.healthCheckOn4081 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/model/LbServicesProducer.java b/configserver/src/main/java/com/yahoo/vespa/config/server/model/LbServicesProducer.java index 1ff6d67fe5b..3610de172a2 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 @@ -36,11 +36,13 @@ public class LbServicesProducer implements LbServicesConfig.Producer { private final Map<TenantName, Set<ApplicationInfo>> models; private final Zone zone; private final BooleanFlag dynamicUpstreamConnectionCache; + private final BooleanFlag healthCheckOn4081; public LbServicesProducer(Map<TenantName, Set<ApplicationInfo>> models, Zone zone, FlagSource flagSource) { this.models = models; this.zone = zone; this.dynamicUpstreamConnectionCache = Flags.DYNAMIC_UPSTREAM_CONNECTION_CACHE.bindTo(flagSource); + this.healthCheckOn4081 = Flags.HEALTH_CHECK_ON_4081.bindTo(flagSource); } @Override @@ -68,6 +70,7 @@ public class LbServicesProducer implements LbServicesConfig.Producer { LbServicesConfig.Tenants.Applications.Builder ab = new LbServicesConfig.Tenants.Applications.Builder(); ab.activeRotation(getActiveRotation(app)); ab.dynamicUpstreamConnectionCache(dynamicUpstreamConnectionCache.with(FetchVector.Dimension.APPLICATION_ID, app.getApplicationId().serializedForm()).value()); + ab.healthCheckOn4081(healthCheckOn4081.with(FetchVector.Dimension.APPLICATION_ID, app.getApplicationId().serializedForm()).value()); app.getModel().getHosts().stream() .sorted((a, b) -> a.getHostname().compareTo(b.getHostname())) .forEach(hostInfo -> ab.hosts(hostInfo.getHostname(), getHostsConfig(hostInfo))); 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 b8a5f205ce1..5a6153af831 100644 --- a/flags/src/main/java/com/yahoo/vespa/flags/Flags.java +++ b/flags/src/main/java/com/yahoo/vespa/flags/Flags.java @@ -163,6 +163,11 @@ public class Flags { "Scale upstream connection cache with number of upstream servers", "Takes effect on routing container redeployment"); + public static final UnboundBooleanFlag HEALTH_CHECK_ON_4081 = defineFeatureFlag( + "health-check-on-4081", false, + "Change nginx to send health check requests on port 4081 instead of 4080.", + "Takes effect on routing container redeployment"); + /** 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) { |