diff options
author | Martin Polden <mpolden@mpolden.no> | 2020-02-27 10:47:32 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2020-02-27 10:47:32 +0100 |
commit | 138ae7cc00f87769ddfa7f5911d693c1b1475d9a (patch) | |
tree | d18e9a1930ddd903d6222ad0b02241fb79f3405e /controller-server | |
parent | 21633fe730cfae3be804bdfab9d11ff3416d526e (diff) | |
parent | 5430ab79c193216fe630ded700a4d9839f495d33 (diff) |
Merge pull request #12357 from vespa-engine/mpolden/routing-methods
Expose routing methods per zone
Diffstat (limited to 'controller-server')
3 files changed, 15 insertions, 12 deletions
diff --git a/controller-server/src/test/java/com/yahoo/vespa/hosted/controller/integration/ZoneFilterMock.java b/controller-server/src/test/java/com/yahoo/vespa/hosted/controller/integration/ZoneFilterMock.java index 764c2003c46..23f59683f4b 100644 --- a/controller-server/src/test/java/com/yahoo/vespa/hosted/controller/integration/ZoneFilterMock.java +++ b/controller-server/src/test/java/com/yahoo/vespa/hosted/controller/integration/ZoneFilterMock.java @@ -25,16 +25,16 @@ import java.util.stream.Collectors; public class ZoneFilterMock implements ZoneList { private final List<ZoneApi> zones; - private final Map<ZoneApi, Set<RoutingMethod>> zoneRoutingMethods; + private final Map<ZoneApi, List<RoutingMethod>> zoneRoutingMethods; private final boolean negate; - private ZoneFilterMock(List<ZoneApi> zones, Map<ZoneApi, Set<RoutingMethod>> zoneRoutingMethods, boolean negate) { + private ZoneFilterMock(List<ZoneApi> zones, Map<ZoneApi, List<RoutingMethod>> zoneRoutingMethods, boolean negate) { this.zones = zones; this.zoneRoutingMethods = zoneRoutingMethods; this.negate = negate; } - public static ZoneFilter from(Collection<? extends ZoneApi> zones, Map<ZoneApi, Set<RoutingMethod>> routingMethods) { + public static ZoneFilter from(Collection<? extends ZoneApi> zones, Map<ZoneApi, List<RoutingMethod>> routingMethods) { return new ZoneFilterMock(List.copyOf(zones), Map.copyOf(routingMethods), false); } @@ -60,7 +60,7 @@ public class ZoneFilterMock implements ZoneList { @Override public ZoneList routingMethod(RoutingMethod method) { - return filter(zone -> zoneRoutingMethods.getOrDefault(zone, Set.of()).contains(method)); + return filter(zone -> zoneRoutingMethods.getOrDefault(zone, List.of()).contains(method)); } @Override 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 a5e054d6068..2092c5ec9a3 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 @@ -26,7 +26,6 @@ import java.util.HashMap; import java.util.List; import java.util.Map; import java.util.Optional; -import java.util.Set; /** * @author mpolden @@ -36,7 +35,7 @@ public class ZoneRegistryMock extends AbstractComponent implements ZoneRegistry private final Map<ZoneId, Duration> deploymentTimeToLive = new HashMap<>(); private final Map<Environment, RegionName> defaultRegionForEnvironment = new HashMap<>(); private final Map<CloudName, UpgradePolicy> osUpgradePolicies = new HashMap<>(); - private final Map<ZoneApi, Set<RoutingMethod>> zoneRoutingMethods = new HashMap<>(); + private final Map<ZoneApi, List<RoutingMethod>> zoneRoutingMethods = new HashMap<>(); private List<? extends ZoneApi> zones; private SystemName system; @@ -108,16 +107,16 @@ public class ZoneRegistryMock extends AbstractComponent implements ZoneRegistry } public ZoneRegistryMock setRoutingMethod(ZoneApi zone, RoutingMethod... routingMethods) { - return setRoutingMethod(zone, Set.of(routingMethods)); + return setRoutingMethod(zone, List.of(routingMethods)); } public ZoneRegistryMock setRoutingMethod(List<? extends ZoneApi> zones, RoutingMethod... routingMethods) { - zones.forEach(zone -> setRoutingMethod(zone, Set.of(routingMethods))); + zones.forEach(zone -> setRoutingMethod(zone, List.of(routingMethods))); return this; } - public ZoneRegistryMock setRoutingMethod(ZoneApi zone, Set<RoutingMethod> routingMethods) { - this.zoneRoutingMethods.put(zone, Set.copyOf(routingMethods)); + public ZoneRegistryMock setRoutingMethod(ZoneApi zone, List<RoutingMethod> routingMethods) { + this.zoneRoutingMethods.put(zone, List.copyOf(routingMethods)); return this; } @@ -162,6 +161,11 @@ public class ZoneRegistryMock extends AbstractComponent implements ZoneRegistry } @Override + public List<RoutingMethod> routingMethods(ZoneId zone) { + return List.copyOf(zoneRoutingMethods.getOrDefault(ZoneApiMock.from(zone), List.of())); + } + + @Override public URI dashboardUrl() { return URI.create("https://dashboard.tld"); } diff --git a/controller-server/src/test/java/com/yahoo/vespa/hosted/controller/restapi/application/ApplicationApiTest.java b/controller-server/src/test/java/com/yahoo/vespa/hosted/controller/restapi/application/ApplicationApiTest.java index cfde999973f..019231321d6 100644 --- a/controller-server/src/test/java/com/yahoo/vespa/hosted/controller/restapi/application/ApplicationApiTest.java +++ b/controller-server/src/test/java/com/yahoo/vespa/hosted/controller/restapi/application/ApplicationApiTest.java @@ -84,7 +84,6 @@ import java.time.temporal.ChronoUnit; import java.util.ArrayList; import java.util.Base64; import java.util.Collections; -import java.util.EnumSet; import java.util.HashMap; import java.util.List; import java.util.Map; @@ -1475,7 +1474,7 @@ public class ApplicationApiTest extends ControllerContainerTest { var app = deploymentTester.newDeploymentContext(createTenantAndApplication()); var zone = ZoneId.from(Environment.prod, RegionName.from("us-west-1")); deploymentTester.controllerTester().zoneRegistry().setRoutingMethod(ZoneApiMock.from(zone), - EnumSet.of(RoutingMethod.exclusive, RoutingMethod.shared)); + List.of(RoutingMethod.exclusive, RoutingMethod.shared)); ApplicationPackage applicationPackage = new ApplicationPackageBuilder() .environment(Environment.prod) .instances("instance1") |