summaryrefslogtreecommitdiffstats
path: root/controller-server
diff options
context:
space:
mode:
authorHarald Musum <musum@verizonmedia.com>2020-09-23 11:44:04 +0200
committerGitHub <noreply@github.com>2020-09-23 11:44:04 +0200
commitcdf6fb84282145e14c03bdd105e4f6a15263e9c9 (patch)
tree4b3cdac934c2b50c3339f1b1132db61b7e8a9426 /controller-server
parent4fc86667e6f8f15ec20af9b388a30870456c87fc (diff)
parent16063c1ee66fcf1d9621ec0edae646f33485a41e (diff)
Merge pull request #14499 from vespa-engine/hmusum/add-zone-domension-to-flag
Add zone dimension to use-config-server-vip flag
Diffstat (limited to 'controller-server')
-rw-r--r--controller-server/src/main/java/com/yahoo/vespa/hosted/controller/restapi/zone/v2/ZoneApiHandler.java12
1 files changed, 8 insertions, 4 deletions
diff --git a/controller-server/src/main/java/com/yahoo/vespa/hosted/controller/restapi/zone/v2/ZoneApiHandler.java b/controller-server/src/main/java/com/yahoo/vespa/hosted/controller/restapi/zone/v2/ZoneApiHandler.java
index f5e6354da05..36a46f72d34 100644
--- a/controller-server/src/main/java/com/yahoo/vespa/hosted/controller/restapi/zone/v2/ZoneApiHandler.java
+++ b/controller-server/src/main/java/com/yahoo/vespa/hosted/controller/restapi/zone/v2/ZoneApiHandler.java
@@ -11,7 +11,8 @@ import com.yahoo.restapi.Path;
import com.yahoo.restapi.SlimeJsonResponse;
import com.yahoo.slime.Cursor;
import com.yahoo.slime.Slime;
-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 com.yahoo.vespa.hosted.controller.Controller;
import com.yahoo.vespa.hosted.controller.api.integration.ServiceRegistry;
@@ -35,14 +36,14 @@ public class ZoneApiHandler extends AuditLoggingRequestHandler {
private final ZoneRegistry zoneRegistry;
private final ConfigServerRestExecutor proxy;
- private final BooleanFlag useConfigServerVip;
+ private final FlagSource flagSource;
public ZoneApiHandler(LoggingRequestHandler.Context parentCtx, ServiceRegistry serviceRegistry,
ConfigServerRestExecutor proxy, Controller controller) {
super(parentCtx, controller.auditLogger());
this.zoneRegistry = serviceRegistry.zoneRegistry();
this.proxy = proxy;
- this.useConfigServerVip = Flags.USE_CONFIG_SERVER_VIP.bindTo(controller.flagSource());
+ this.flagSource = controller.flagSource();
}
@Override
@@ -112,8 +113,11 @@ public class ZoneApiHandler extends AuditLoggingRequestHandler {
}
private ProxyRequest proxyRequest(ZoneId zoneId, String path, HttpRequest request) {
+ boolean useConfigServerVip = Flags.USE_CONFIG_SERVER_VIP.bindTo(flagSource)
+ .with(FetchVector.Dimension.ZONE_ID, zoneId.value()).value();
+
// TODO: Still need to hardcode AWS since flag cannot be set until flag has been rolled out
- if (zoneId.region().value().startsWith("aws-") || useConfigServerVip.value()) {
+ if (zoneId.region().value().startsWith("aws-") || useConfigServerVip) {
return ProxyRequest.tryOne(zoneRegistry.getConfigServerVipUri(zoneId), path, request);
}
return ProxyRequest.tryAll(zoneRegistry.getConfigServerUris(zoneId), path, request);