summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorHåkon Hallingstad <hakon@verizonmedia.com>2019-06-06 15:52:37 +0200
committerHåkon Hallingstad <hakon@verizonmedia.com>2019-06-06 17:04:14 +0200
commit809e52f09d2298e81c5c88c9d9f8d8456451de44 (patch)
treeb5da6c01028cb38509e7bd1f8cd91673c0394ba5
parent3780e5ca31f0af3068c354a94181c77234e8c4ed (diff)
Use ZoneApi(Mock) instead of ZoneId in ZoneFilterMock and ZoneRegistryMock
-rw-r--r--config-provisioning/src/main/java/com/yahoo/config/provision/zone/ZoneApi.java4
-rw-r--r--config-provisioning/src/main/java/com/yahoo/config/provision/zone/ZoneId.java4
-rw-r--r--controller-server/src/test/java/com/yahoo/vespa/hosted/controller/ControllerTest.java3
-rw-r--r--controller-server/src/test/java/com/yahoo/vespa/hosted/controller/integration/ZoneFilterMock.java21
-rw-r--r--controller-server/src/test/java/com/yahoo/vespa/hosted/controller/integration/ZoneRegistryMock.java21
-rw-r--r--controller-server/src/test/java/com/yahoo/vespa/hosted/controller/maintenance/OsUpgraderTest.java49
-rw-r--r--controller-server/src/test/java/com/yahoo/vespa/hosted/controller/restapi/cost/CostApiTest.java9
-rw-r--r--controller-server/src/test/java/com/yahoo/vespa/hosted/controller/restapi/os/OsApiTest.java16
-rw-r--r--controller-server/src/test/java/com/yahoo/vespa/hosted/controller/restapi/zone/v1/ZoneApiTest.java14
-rw-r--r--controller-server/src/test/java/com/yahoo/vespa/hosted/controller/restapi/zone/v2/ZoneApiTest.java14
10 files changed, 88 insertions, 67 deletions
diff --git a/config-provisioning/src/main/java/com/yahoo/config/provision/zone/ZoneApi.java b/config-provisioning/src/main/java/com/yahoo/config/provision/zone/ZoneApi.java
index fd76dc10bdb..9f6ba29d8de 100644
--- a/config-provisioning/src/main/java/com/yahoo/config/provision/zone/ZoneApi.java
+++ b/config-provisioning/src/main/java/com/yahoo/config/provision/zone/ZoneApi.java
@@ -17,4 +17,8 @@ public interface ZoneApi {
default RegionName getRegionName() { return getId().region(); }
CloudName getCloudName();
+
+ default ZoneId toDeprecatedId() {
+ return ZoneId.from(getEnvironment(), getRegionName(), getCloudName(), getSystemName());
+ }
}
diff --git a/config-provisioning/src/main/java/com/yahoo/config/provision/zone/ZoneId.java b/config-provisioning/src/main/java/com/yahoo/config/provision/zone/ZoneId.java
index 44c6b709cee..c6aaf05492e 100644
--- a/config-provisioning/src/main/java/com/yahoo/config/provision/zone/ZoneId.java
+++ b/config-provisioning/src/main/java/com/yahoo/config/provision/zone/ZoneId.java
@@ -77,6 +77,10 @@ public class ZoneId {
return new ZoneId(Environment.from(environment), RegionName.from(region), CloudName.from(cloud), SystemName.from(system));
}
+ public static ZoneId defaultId() {
+ return new ZoneId(Environment.defaultEnvironment(), RegionName.defaultName());
+ }
+
public Environment environment() {
return environment;
}
diff --git a/controller-server/src/test/java/com/yahoo/vespa/hosted/controller/ControllerTest.java b/controller-server/src/test/java/com/yahoo/vespa/hosted/controller/ControllerTest.java
index b0c11d9738e..3fca94ef21f 100644
--- a/controller-server/src/test/java/com/yahoo/vespa/hosted/controller/ControllerTest.java
+++ b/controller-server/src/test/java/com/yahoo/vespa/hosted/controller/ControllerTest.java
@@ -30,6 +30,7 @@ import com.yahoo.vespa.hosted.controller.application.JobStatus;
import com.yahoo.vespa.hosted.controller.deployment.ApplicationPackageBuilder;
import com.yahoo.vespa.hosted.controller.deployment.BuildJob;
import com.yahoo.vespa.hosted.controller.deployment.DeploymentTester;
+import com.yahoo.vespa.hosted.controller.integration.ZoneApiMock;
import com.yahoo.vespa.hosted.controller.rotation.RotationId;
import com.yahoo.vespa.hosted.controller.rotation.RotationLock;
import org.junit.Test;
@@ -462,7 +463,7 @@ public class ControllerTest {
Version six = Version.fromString("6.1");
tester.upgradeSystem(six);
tester.controllerTester().zoneRegistry().setSystemName(SystemName.cd);
- tester.controllerTester().zoneRegistry().setZones(ZoneId.from("prod", "cd-us-central-1"));
+ tester.controllerTester().zoneRegistry().setZones(ZoneApiMock.fromId("prod.cd-us-central-1"));
ApplicationPackage applicationPackage = new ApplicationPackageBuilder()
.environment(Environment.prod)
.majorVersion(6)
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 059cf92aa52..5cf8268c18e 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
@@ -12,7 +12,6 @@ import com.yahoo.config.provision.zone.ZoneList;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Collection;
-import java.util.Collections;
import java.util.HashSet;
import java.util.List;
import java.util.function.Predicate;
@@ -25,15 +24,15 @@ import java.util.stream.Collectors;
*/
public class ZoneFilterMock implements ZoneList {
- private final List<ZoneId> zones;
+ private final List<ZoneApi> zones;
private final boolean negate;
- private ZoneFilterMock(List<ZoneId> zones, boolean negate) {
- this.negate = negate;
+ private ZoneFilterMock(List<ZoneApi> zones, boolean negate) {
this.zones = zones;
+ this.negate = negate;
}
- public static ZoneFilter from(Collection<ZoneId> zones) {
+ public static ZoneFilter from(Collection<ZoneApi> zones) {
return new ZoneFilterMock(new ArrayList<>(zones), false);
}
@@ -79,12 +78,12 @@ public class ZoneFilterMock implements ZoneList {
@Override
public List<? extends ZoneApi> zones() {
- throw new UnsupportedOperationException();
+ return List.copyOf(zones);
}
@Override
public List<ZoneId> ids() {
- return Collections.unmodifiableList(zones);
+ return List.copyOf(zones.stream().map(ZoneApi::toDeprecatedId).collect(Collectors.toList()));
}
@Override
@@ -93,7 +92,13 @@ public class ZoneFilterMock implements ZoneList {
}
private ZoneFilterMock filter(Predicate<ZoneId> condition) {
- return new ZoneFilterMock(zones.stream().filter(negate ? condition.negate() : condition).collect(Collectors.toList()), false);
+ return new ZoneFilterMock(
+ zones.stream()
+ .filter(zoneApi -> negate ?
+ condition.negate().test(zoneApi.toDeprecatedId()) :
+ condition.test(zoneApi.toDeprecatedId()))
+ .collect(Collectors.toList()),
+ false);
}
}
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 23ee245772c..f802a6af549 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
@@ -11,6 +11,7 @@ import com.yahoo.config.provision.Environment;
import com.yahoo.config.provision.RegionName;
import com.yahoo.config.provision.SystemName;
import com.yahoo.config.provision.zone.UpgradePolicy;
+import com.yahoo.config.provision.zone.ZoneApi;
import com.yahoo.config.provision.zone.ZoneFilter;
import com.yahoo.config.provision.zone.ZoneId;
import com.yahoo.vespa.athenz.api.AthenzService;
@@ -26,6 +27,7 @@ import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.Optional;
+import java.util.stream.Collectors;
/**
* @author mpolden
@@ -34,7 +36,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 List<ZoneId> zones = new ArrayList<>();
+ private List<ZoneApi> zones = new ArrayList<>();
private SystemName system;
private UpgradePolicy upgradePolicy = null;
private Map<CloudName, UpgradePolicy> osUpgradePolicies = new HashMap<>();
@@ -50,10 +52,11 @@ public class ZoneRegistryMock extends AbstractComponent implements ZoneRegistry
public ZoneRegistryMock(SystemName system) {
this.system = system;
- zones.add(ZoneId.from("prod", "us-east-3"));
- zones.add(ZoneId.from("prod", "us-west-1"));
- zones.add(ZoneId.from("prod", "us-central-1"));
- zones.add(ZoneId.from("prod", "eu-west-1"));
+ setZones(List.of(
+ ZoneApiMock.fromId("prod.us-east-3"),
+ ZoneApiMock.fromId("prod.us-west-1"),
+ ZoneApiMock.fromId("prod.us-central-1"),
+ ZoneApiMock.fromId("prod.eu-west-1")));
}
public ZoneRegistryMock setDeploymentTimeToLive(ZoneId zone, Duration duration) {
@@ -66,12 +69,12 @@ public class ZoneRegistryMock extends AbstractComponent implements ZoneRegistry
return this;
}
- public ZoneRegistryMock setZones(List<ZoneId> zones) {
+ public ZoneRegistryMock setZones(List<ZoneApi> zones) {
this.zones = zones;
return this;
}
- public ZoneRegistryMock setZones(ZoneId... zone) {
+ public ZoneRegistryMock setZones(ZoneApi... zone) {
return setZones(List.of(zone));
}
@@ -97,7 +100,7 @@ public class ZoneRegistryMock extends AbstractComponent implements ZoneRegistry
@Override
public ZoneFilter zones() {
- return ZoneFilterMock.from(Collections.unmodifiableList(zones));
+ return ZoneFilterMock.from(List.copyOf(zones));
}
public AthenzService getConfigServerAthenzIdentity(ZoneId zone) {
@@ -146,7 +149,7 @@ public class ZoneRegistryMock extends AbstractComponent implements ZoneRegistry
@Override
public boolean hasZone(ZoneId zoneId) {
- return zones.contains(zoneId);
+ return zones.stream().anyMatch(zone -> zone.getId().equals(zoneId));
}
@Override
diff --git a/controller-server/src/test/java/com/yahoo/vespa/hosted/controller/maintenance/OsUpgraderTest.java b/controller-server/src/test/java/com/yahoo/vespa/hosted/controller/maintenance/OsUpgraderTest.java
index 75a637c0268..33bffaae96a 100644
--- a/controller-server/src/test/java/com/yahoo/vespa/hosted/controller/maintenance/OsUpgraderTest.java
+++ b/controller-server/src/test/java/com/yahoo/vespa/hosted/controller/maintenance/OsUpgraderTest.java
@@ -3,22 +3,21 @@ package com.yahoo.vespa.hosted.controller.maintenance;
import com.yahoo.component.Version;
import com.yahoo.config.provision.CloudName;
-import com.yahoo.config.provision.NodeType;
import com.yahoo.config.provision.SystemName;
+import com.yahoo.config.provision.zone.ZoneApi;
import com.yahoo.vespa.hosted.controller.api.integration.configserver.Node;
import com.yahoo.config.provision.zone.UpgradePolicy;
import com.yahoo.config.provision.zone.ZoneId;
import com.yahoo.vespa.hosted.controller.application.SystemApplication;
import com.yahoo.vespa.hosted.controller.deployment.DeploymentTester;
import com.yahoo.vespa.hosted.controller.integration.NodeRepositoryMock;
+import com.yahoo.vespa.hosted.controller.integration.ZoneApiMock;
import com.yahoo.vespa.hosted.controller.versions.OsVersionStatus;
import org.junit.Before;
import org.junit.Test;
import java.time.Duration;
-import java.util.Collections;
import java.util.List;
-import java.util.Optional;
import java.util.function.Function;
import java.util.stream.Collectors;
@@ -30,11 +29,11 @@ import static org.junit.Assert.assertTrue;
*/
public class OsUpgraderTest {
- private static final ZoneId zone1 = ZoneId.from("prod", "eu-west-1");
- private static final ZoneId zone2 = ZoneId.from("prod", "us-west-1");
- private static final ZoneId zone3 = ZoneId.from("prod", "us-central-1");
- private static final ZoneId zone4 = ZoneId.from("prod", "us-east-3");
- private static final ZoneId zone5 = ZoneId.from("prod", "us-north-1", "other");
+ private static final ZoneApi zone1 = ZoneApiMock.newBuilder().withId("prod.eu-west-1").build();
+ private static final ZoneApi zone2 = ZoneApiMock.newBuilder().withId("prod.us-west-1").build();
+ private static final ZoneApi zone3 = ZoneApiMock.newBuilder().withId("prod.us-central-1").build();
+ private static final ZoneApi zone4 = ZoneApiMock.newBuilder().withId("prod.us-east-3").build();
+ private static final ZoneApi zone5 = ZoneApiMock.newBuilder().withId("prod.us-north-1").withCloud("other").build();
private DeploymentTester tester;
private OsVersionStatusUpdater statusUpdater;
@@ -50,24 +49,24 @@ public class OsUpgraderTest {
public void upgrade_os() {
OsUpgrader osUpgrader = osUpgrader(
UpgradePolicy.create()
- .upgrade(zone1)
- .upgradeInParallel(zone2, zone3)
- .upgrade(zone5) // Belongs to a different cloud and is ignored by this upgrader
- .upgrade(zone4),
+ .upgrade(zone1.toDeprecatedId())
+ .upgradeInParallel(zone2.toDeprecatedId(), zone3.toDeprecatedId())
+ .upgrade(zone5.toDeprecatedId()) // Belongs to a different cloud and is ignored by this upgrader
+ .upgrade(zone4.toDeprecatedId()),
SystemName.cd
);
// Bootstrap system
- tester.configServer().bootstrap(List.of(zone1, zone2, zone3, zone4, zone5),
+ tester.configServer().bootstrap(List.of(zone1.toDeprecatedId(), zone2.toDeprecatedId(), zone3.toDeprecatedId(), zone4.toDeprecatedId(), zone5.toDeprecatedId()),
List.of(SystemApplication.tenantHost));
// Add system applications that exist in a real system, but are currently not upgraded
- tester.configServer().addNodes(List.of(zone1, zone2, zone3, zone4, zone5),
+ tester.configServer().addNodes(List.of(zone1.toDeprecatedId(), zone2.toDeprecatedId(), zone3.toDeprecatedId(), zone4.toDeprecatedId(), zone5.toDeprecatedId()),
List.of(SystemApplication.configServer));
// Fail a few nodes. Failed nodes should not affect versions
- failNodeIn(zone1, SystemApplication.tenantHost);
- failNodeIn(zone3, SystemApplication.tenantHost);
+ failNodeIn(zone1.toDeprecatedId(), SystemApplication.tenantHost);
+ failNodeIn(zone3.toDeprecatedId(), SystemApplication.tenantHost);
// New OS version released
Version version1 = Version.fromString("7.1");
@@ -79,37 +78,37 @@ public class OsUpgraderTest {
// zone 1: begins upgrading
osUpgrader.maintain();
- assertWanted(version1, SystemApplication.tenantHost, zone1);
+ assertWanted(version1, SystemApplication.tenantHost, zone1.toDeprecatedId());
// Other zones remain on previous version (none)
- assertWanted(Version.emptyVersion, SystemApplication.proxy, zone2, zone3, zone4);
+ assertWanted(Version.emptyVersion, SystemApplication.proxy, zone2.toDeprecatedId(), zone3.toDeprecatedId(), zone4.toDeprecatedId());
// zone 1: completes upgrade
- completeUpgrade(version1, SystemApplication.tenantHost, zone1);
+ completeUpgrade(version1, SystemApplication.tenantHost, zone1.toDeprecatedId());
statusUpdater.maintain();
assertEquals(2, nodesOn(version1).size());
assertEquals(11, nodesOn(Version.emptyVersion).size());
// zone 2 and 3: begins upgrading
osUpgrader.maintain();
- assertWanted(version1, SystemApplication.proxy, zone2, zone3);
+ assertWanted(version1, SystemApplication.proxy, zone2.toDeprecatedId(), zone3.toDeprecatedId());
// zone 4: still on previous version
- assertWanted(Version.emptyVersion, SystemApplication.tenantHost, zone4);
+ assertWanted(Version.emptyVersion, SystemApplication.tenantHost, zone4.toDeprecatedId());
// zone 2 and 3: completes upgrade
- completeUpgrade(version1, SystemApplication.tenantHost, zone2, zone3);
+ completeUpgrade(version1, SystemApplication.tenantHost, zone2.toDeprecatedId(), zone3.toDeprecatedId());
// zone 4: begins upgrading
osUpgrader.maintain();
- assertWanted(version1, SystemApplication.tenantHost, zone4);
+ assertWanted(version1, SystemApplication.tenantHost, zone4.toDeprecatedId());
// zone 4: completes upgrade
- completeUpgrade(version1, SystemApplication.tenantHost, zone4);
+ completeUpgrade(version1, SystemApplication.tenantHost, zone4.toDeprecatedId());
// Next run does nothing as all zones are upgraded
osUpgrader.maintain();
- assertWanted(version1, SystemApplication.tenantHost, zone1, zone2, zone3, zone4);
+ assertWanted(version1, SystemApplication.tenantHost, zone1.toDeprecatedId(), zone2.toDeprecatedId(), zone3.toDeprecatedId(), zone4.toDeprecatedId());
statusUpdater.maintain();
assertTrue("All nodes on target version", tester.controller().osVersionStatus().nodesIn(cloud).stream()
.allMatch(node -> node.version().equals(version1)));
diff --git a/controller-server/src/test/java/com/yahoo/vespa/hosted/controller/restapi/cost/CostApiTest.java b/controller-server/src/test/java/com/yahoo/vespa/hosted/controller/restapi/cost/CostApiTest.java
index 8cb439fee37..b085a87672e 100644
--- a/controller-server/src/test/java/com/yahoo/vespa/hosted/controller/restapi/cost/CostApiTest.java
+++ b/controller-server/src/test/java/com/yahoo/vespa/hosted/controller/restapi/cost/CostApiTest.java
@@ -4,9 +4,10 @@ package com.yahoo.vespa.hosted.controller.restapi.cost;
import com.yahoo.application.container.handler.Request;
import com.yahoo.config.provision.CloudName;
import com.yahoo.config.provision.SystemName;
+import com.yahoo.config.provision.zone.ZoneApi;
import com.yahoo.vespa.athenz.api.AthenzIdentity;
import com.yahoo.vespa.athenz.api.AthenzUser;
-import com.yahoo.config.provision.zone.ZoneId;
+import com.yahoo.vespa.hosted.controller.integration.ZoneApiMock;
import com.yahoo.vespa.hosted.controller.integration.ZoneRegistryMock;
import com.yahoo.vespa.hosted.controller.restapi.ContainerControllerTester;
import com.yahoo.vespa.hosted.controller.restapi.ControllerContainerTest;
@@ -22,9 +23,9 @@ public class CostApiTest extends ControllerContainerTest {
private static final AthenzIdentity operator = AthenzUser.fromUserId("operatorUser");
private static final CloudName cloud1 = CloudName.from("yahoo");
private static final CloudName cloud2 = CloudName.from("cloud2");
- private static final ZoneId zone1 = ZoneId.from("prod", "us-east-3", cloud1.value());
- private static final ZoneId zone2 = ZoneId.from("prod", "us-west-1", cloud1.value());
- private static final ZoneId zone3 = ZoneId.from("prod", "eu-west-1", cloud2.value());
+ private static final ZoneApi zone1 = ZoneApiMock.newBuilder().withId("prod.us-east-3").with(cloud1).build();
+ private static final ZoneApi zone2 = ZoneApiMock.newBuilder().withId("prod.us-west-1").with(cloud1).build();
+ private static final ZoneApi zone3 = ZoneApiMock.newBuilder().withId("prod.eu-west-1").with(cloud2).build();
private ContainerControllerTester tester;
diff --git a/controller-server/src/test/java/com/yahoo/vespa/hosted/controller/restapi/os/OsApiTest.java b/controller-server/src/test/java/com/yahoo/vespa/hosted/controller/restapi/os/OsApiTest.java
index e4b0f526519..f7b5a75fe15 100644
--- a/controller-server/src/test/java/com/yahoo/vespa/hosted/controller/restapi/os/OsApiTest.java
+++ b/controller-server/src/test/java/com/yahoo/vespa/hosted/controller/restapi/os/OsApiTest.java
@@ -5,6 +5,7 @@ import com.yahoo.application.container.handler.Request;
import com.yahoo.config.provision.CloudName;
import com.yahoo.config.provision.SystemName;
import com.yahoo.config.provision.zone.UpgradePolicy;
+import com.yahoo.config.provision.zone.ZoneApi;
import com.yahoo.config.provision.zone.ZoneId;
import com.yahoo.vespa.athenz.api.AthenzIdentity;
import com.yahoo.vespa.athenz.api.AthenzUser;
@@ -12,6 +13,7 @@ import com.yahoo.vespa.hosted.controller.api.integration.configserver.Node;
import com.yahoo.vespa.hosted.controller.application.SystemApplication;
import com.yahoo.vespa.hosted.controller.integration.ConfigServerMock;
import com.yahoo.vespa.hosted.controller.integration.NodeRepositoryMock;
+import com.yahoo.vespa.hosted.controller.integration.ZoneApiMock;
import com.yahoo.vespa.hosted.controller.integration.ZoneRegistryMock;
import com.yahoo.vespa.hosted.controller.maintenance.JobControl;
import com.yahoo.vespa.hosted.controller.maintenance.Maintainer;
@@ -38,9 +40,9 @@ public class OsApiTest extends ControllerContainerTest {
private static final AthenzIdentity operator = AthenzUser.fromUserId("operatorUser");
private static final CloudName cloud1 = CloudName.from("cloud1");
private static final CloudName cloud2 = CloudName.from("cloud2");
- private static final ZoneId zone1 = ZoneId.from("prod", "us-east-3", cloud1.value());
- private static final ZoneId zone2 = ZoneId.from("prod", "us-west-1", cloud1.value());
- private static final ZoneId zone3 = ZoneId.from("prod", "eu-west-1", cloud2.value());
+ private static final ZoneApi zone1 = ZoneApiMock.newBuilder().withId("prod.us-east-3").with(cloud1).build();
+ private static final ZoneApi zone2 = ZoneApiMock.newBuilder().withId("prod.us-west-1").with(cloud1).build();
+ private static final ZoneApi zone3 = ZoneApiMock.newBuilder().withId("prod.eu-west-1").with(cloud2).build();
private ContainerControllerTester tester;
private List<OsUpgrader> osUpgraders;
@@ -51,8 +53,8 @@ public class OsApiTest extends ControllerContainerTest {
addUserToHostedOperatorRole(operator);
zoneRegistryMock().setSystemName(SystemName.cd)
.setZones(zone1, zone2, zone3)
- .setOsUpgradePolicy(cloud1, UpgradePolicy.create().upgrade(zone1).upgrade(zone2))
- .setOsUpgradePolicy(cloud2, UpgradePolicy.create().upgrade(zone3));
+ .setOsUpgradePolicy(cloud1, UpgradePolicy.create().upgrade(zone1.toDeprecatedId()).upgrade(zone2.toDeprecatedId()))
+ .setOsUpgradePolicy(cloud2, UpgradePolicy.create().upgrade(zone3.toDeprecatedId()));
osUpgraders = List.of(
new OsUpgrader(tester.controller(), Duration.ofDays(1),
new JobControl(tester.controller().curator()),
@@ -79,12 +81,12 @@ public class OsApiTest extends ControllerContainerTest {
// Status is updated after some zones are upgraded
upgradeAndUpdateStatus();
- completeUpgrade(zone1);
+ completeUpgrade(zone1.toDeprecatedId());
assertFile(new Request("http://localhost:8080/os/v1/"), "versions-partially-upgraded.json");
// All zones are upgraded
upgradeAndUpdateStatus();
- completeUpgrade(zone2, zone3);
+ completeUpgrade(zone2.toDeprecatedId(), zone3.toDeprecatedId());
assertFile(new Request("http://localhost:8080/os/v1/"), "versions-all-upgraded.json");
// Downgrade with force is permitted
diff --git a/controller-server/src/test/java/com/yahoo/vespa/hosted/controller/restapi/zone/v1/ZoneApiTest.java b/controller-server/src/test/java/com/yahoo/vespa/hosted/controller/restapi/zone/v1/ZoneApiTest.java
index ca4061f8376..89d90fe6221 100644
--- a/controller-server/src/test/java/com/yahoo/vespa/hosted/controller/restapi/zone/v1/ZoneApiTest.java
+++ b/controller-server/src/test/java/com/yahoo/vespa/hosted/controller/restapi/zone/v1/ZoneApiTest.java
@@ -3,12 +3,12 @@ package com.yahoo.vespa.hosted.controller.restapi.zone.v1;
import com.yahoo.config.provision.Environment;
import com.yahoo.config.provision.RegionName;
-import com.yahoo.config.provision.zone.ZoneId;
+import com.yahoo.config.provision.zone.ZoneApi;
import com.yahoo.vespa.hosted.controller.api.role.Role;
+import com.yahoo.vespa.hosted.controller.integration.ZoneApiMock;
import com.yahoo.vespa.hosted.controller.integration.ZoneRegistryMock;
import com.yahoo.vespa.hosted.controller.restapi.ContainerControllerTester;
import com.yahoo.vespa.hosted.controller.restapi.ControllerContainerCloudTest;
-import com.yahoo.vespa.hosted.controller.restapi.ControllerContainerTest;
import org.junit.Before;
import org.junit.Test;
@@ -22,10 +22,12 @@ import java.util.Set;
public class ZoneApiTest extends ControllerContainerCloudTest {
private static final String responseFiles = "src/test/java/com/yahoo/vespa/hosted/controller/restapi/zone/v1/responses/";
- private static final List<ZoneId> zones = List.of(ZoneId.from(Environment.prod, RegionName.from("us-north-1")),
- ZoneId.from(Environment.dev, RegionName.from("us-north-2")),
- ZoneId.from(Environment.test, RegionName.from("us-north-3")),
- ZoneId.from(Environment.staging, RegionName.from("us-north-4")));
+ private static final List<ZoneApi> zones = List.of(
+ ZoneApiMock.fromId("prod.us-north-1"),
+ ZoneApiMock.fromId("dev.us-north-2"),
+ ZoneApiMock.fromId("test.us-north-3"),
+ ZoneApiMock.fromId("staging.us-north-4"));
+
private static final Set<Role> everyone = Set.of(Role.everyone());
private ContainerControllerTester tester;
diff --git a/controller-server/src/test/java/com/yahoo/vespa/hosted/controller/restapi/zone/v2/ZoneApiTest.java b/controller-server/src/test/java/com/yahoo/vespa/hosted/controller/restapi/zone/v2/ZoneApiTest.java
index eff212b6c16..19061b61431 100644
--- a/controller-server/src/test/java/com/yahoo/vespa/hosted/controller/restapi/zone/v2/ZoneApiTest.java
+++ b/controller-server/src/test/java/com/yahoo/vespa/hosted/controller/restapi/zone/v2/ZoneApiTest.java
@@ -5,11 +5,12 @@ import com.yahoo.application.container.handler.Request;
import com.yahoo.application.container.handler.Request.Method;
import com.yahoo.config.provision.Environment;
import com.yahoo.config.provision.RegionName;
+import com.yahoo.config.provision.zone.ZoneApi;
import com.yahoo.text.Utf8;
import com.yahoo.vespa.athenz.api.AthenzIdentity;
import com.yahoo.vespa.athenz.api.AthenzUser;
-import com.yahoo.config.provision.zone.ZoneId;
import com.yahoo.vespa.hosted.controller.integration.ConfigServerProxyMock;
+import com.yahoo.vespa.hosted.controller.integration.ZoneApiMock;
import com.yahoo.vespa.hosted.controller.integration.ZoneRegistryMock;
import com.yahoo.vespa.hosted.controller.restapi.ContainerControllerTester;
import com.yahoo.vespa.hosted.controller.restapi.ControllerContainerTest;
@@ -29,12 +30,11 @@ public class ZoneApiTest extends ControllerContainerTest {
private static final AthenzIdentity HOSTED_VESPA_OPERATOR = AthenzUser.fromUserId("johnoperator");
private static final String responseFiles = "src/test/java/com/yahoo/vespa/hosted/controller/restapi/zone/v2/responses/";
- private static final List<ZoneId> zones = List.of(
- ZoneId.from(Environment.prod, RegionName.from("us-north-1")),
- ZoneId.from(Environment.dev, RegionName.from("us-north-2")),
- ZoneId.from(Environment.test, RegionName.from("us-north-3")),
- ZoneId.from(Environment.staging, RegionName.from("us-north-4"))
- );
+ private static final List<ZoneApi> zones = List.of(
+ ZoneApiMock.fromId("prod.us-north-1"),
+ ZoneApiMock.fromId("dev.us-north-2"),
+ ZoneApiMock.fromId("test.us-north-3"),
+ ZoneApiMock.fromId("staging.us-north-4"));
private ContainerControllerTester tester;
private ConfigServerProxyMock proxy;