summaryrefslogtreecommitdiffstats
path: root/controller-server
diff options
context:
space:
mode:
authorHarald Musum <musum@verizonmedia.com>2020-09-23 10:44:30 +0200
committerHarald Musum <musum@verizonmedia.com>2020-09-23 10:44:30 +0200
commit16063c1ee66fcf1d9621ec0edae646f33485a41e (patch)
tree6e0d8a10fcd5039bafaac25c182c24fae946c777 /controller-server
parentd2d607e0368ea38f1f23ec9dde004d11bc1dd297 (diff)
Use zone id as dimension when getting 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);