aboutsummaryrefslogtreecommitdiffstats
path: root/controller-server
diff options
context:
space:
mode:
authorBjørn Christian Seime <bjorn.christian@seime.no>2019-10-25 10:51:52 +0200
committerGitHub <noreply@github.com>2019-10-25 10:51:52 +0200
commit3501bdb0fda6d51a09ff7a50b6250e7130bdf900 (patch)
tree5da4917d385e2a1f8b237fc18de64a46fab9e860 /controller-server
parent396e8a825afb061dffe85c3bdacc408ce2c159fd (diff)
Revert "Revert "Bjorncs/system flags handler""
Diffstat (limited to 'controller-server')
-rw-r--r--controller-server/src/main/java/com/yahoo/vespa/hosted/controller/proxy/ConfigServerRestExecutorImpl.java18
-rw-r--r--controller-server/src/test/java/com/yahoo/vespa/hosted/controller/integration/ZoneRegistryMock.java9
2 files changed, 18 insertions, 9 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 a4ca8605f4b..72b11f56d9f 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
@@ -79,13 +79,7 @@ public class ConfigServerRestExecutorImpl implements ConfigServerRestExecutor {
ZoneId zoneId = ZoneId.from(proxyRequest.getEnvironment(), proxyRequest.getRegion());
- // Make a local copy of the list as we want to manipulate it in case of ping problems.
- List<URI> allServers = zoneRegistry.getConfigServerVipUri(zoneId)
- // TODO: Use config server VIP for all zones that have one
- .filter(zone -> zoneId.region().value().startsWith("aws-") || zoneId.region().value().contains("-aws-"))
-
- .map(Collections::singletonList)
- .orElseGet(() -> new ArrayList<>(zoneRegistry.getConfigServerUris(zoneId)));
+ List<URI> allServers = getConfigserverEndpoints(zoneId);
StringBuilder errorBuilder = new StringBuilder();
if (queueFirstServerIfDown(allServers, proxyRequest)) {
@@ -102,6 +96,16 @@ public class ConfigServerRestExecutorImpl implements ConfigServerRestExecutor {
+ errorBuilder.toString()));
}
+ private List<URI> getConfigserverEndpoints(ZoneId zoneId) {
+ // TODO: Use config server VIP for all zones that have one
+ // Make a local copy of the list as we want to manipulate it in case of ping problems.
+ if (zoneId.region().value().startsWith("aws-") || zoneId.region().value().contains("-aws-")) {
+ return Collections.singletonList(zoneRegistry.getConfigServerVipUri(zoneId));
+ } else {
+ return new ArrayList<>(zoneRegistry.getConfigServerUris(zoneId));
+ }
+ }
+
private static class DiscoveryResponseStructure {
public List<String> uris = new ArrayList<>();
}
diff --git a/controller-server/src/test/java/com/yahoo/vespa/hosted/controller/integration/ZoneRegistryMock.java b/controller-server/src/test/java/com/yahoo/vespa/hosted/controller/integration/ZoneRegistryMock.java
index 7771dd2d1a0..32bbf3ceb9b 100644
--- a/controller-server/src/test/java/com/yahoo/vespa/hosted/controller/integration/ZoneRegistryMock.java
+++ b/controller-server/src/test/java/com/yahoo/vespa/hosted/controller/integration/ZoneRegistryMock.java
@@ -165,6 +165,11 @@ public class ZoneRegistryMock extends AbstractComponent implements ZoneRegistry
}
@Override
+ public URI apiUrl() {
+ return URI.create("https://api.tld:4443/");
+ }
+
+ @Override
public boolean hasZone(ZoneId zoneId) {
return zones.stream().anyMatch(zone -> zone.getId().equals(zoneId));
}
@@ -175,8 +180,8 @@ public class ZoneRegistryMock extends AbstractComponent implements ZoneRegistry
}
@Override
- public Optional<URI> getConfigServerVipUri(ZoneId zoneId) {
- return Optional.of(URI.create(String.format("https://cfg.%s.test.vip:4443/", zoneId.value())));
+ public URI getConfigServerVipUri(ZoneId zoneId) {
+ return URI.create(String.format("https://cfg.%s.test.vip:4443/", zoneId.value()));
}
@Override