diff options
author | Bjørn Christian Seime <bjorncs@verizonmedia.com> | 2019-09-23 16:29:32 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2019-09-23 16:29:32 +0200 |
commit | 73d53d91ae91ca0ae10fcefdafb037582e1898d2 (patch) | |
tree | 4f3afcb28b5e6ab3ca87954c46dcf610ffd01e69 | |
parent | 463bb2a8400f0fd9370f155454c385eb98be2acb (diff) | |
parent | 54ce791b5e9b8e57575c051e72bbf7bc8d830da6 (diff) |
Merge pull request #10774 from vespa-engine/bjorncs/feature-flag-health-check
Add feature flag to control port for load balancer health checks
3 files changed, 11 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..f96cc909ca4 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,12 @@ 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", + 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) { |