diff options
author | Harald Musum <musum@verizonmedia.com> | 2020-09-23 10:44:30 +0200 |
---|---|---|
committer | Harald Musum <musum@verizonmedia.com> | 2020-09-23 10:44:30 +0200 |
commit | 16063c1ee66fcf1d9621ec0edae646f33485a41e (patch) | |
tree | 6e0d8a10fcd5039bafaac25c182c24fae946c777 /controller-server | |
parent | d2d607e0368ea38f1f23ec9dde004d11bc1dd297 (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.java | 12 |
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); |