diff options
Diffstat (limited to 'controller-server/src/main/java/com/yahoo/vespa/hosted')
3 files changed, 11 insertions, 3 deletions
diff --git a/controller-server/src/main/java/com/yahoo/vespa/hosted/controller/proxy/ConfigServerRestExecutorImpl.java b/controller-server/src/main/java/com/yahoo/vespa/hosted/controller/proxy/ConfigServerRestExecutorImpl.java index bbed0554350..ba8dddc889a 100644 --- a/controller-server/src/main/java/com/yahoo/vespa/hosted/controller/proxy/ConfigServerRestExecutorImpl.java +++ b/controller-server/src/main/java/com/yahoo/vespa/hosted/controller/proxy/ConfigServerRestExecutorImpl.java @@ -4,6 +4,8 @@ package com.yahoo.vespa.hosted.controller.proxy; import ai.vespa.util.http.hc4.SslConnectionSocketFactory; import com.yahoo.component.AbstractComponent; import com.yahoo.component.annotation.Inject; +import com.yahoo.config.provision.CloudName; +import com.yahoo.config.provision.zone.ZoneId; import com.yahoo.jdisc.http.HttpRequest.Method; import com.yahoo.text.Text; import com.yahoo.vespa.athenz.api.AthenzIdentity; @@ -277,7 +279,7 @@ public class ConfigServerRestExecutorImpl extends AbstractComponent implements C public ConnectionReuseStrategy(ZoneRegistry zoneRegistry) { this(zoneRegistry.zones().all().ids().stream() - .map(zoneRegistry::getConfigServerVipUri) + .map((ZoneId zoneId) -> zoneRegistry.getConfigServerVipUri(zoneId, zoneRegistry.systemZone().getCloudName().equals(CloudName.AWS))) .map(URI::getHost) .collect(Collectors.toUnmodifiableSet())); } diff --git a/controller-server/src/main/java/com/yahoo/vespa/hosted/controller/restapi/configserver/ConfigServerApiHandler.java b/controller-server/src/main/java/com/yahoo/vespa/hosted/controller/restapi/configserver/ConfigServerApiHandler.java index b1e44756802..425c1fd894d 100644 --- a/controller-server/src/main/java/com/yahoo/vespa/hosted/controller/restapi/configserver/ConfigServerApiHandler.java +++ b/controller-server/src/main/java/com/yahoo/vespa/hosted/controller/restapi/configserver/ConfigServerApiHandler.java @@ -2,6 +2,7 @@ package com.yahoo.vespa.hosted.controller.restapi.configserver; import ai.vespa.http.HttpURL; +import com.yahoo.config.provision.CloudName; import com.yahoo.config.provision.zone.ZoneId; import com.yahoo.config.provision.zone.ZoneList; import com.yahoo.container.jdisc.HttpRequest; @@ -44,12 +45,14 @@ public class ConfigServerApiHandler extends AuditLoggingRequestHandler { private final ZoneRegistry zoneRegistry; private final ConfigServerRestExecutor proxy; private final ZoneId controllerZone; + private final CloudName controllerCloud; public ConfigServerApiHandler(Context parentCtx, ServiceRegistry serviceRegistry, ConfigServerRestExecutor proxy, Controller controller) { super(parentCtx, controller.auditLogger()); this.zoneRegistry = serviceRegistry.zoneRegistry(); this.controllerZone = zoneRegistry.systemZone().getVirtualId(); + this.controllerCloud = zoneRegistry.systemZone().getCloudName(); this.proxy = proxy; } @@ -119,7 +122,8 @@ public class ConfigServerApiHandler extends AuditLoggingRequestHandler { } private URI getEndpoint(ZoneId zoneId) { - return controllerZone.equals(zoneId) ? CONTROLLER_URI : zoneRegistry.getConfigServerVipUri(zoneId); + if (controllerZone.equals(zoneId)) return CONTROLLER_URI; + return zoneRegistry.getConfigServerVipUri(zoneId, controllerCloud.equals(CloudName.AWS)); } } 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 f29845d2476..722bdac2101 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 @@ -2,6 +2,7 @@ package com.yahoo.vespa.hosted.controller.restapi.zone.v2; import ai.vespa.http.HttpURL; +import com.yahoo.config.provision.CloudName; import com.yahoo.config.provision.zone.ZoneId; import com.yahoo.config.provision.zone.ZoneList; import com.yahoo.container.jdisc.HttpRequest; @@ -100,7 +101,8 @@ public class ZoneApiHandler extends AuditLoggingRequestHandler { } private ProxyRequest proxyRequest(ZoneId zoneId, HttpURL.Path path, HttpRequest request) { - return ProxyRequest.tryOne(zoneRegistry.getConfigServerVipUri(zoneId), path, request); + return ProxyRequest.tryOne(zoneRegistry.getConfigServerVipUri(zoneId, zoneRegistry.systemZone().getCloudName().equals(CloudName.AWS)), + path, request); } } |