aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJon Marius Venstad <venstad@gmail.com>2019-09-30 08:44:43 +0200
committerJon Marius Venstad <venstad@gmail.com>2019-09-30 08:44:43 +0200
commit5c47dfd73cb31095df1d2ef9fbc158678c569a82 (patch)
treeb17ae41e36862f8935b2e4e1f3a59b796f279b29
parent54f5946704857dbf682fbc85237fbe1dfc297738 (diff)
Stop using Instance methods which are no longer populated
-rw-r--r--controller-server/src/main/java/com/yahoo/vespa/hosted/controller/Instance.java28
-rw-r--r--controller-server/src/main/java/com/yahoo/vespa/hosted/controller/restapi/application/JobControllerApiHandlerHelper.java2
-rw-r--r--controller-server/src/test/java/com/yahoo/vespa/hosted/controller/ControllerTest.java4
-rw-r--r--controller-server/src/test/java/com/yahoo/vespa/hosted/controller/deployment/DeploymentTriggerTest.java67
-rw-r--r--controller-server/src/test/java/com/yahoo/vespa/hosted/controller/deployment/InternalDeploymentTester.java12
-rw-r--r--controller-server/src/test/java/com/yahoo/vespa/hosted/controller/maintenance/ApplicationOwnershipConfirmerTest.java22
-rw-r--r--controller-server/src/test/java/com/yahoo/vespa/hosted/controller/maintenance/DeploymentMetricsMaintainerTest.java6
-rw-r--r--controller-server/src/test/java/com/yahoo/vespa/hosted/controller/maintenance/OutstandingChangeDeployerTest.java14
-rw-r--r--controller-server/src/test/java/com/yahoo/vespa/hosted/controller/maintenance/UpgraderTest.java108
-rw-r--r--controller-server/src/test/java/com/yahoo/vespa/hosted/controller/restapi/application/JobControllerApiHandlerHelperTest.java2
10 files changed, 125 insertions, 140 deletions
diff --git a/controller-server/src/main/java/com/yahoo/vespa/hosted/controller/Instance.java b/controller-server/src/main/java/com/yahoo/vespa/hosted/controller/Instance.java
index c9ec355a3b9..3f1bebfed48 100644
--- a/controller-server/src/main/java/com/yahoo/vespa/hosted/controller/Instance.java
+++ b/controller-server/src/main/java/com/yahoo/vespa/hosted/controller/Instance.java
@@ -292,34 +292,6 @@ public class Instance {
return metrics;
}
- /** Returns activity for this */
- public ApplicationActivity activity() {
- return ApplicationActivity.from(deployments.values());
- }
-
- /**
- * Returns the oldest platform version this has deployed in a permanent zone (not test or staging).
- *
- * This is unfortunately quite similar to {@link ApplicationController#oldestInstalledPlatform(TenantAndApplicationId)},
- * but this checks only what the controller has deployed to the production zones, while that checks the node repository
- * to see what's actually installed on each node. Thus, this is the right choice for, e.g., target Vespa versions for
- * new deployments, while that is the right choice for version to compile against.
- */
- public Optional<Version> oldestDeployedPlatform() {
- return productionDeployments().values().stream()
- .map(Deployment::version)
- .min(Comparator.naturalOrder());
- }
-
- /**
- * Returns the oldest application version this has deployed in a permanent zone (not test or staging).
- */
- public Optional<ApplicationVersion> oldestDeployedApplication() {
- return productionDeployments().values().stream()
- .map(Deployment::applicationVersion)
- .min(Comparator.naturalOrder());
- }
-
/** Returns all rotations assigned to this */
public List<AssignedRotation> rotations() {
return rotations;
diff --git a/controller-server/src/main/java/com/yahoo/vespa/hosted/controller/restapi/application/JobControllerApiHandlerHelper.java b/controller-server/src/main/java/com/yahoo/vespa/hosted/controller/restapi/application/JobControllerApiHandlerHelper.java
index 90a4ecdef9a..ab92e38ee4b 100644
--- a/controller-server/src/main/java/com/yahoo/vespa/hosted/controller/restapi/application/JobControllerApiHandlerHelper.java
+++ b/controller-server/src/main/java/com/yahoo/vespa/hosted/controller/restapi/application/JobControllerApiHandlerHelper.java
@@ -184,7 +184,7 @@ class JobControllerApiHandlerHelper {
lastPlatformObject.setString("pending",
application.change().isEmpty()
? "Waiting for upgrade slot"
- : "Waiting for " + instance.change() + " to complete");
+ : "Waiting for " + application.change() + " to complete");
}
private static void lastApplicationToSlime(Cursor lastApplicationObject, Application application, Instance instance, Change change, DeploymentSteps steps, Controller controller) {
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 075451f60bf..90d257d754d 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
@@ -141,8 +141,6 @@ public class ControllerTest {
// Simulate restart
tester.restartController();
- applications = tester.controller().applications();
-
assertNotNull(tester.controller().tenants().get(TenantName.from("tenant1")));
assertNotNull(tester.defaultInstance(app1.id()));
assertEquals(4, tester.defaultInstance(app1.id()).deploymentJobs().jobStatus().size());
@@ -152,7 +150,7 @@ public class ControllerTest {
// system and staging test job - succeeding
tester.jobCompletion(component).application(app1).nextBuildNumber().uploadArtifact(applicationPackage).submit();
- applicationVersion = tester.defaultInstance("app1").change().application().get();
+ applicationVersion = tester.application(app1.id()).change().application().get();
tester.deployAndNotify(instance.id(), Optional.of(applicationPackage), true, systemTest);
assertStatus(JobStatus.initial(systemTest)
.withTriggering(version1, applicationVersion, Optional.of(tester.defaultInstance(app1.id()).deployments().get(productionUsWest1.zone(main))), "", tester.clock().instant().truncatedTo(MILLIS))
diff --git a/controller-server/src/test/java/com/yahoo/vespa/hosted/controller/deployment/DeploymentTriggerTest.java b/controller-server/src/test/java/com/yahoo/vespa/hosted/controller/deployment/DeploymentTriggerTest.java
index 5441ed6aec0..545729b5474 100644
--- a/controller-server/src/test/java/com/yahoo/vespa/hosted/controller/deployment/DeploymentTriggerTest.java
+++ b/controller-server/src/test/java/com/yahoo/vespa/hosted/controller/deployment/DeploymentTriggerTest.java
@@ -177,7 +177,7 @@ public class DeploymentTriggerTest {
tester.deployAndNotify(instance.id(), Optional.empty(), false, systemTest);
tester.deployAndNotify(instance.id(), Optional.empty(), false, stagingTest);
tester.deployAndNotify(instance.id(), Optional.empty(), false, productionUsCentral1);
- assertEquals(Change.empty(), tester.instance(instance.id()).change());
+ assertEquals(Change.empty(), tester.application(application.id()).change());
tester.assertNotRunning(systemTest, instance.id());
tester.assertNotRunning(stagingTest, instance.id());
tester.assertNotRunning(productionUsCentral1, instance.id());
@@ -203,7 +203,7 @@ public class DeploymentTriggerTest {
tester.readyJobTrigger().maintain();
iTester.runJob(JobType.productionUsWest1);
iTester.runJob(JobType.productionUsEast3);
- assertEquals(Change.empty(), iTester.instance().change());
+ assertEquals(Change.empty(), iTester.application().change());
tester.upgradeSystem(new Version("8.9"));
iTester.runJob(JobType.systemTest);
@@ -542,7 +542,7 @@ public class DeploymentTriggerTest {
tester.deployAndNotify(instance.id(), Optional.of(applicationPackage), true, productionUsWest1);
assertEquals(BuildJob.defaultBuildNumber, tester.defaultInstance(application.id()).deploymentJobs().jobStatus()
.get(productionUsWest1).lastSuccess().get().application().buildNumber().getAsLong());
- assertEquals((BuildJob.defaultBuildNumber + 1), tester.defaultInstance(application.id()).outstandingChange().application().get().buildNumber().getAsLong());
+ assertEquals((BuildJob.defaultBuildNumber + 1), tester.application(application.id()).outstandingChange().application().get().buildNumber().getAsLong());
tester.readyJobTrigger().maintain();
// Platform upgrade keeps rolling, since it has already deployed in a production zone, and tests for the new revision have also started.
@@ -551,23 +551,23 @@ public class DeploymentTriggerTest {
assertEquals(2, tester.buildService().jobs().size());
// Upgrade is done, and oustanding change rolls out when block window ends.
- assertEquals(Change.empty(), tester.defaultInstance(application.id()).change());
- assertFalse(tester.defaultInstance(application.id()).change().hasTargets());
- assertTrue(tester.defaultInstance(application.id()).outstandingChange().hasTargets());
+ assertEquals(Change.empty(), tester.application(application.id()).change());
+ assertFalse(tester.application(application.id()).change().hasTargets());
+ assertTrue(tester.application(application.id()).outstandingChange().hasTargets());
tester.deployAndNotify(instance.id(), Optional.of(applicationPackage), true, stagingTest);
tester.deployAndNotify(instance.id(), Optional.of(applicationPackage), true, systemTest);
tester.clock().advance(Duration.ofHours(1));
tester.outstandingChangeDeployer().run();
- assertTrue(tester.defaultInstance(application.id()).change().hasTargets());
- assertFalse(tester.defaultInstance(application.id()).outstandingChange().hasTargets());
+ assertTrue(tester.application(application.id()).change().hasTargets());
+ assertFalse(tester.application(application.id()).outstandingChange().hasTargets());
tester.readyJobTrigger().run();
tester.deployAndNotify(instance.id(), Optional.of(applicationPackage), true, productionUsWest1);
tester.deployAndNotify(instance.id(), Optional.of(applicationPackage), true, productionUsEast3);
- assertFalse(tester.defaultInstance(application.id()).change().hasTargets());
- assertFalse(tester.defaultInstance(application.id()).outstandingChange().hasTargets());
+ assertFalse(tester.application(application.id()).change().hasTargets());
+ assertFalse(tester.application(application.id()).outstandingChange().hasTargets());
}
@Test
@@ -622,7 +622,8 @@ public class DeploymentTriggerTest {
public void applicationVersionIsNotDowngraded() {
Application application = tester.createApplication("app1", "tenant1", 1, 1L);
Instance instance = tester.defaultInstance(application.id());
- Supplier<Instance> app = () -> tester.defaultInstance(application.id());
+ Supplier<Application> apps = () -> tester.application(application.id());
+ Supplier<Instance> instances = () -> tester.defaultInstance(application.id());
ApplicationPackage applicationPackage = new ApplicationPackageBuilder()
.environment(Environment.prod)
.region("us-central-1")
@@ -639,15 +640,15 @@ public class DeploymentTriggerTest {
tester.deploy(productionUsCentral1, instance.id(), Optional.empty(), false);
ApplicationVersion appVersion1 = ApplicationVersion.from(BuildJob.defaultSourceRevision, BuildJob.defaultBuildNumber + 1);
- assertEquals(appVersion1, app.get().deployments().get(ZoneId.from("prod.us-central-1")).applicationVersion());
+ assertEquals(appVersion1, instances.get().deployments().get(ZoneId.from("prod.us-central-1")).applicationVersion());
// Verify the application change is not removed when change is cancelled.
tester.deploymentTrigger().cancelChange(application.id(), PLATFORM);
- assertEquals(Change.of(appVersion1), app.get().change());
+ assertEquals(Change.of(appVersion1), apps.get().change());
// Now cancel the change as is done through the web API.
tester.deploymentTrigger().cancelChange(application.id(), ALL);
- assertEquals(Change.empty(), app.get().change());
+ assertEquals(Change.empty(), apps.get().change());
// A new version is released, which should now deploy the currently deployed application version to avoid downgrades.
Version version1 = new Version("6.2");
@@ -665,7 +666,7 @@ public class DeploymentTriggerTest {
// Finally, the two production jobs complete, in order.
tester.deployAndNotify(instance.id(), Optional.empty(), true, productionUsCentral1);
tester.deployAndNotify(instance.id(), Optional.empty(), true, productionEuWest1);
- assertEquals(appVersion1, app.get().deployments().get(ZoneId.from("prod.us-central-1")).applicationVersion());
+ assertEquals(appVersion1, instances.get().deployments().get(ZoneId.from("prod.us-central-1")).applicationVersion());
}
@Test
@@ -673,8 +674,8 @@ public class DeploymentTriggerTest {
Application application1 = tester.createApplication("app1", "tenant1", 1, 1L);
Application application2 = tester.createApplication("app2", "tenant2", 2, 2L);
Instance instance1 = tester.defaultInstance(application1.id());
- Instance instance2 = tester.defaultInstance(application2.id());
- Supplier<Instance> app1 = () -> tester.defaultInstance(application1.id());
+ Supplier<Application> app1s = () -> tester.application(application1.id());
+ Supplier<Instance> instance1s = () -> tester.defaultInstance(application1.id());
ApplicationPackage applicationPackage = new ApplicationPackageBuilder()
.environment(Environment.prod)
.region("us-central-1")
@@ -701,21 +702,21 @@ public class DeploymentTriggerTest {
tester.completeUpgradeWithError(application1, version2, applicationPackage, productionUsCentral1);
tester.deploy(productionUsCentral1, instance1.id(), applicationPackage);
tester.deployAndNotify(instance1.id(), Optional.of(applicationPackage), false, productionUsCentral1);
- assertEquals(version2, app1.get().deployments().get(productionUsCentral1.zone(main)).version());
+ assertEquals(version2, instance1s.get().deployments().get(productionUsCentral1.zone(main)).version());
// version2 becomes broken and upgrade targets latest non-broken
tester.upgrader().overrideConfidence(version2, VespaVersion.Confidence.broken);
tester.computeVersionStatus();
tester.upgrader().maintain(); // Cancel upgrades to broken version
- assertEquals("Change becomes latest non-broken version", Change.of(version1), app1.get().change());
+ assertEquals("Change becomes latest non-broken version", Change.of(version1), app1s.get().change());
tester.deployAndNotify(instance1.id(), Optional.of(applicationPackage), false, productionUsCentral1);
- Instant triggered = app1.get().deploymentJobs().jobStatus().get(productionUsCentral1).lastTriggered().get().at();
+ Instant triggered = instance1s.get().deploymentJobs().jobStatus().get(productionUsCentral1).lastTriggered().get().at();
tester.clock().advance(Duration.ofHours(1));
// version1 proceeds 'til the last job, where it fails; us-central-1 is skipped, as current change is strictly dominated by what's deployed there.
tester.deployAndNotify(instance1.id(), Optional.of(applicationPackage), true, systemTest);
tester.deployAndNotify(instance1.id(), Optional.of(applicationPackage), true, stagingTest);
- assertEquals(triggered, app1.get().deploymentJobs().jobStatus().get(productionUsCentral1).lastTriggered().get().at());
+ assertEquals(triggered, instance1s.get().deploymentJobs().jobStatus().get(productionUsCentral1).lastTriggered().get().at());
tester.deployAndNotify(instance1.id(), Optional.of(applicationPackage), false, productionEuWest1);
//Eagerly triggered system and staging tests complete.
@@ -729,15 +730,15 @@ public class DeploymentTriggerTest {
tester.deployAndNotify(instance1.id(), Optional.of(applicationPackage), true, stagingTest);
tester.assertRunning(productionUsCentral1, instance1.id());
- assertEquals(version2, app1.get().deployments().get(productionUsCentral1.zone(main)).version());
- assertEquals(42, app1.get().deployments().get(productionUsCentral1.zone(main)).applicationVersion().buildNumber().getAsLong());
- assertNotEquals(triggered, app1.get().deploymentJobs().jobStatus().get(productionUsCentral1).lastTriggered().get().at());
+ assertEquals(version2, instance1s.get().deployments().get(productionUsCentral1.zone(main)).version());
+ assertEquals(42, instance1s.get().deployments().get(productionUsCentral1.zone(main)).applicationVersion().buildNumber().getAsLong());
+ assertNotEquals(triggered, instance1s.get().deploymentJobs().jobStatus().get(productionUsCentral1).lastTriggered().get().at());
// Change has a higher application version than what is deployed -- deployment should trigger.
tester.deployAndNotify(instance1.id(), Optional.of(applicationPackage), false, productionUsCentral1);
tester.deploy(productionUsCentral1, instance1.id(), applicationPackage);
- assertEquals(version2, app1.get().deployments().get(productionUsCentral1.zone(main)).version());
- assertEquals(43, app1.get().deployments().get(productionUsCentral1.zone(main)).applicationVersion().buildNumber().getAsLong());
+ assertEquals(version2, instance1s.get().deployments().get(productionUsCentral1.zone(main)).version());
+ assertEquals(43, instance1s.get().deployments().get(productionUsCentral1.zone(main)).applicationVersion().buildNumber().getAsLong());
// Change is again strictly dominated, and us-central-1 is skipped, even though it is still failing.
tester.clock().advance(Duration.ofHours(2).plus(Duration.ofSeconds(1))); // Enough time for retry
@@ -749,8 +750,8 @@ public class DeploymentTriggerTest {
tester.deployAndNotify(instance1.id(), Optional.empty(), true, systemTest);
tester.deployAndNotify(instance1.id(), Optional.empty(), true, stagingTest);
tester.deployAndNotify(instance1.id(), Optional.of(applicationPackage), true, productionEuWest1);
- assertFalse(app1.get().change().hasTargets());
- assertFalse(app1.get().deploymentJobs().jobStatus().get(productionUsCentral1).isSuccess());
+ assertFalse(app1s.get().change().hasTargets());
+ assertFalse(instance1s.get().deploymentJobs().jobStatus().get(productionUsCentral1).isSuccess());
}
@Test
@@ -805,7 +806,7 @@ public class DeploymentTriggerTest {
tester.deployAndNotify(instance.id(), Optional.empty(), false, productionUsEast3);
tester.deployAndNotify(instance.id(), Optional.empty(), true, productionUsEast3);
tester.deployAndNotify(instance.id(), Optional.empty(), true, productionEuWest1);
- assertFalse(app.get().change().hasTargets());
+ assertFalse(tester.application(application.id()).change().hasTargets());
assertEquals(43, app.get().deploymentJobs().jobStatus().get(productionEuWest1).lastSuccess().get().application().buildNumber().getAsLong());
assertEquals(43, app.get().deploymentJobs().jobStatus().get(productionUsEast3).lastSuccess().get().application().buildNumber().getAsLong());
}
@@ -941,7 +942,7 @@ public class DeploymentTriggerTest {
tester.clock().advance(Duration.ofSeconds(1)); // Advance time so that we can detect jobs in progress
tester.deployAndNotify(instance.id(), Optional.of(applicationPackage), false, JobType.productionUsEast3);
assertEquals("Production job is retried", 1, tester.buildService().jobs().size());
- assertEquals("Application has pending upgrade to " + version, version, tester.defaultInstance(app.id()).change().platform().get());
+ assertEquals("Application has pending upgrade to " + version, version, tester.application(app.id()).change().platform().get());
// Another version is released, which cancels any pending upgrades to lower versions
version = Version.fromString("6.4");
@@ -949,7 +950,7 @@ public class DeploymentTriggerTest {
tester.upgrader().maintain();
tester.jobCompletion(JobType.productionUsEast3).application(app).unsuccessful().submit();
assertEquals("Application starts upgrading to new version", 2, tester.buildService().jobs().size());
- assertEquals("Application has pending upgrade to " + version, version, tester.defaultInstance(app.id()).change().platform().get());
+ assertEquals("Application has pending upgrade to " + version, version, tester.application(app.id()).change().platform().get());
// Failure re-deployer did not retry failing job for prod.us-east-3, since it no longer had an available change
assertFalse("Job is not retried", tester.buildService().jobs().stream()
@@ -992,7 +993,7 @@ public class DeploymentTriggerTest {
assertEquals(version, tester.controller().versionStatus().systemVersion().get().versionNumber());
tester.upgrader().maintain();
tester.readyJobTrigger().maintain();
- assertEquals("Application has pending upgrade to " + version, version, tester.defaultInstance(app.id()).change().platform().get());
+ assertEquals("Application has pending upgrade to " + version, version, tester.application(app.id()).change().platform().get());
// system-test fails and is left with a retry
tester.deployAndNotify(instance.id(), Optional.of(applicationPackage), false, JobType.systemTest);
@@ -1005,7 +1006,7 @@ public class DeploymentTriggerTest {
tester.buildService().remove(buildJob(instance.id(), systemTest));
tester.upgrader().maintain();
tester.readyJobTrigger().maintain();
- assertEquals("Application has pending upgrade to " + version, version, tester.defaultInstance(app.id()).change().platform().get());
+ assertEquals("Application has pending upgrade to " + version, version, tester.application(app.id()).change().platform().get());
// Cancellation of outdated version and triggering on a new version is done by the upgrader.
assertEquals(version, tester.defaultInstance(app.id()).deploymentJobs().jobStatus().get(systemTest).lastTriggered().get().platform());
diff --git a/controller-server/src/test/java/com/yahoo/vespa/hosted/controller/deployment/InternalDeploymentTester.java b/controller-server/src/test/java/com/yahoo/vespa/hosted/controller/deployment/InternalDeploymentTester.java
index bcc6fcfda44..3dc9de5619a 100644
--- a/controller-server/src/test/java/com/yahoo/vespa/hosted/controller/deployment/InternalDeploymentTester.java
+++ b/controller-server/src/test/java/com/yahoo/vespa/hosted/controller/deployment/InternalDeploymentTester.java
@@ -152,8 +152,8 @@ public class InternalDeploymentTester {
assertFalse(instance().deployments().values().stream()
.anyMatch(deployment -> deployment.applicationVersion().equals(applicationVersion)));
- assertEquals(applicationVersion, instance().change().application().get());
- assertFalse(instance().change().platform().isPresent());
+ assertEquals(applicationVersion, application().change().application().get());
+ assertFalse(application().change().platform().isPresent());
runJob(JobType.systemTest);
runJob(JobType.stagingTest);
@@ -171,8 +171,8 @@ public class InternalDeploymentTester {
tester.upgradeSystem(version);
assertFalse(instance().deployments().values().stream()
.anyMatch(deployment -> deployment.version().equals(version)));
- assertEquals(version, instance().change().platform().get());
- assertFalse(instance().change().application().isPresent());
+ assertEquals(version, application().change().platform().get());
+ assertFalse(application().change().application().isPresent());
runJob(JobType.systemTest);
runJob(JobType.stagingTest);
@@ -190,7 +190,7 @@ public class InternalDeploymentTester {
assertTrue(tester.configServer().nodeRepository()
.list(JobType.productionUsEast3.zone(tester.controller().system()), instanceId).stream()
.allMatch(node -> node.currentVersion().equals(version)));
- assertFalse(instance().change().hasTargets());
+ assertFalse(application().change().hasTargets());
}
/**
@@ -282,7 +282,7 @@ public class InternalDeploymentTester {
* Creates and submits a new application, and then starts the job of the given type.
*/
public RunId newRun(JobType type) {
- assertFalse(instance().deploymentJobs().deployedInternally()); // Use this only once per test.
+ assertFalse(application().internal()); // Use this only once per test.
newSubmission();
tester.readyJobTrigger().maintain();
diff --git a/controller-server/src/test/java/com/yahoo/vespa/hosted/controller/maintenance/ApplicationOwnershipConfirmerTest.java b/controller-server/src/test/java/com/yahoo/vespa/hosted/controller/maintenance/ApplicationOwnershipConfirmerTest.java
index ec98fbf69cb..5f210969b4d 100644
--- a/controller-server/src/test/java/com/yahoo/vespa/hosted/controller/maintenance/ApplicationOwnershipConfirmerTest.java
+++ b/controller-server/src/test/java/com/yahoo/vespa/hosted/controller/maintenance/ApplicationOwnershipConfirmerTest.java
@@ -2,13 +2,16 @@
package com.yahoo.vespa.hosted.controller.maintenance;
import com.yahoo.config.provision.ApplicationId;
+import com.yahoo.config.provision.InstanceName;
import com.yahoo.config.provision.TenantName;
+import com.yahoo.vespa.hosted.controller.Application;
import com.yahoo.vespa.hosted.controller.Instance;
import com.yahoo.vespa.hosted.controller.api.integration.organization.ApplicationSummary;
import com.yahoo.vespa.hosted.controller.api.integration.organization.Contact;
import com.yahoo.vespa.hosted.controller.api.integration.organization.IssueId;
import com.yahoo.vespa.hosted.controller.api.integration.organization.OwnershipIssues;
import com.yahoo.vespa.hosted.controller.api.integration.organization.User;
+import com.yahoo.vespa.hosted.controller.application.TenantAndApplicationId;
import com.yahoo.vespa.hosted.controller.tenant.UserTenant;
import com.yahoo.vespa.hosted.controller.deployment.DeploymentTester;
import com.yahoo.vespa.hosted.controller.persistence.MockCuratorDb;
@@ -16,6 +19,9 @@ import org.junit.Before;
import org.junit.Test;
import java.time.Duration;
+import java.util.Collection;
+import java.util.List;
+import java.util.Map;
import java.util.Optional;
import java.util.function.Supplier;
@@ -44,12 +50,12 @@ public class ApplicationOwnershipConfirmerTest {
Optional<Contact> contact = Optional.of(tester.controllerTester().serviceRegistry().contactRetrieverMock().contact());
TenantName property = tester.controllerTester().createTenant("property", "domain", 1L, contact);
tester.createAndDeploy(property, "application", 1, "default");
- Supplier<Instance> propertyApp = () -> tester.controller().applications().requireInstance(ApplicationId.from("property", "application", "default"));
+ Supplier<Application> propertyApp = () -> tester.controller().applications().requireApplication(TenantAndApplicationId.from("property", "application"));
UserTenant user = UserTenant.create("by-user", contact);
tester.controller().tenants().createUser(user);
tester.createAndDeploy(user.name(), "application", 2, "default");
- Supplier<Instance> userApp = () -> tester.controller().applications().requireInstance(ApplicationId.from("by-user", "application", "default"));
+ Supplier<Application> userApp = () -> tester.controller().applications().requireApplication(TenantAndApplicationId.from("by-user", "application"));
assertFalse("No issue is initially stored for a new application.", propertyApp.get().ownershipIssueId().isPresent());
assertFalse("No issue is initially stored for a new application.", userApp.get().ownershipIssueId().isPresent());
@@ -80,9 +86,15 @@ public class ApplicationOwnershipConfirmerTest {
// The user deletes all production deployments — see that the issue is forgotten.
assertEquals("Confirmation issue for user is sitll open.", issueId, userApp.get().ownershipIssueId());
- tester.controller().applications().deactivate(userApp.get().id(), userApp.get().productionDeployments().keySet().stream().findAny().get());
- tester.controller().applications().deactivate(userApp.get().id(), userApp.get().productionDeployments().keySet().stream().findAny().get());
- assertTrue("No production deployments are listed for user.", userApp.get().productionDeployments().isEmpty());
+ tester.controller().applications().deactivate(userApp.get().id().defaultInstance(),
+ userApp.get().productionDeployments().values().stream()
+ .flatMap(List::stream)
+ .findAny().get().zone());
+ tester.controller().applications().deactivate(userApp.get().id().defaultInstance(),
+ userApp.get().productionDeployments().values().stream()
+ .flatMap(List::stream)
+ .findAny().get().zone());
+ assertTrue("No production deployments are listed for user.", userApp.get().require(InstanceName.defaultName()).productionDeployments().isEmpty());
confirmer.maintain();
// Time has passed, and a new confirmation issue is in order for the property which is still in production.
diff --git a/controller-server/src/test/java/com/yahoo/vespa/hosted/controller/maintenance/DeploymentMetricsMaintainerTest.java b/controller-server/src/test/java/com/yahoo/vespa/hosted/controller/maintenance/DeploymentMetricsMaintainerTest.java
index cf33b354139..73ddeeaa0c6 100644
--- a/controller-server/src/test/java/com/yahoo/vespa/hosted/controller/maintenance/DeploymentMetricsMaintainerTest.java
+++ b/controller-server/src/test/java/com/yahoo/vespa/hosted/controller/maintenance/DeploymentMetricsMaintainerTest.java
@@ -6,6 +6,7 @@ import com.yahoo.config.provision.ApplicationId;
import com.yahoo.config.provision.Environment;
import com.yahoo.config.provision.RegionName;
import com.yahoo.config.provision.zone.ZoneId;
+import com.yahoo.vespa.hosted.controller.Application;
import com.yahoo.vespa.hosted.controller.Instance;
import com.yahoo.vespa.hosted.controller.Controller;
import com.yahoo.vespa.hosted.controller.api.application.v4.model.ClusterMetrics;
@@ -40,8 +41,9 @@ public class DeploymentMetricsMaintainerTest {
deploy(application.id().defaultInstance(), Version.fromString("7.1"));
DeploymentMetricsMaintainer maintainer = maintainer(tester.controller());
- Supplier<Instance> app = () -> tester.defaultInstance(application.id());
- Supplier<Deployment> deployment = () -> app.get().deployments().values().stream().findFirst().get();
+ Supplier<Application> app = () -> tester.application(application.id());
+ Supplier<Instance> instance = () -> tester.defaultInstance(application.id());
+ Supplier<Deployment> deployment = () -> instance.get().deployments().values().stream().findFirst().get();
// No metrics gathered yet
assertEquals(0, app.get().metrics().queryServiceQuality(), 0);
diff --git a/controller-server/src/test/java/com/yahoo/vespa/hosted/controller/maintenance/OutstandingChangeDeployerTest.java b/controller-server/src/test/java/com/yahoo/vespa/hosted/controller/maintenance/OutstandingChangeDeployerTest.java
index 02282894544..bec2c9c7bc4 100644
--- a/controller-server/src/test/java/com/yahoo/vespa/hosted/controller/maintenance/OutstandingChangeDeployerTest.java
+++ b/controller-server/src/test/java/com/yahoo/vespa/hosted/controller/maintenance/OutstandingChangeDeployerTest.java
@@ -45,8 +45,8 @@ public class OutstandingChangeDeployerTest {
tester.deploymentTrigger().triggerChange(app1.id(), Change.of(version));
tester.deploymentTrigger().triggerReadyJobs();
- assertEquals(Change.of(version), tester.defaultInstance("app1").change());
- assertFalse(tester.defaultInstance("app1").outstandingChange().hasTargets());
+ assertEquals(Change.of(version), tester.application(app1.id()).change());
+ assertFalse(tester.application(app1.id()).outstandingChange().hasTargets());
tester.jobCompletion(JobType.component)
.application(app1)
@@ -56,14 +56,14 @@ public class OutstandingChangeDeployerTest {
.submit();
Instance instance = tester.defaultInstance("app1");
- assertTrue(instance.outstandingChange().hasTargets());
- assertEquals("1.0.43-cafed00d", instance.outstandingChange().application().get().id());
+ assertTrue(tester.application(app1.id()).outstandingChange().hasTargets());
+ assertEquals("1.0.43-cafed00d", tester.application(app1.id()).outstandingChange().application().get().id());
assertEquals(2, tester.buildService().jobs().size());
deployer.maintain();
tester.deploymentTrigger().triggerReadyJobs();
assertEquals("No effect as job is in progress", 2, tester.buildService().jobs().size());
- assertEquals("1.0.43-cafed00d", instance.outstandingChange().application().get().id());
+ assertEquals("1.0.43-cafed00d", tester.application(app1.id()).outstandingChange().application().get().id());
tester.deployAndNotify(instance.id(), Optional.of(applicationPackage), true, JobType.systemTest);
tester.deployAndNotify(instance.id(), Optional.of(applicationPackage), true, JobType.stagingTest);
@@ -75,12 +75,12 @@ public class OutstandingChangeDeployerTest {
deployer.maintain();
tester.deploymentTrigger().triggerReadyJobs();
instance = tester.defaultInstance("app1");
- assertEquals("1.0.43-cafed00d", instance.change().application().get().id());
+ assertEquals("1.0.43-cafed00d", tester.application(app1.id()).change().application().get().id());
List<BuildService.BuildJob> jobs = tester.buildService().jobs();
assertEquals(1, jobs.size());
assertEquals(JobType.productionUsWest1.jobName(), jobs.get(0).jobName());
assertEquals(app1.id().defaultInstance(), jobs.get(0).applicationId());
- assertFalse(tester.defaultInstance("app1").outstandingChange().hasTargets());
+ assertFalse(tester.application(app1.id()).outstandingChange().hasTargets());
}
}
diff --git a/controller-server/src/test/java/com/yahoo/vespa/hosted/controller/maintenance/UpgraderTest.java b/controller-server/src/test/java/com/yahoo/vespa/hosted/controller/maintenance/UpgraderTest.java
index e247c2af3c9..d979f1753c4 100644
--- a/controller-server/src/test/java/com/yahoo/vespa/hosted/controller/maintenance/UpgraderTest.java
+++ b/controller-server/src/test/java/com/yahoo/vespa/hosted/controller/maintenance/UpgraderTest.java
@@ -204,11 +204,11 @@ public class UpgraderTest {
tester.triggerUntilQuiescence();
assertEquals("Upgrade of defaults are scheduled", 10, tester.buildService().jobs().size());
- assertEquals(version4, tester.defaultInstance(default0.id()).change().platform().get());
- assertEquals(version4, tester.defaultInstance(default1.id()).change().platform().get());
- assertEquals(version4, tester.defaultInstance(default2.id()).change().platform().get());
- assertEquals(version4, tester.defaultInstance(default3.id()).change().platform().get());
- assertEquals(version4, tester.defaultInstance(default4.id()).change().platform().get());
+ assertEquals(version4, tester.application(default0.id()).change().platform().get());
+ assertEquals(version4, tester.application(default1.id()).change().platform().get());
+ assertEquals(version4, tester.application(default2.id()).change().platform().get());
+ assertEquals(version4, tester.application(default3.id()).change().platform().get());
+ assertEquals(version4, tester.application(default4.id()).change().platform().get());
tester.completeUpgrade(default0, version4, "default");
// State: Default applications started upgrading to version4 (and one completed)
@@ -224,11 +224,11 @@ public class UpgraderTest {
tester.triggerUntilQuiescence();
assertEquals("Upgrade of defaults are scheduled", 10, tester.buildService().jobs().size());
- assertEquals(version5, tester.defaultInstance(default0.id()).change().platform().get());
- assertEquals(version4, tester.defaultInstance(default1.id()).change().platform().get());
- assertEquals(version4, tester.defaultInstance(default2.id()).change().platform().get());
- assertEquals(version4, tester.defaultInstance(default3.id()).change().platform().get());
- assertEquals(version4, tester.defaultInstance(default4.id()).change().platform().get());
+ assertEquals(version5, tester.application(default0.id()).change().platform().get());
+ assertEquals(version4, tester.application(default1.id()).change().platform().get());
+ assertEquals(version4, tester.application(default2.id()).change().platform().get());
+ assertEquals(version4, tester.application(default3.id()).change().platform().get());
+ assertEquals(version4, tester.application(default4.id()).change().platform().get());
tester.completeUpgrade(default1, version4, "default");
tester.completeUpgrade(default2, version4, "default");
@@ -260,7 +260,7 @@ public class UpgraderTest {
assertEquals("Upgrade of defaults are scheduled on " + version4 + " instead, since " + version5 + " is broken: " +
"This is default3 since it failed upgrade on both " + version4 + " and " + version5,
2, tester.buildService().jobs().size());
- assertEquals(version4, tester.defaultInstance(default3.id()).change().platform().get());
+ assertEquals(version4, tester.application(default3.id()).change().platform().get());
}
@Test
@@ -371,7 +371,7 @@ public class UpgraderTest {
// staging-test fails and failure is recorded
tester.deployAndNotify(instance.id(), Optional.of(applicationPackage), false, stagingTest);
assertTrue("Failure is recorded", tester.defaultInstance(app.id()).deploymentJobs().hasFailures());
- assertTrue("Application has pending change", tester.defaultInstance(app.id()).change().hasTargets());
+ assertTrue("Application has pending change", tester.application(app.id()).change().hasTargets());
// New version is released
version = Version.fromString("6.4");
@@ -435,7 +435,7 @@ public class UpgraderTest {
tester.triggerUntilQuiescence();
// apps pass system-test, but do not trigger next jobs as upgrade is cancelled
- assertFalse("No change present", tester.applications().requireInstance(default4.id().defaultInstance()).change().hasTargets());
+ assertFalse("No change present", tester.application(default4.id()).change().hasTargets());
tester.jobCompletion(systemTest).application(default0).submit();
tester.jobCompletion(systemTest).application(default1).submit();
tester.jobCompletion(systemTest).application(default2).submit();
@@ -510,7 +510,7 @@ public class UpgraderTest {
tester.upgrader().maintain();
tester.triggerUntilQuiescence();
assertEquals("Upgrade scheduled for remaining apps", 10, tester.buildService().jobs().size());
- assertEquals("default4 is still upgrading to 5.1", v1, tester.defaultInstance(default4.id()).change().platform().get());
+ assertEquals("default4 is still upgrading to 5.1", v1, tester.application(default4.id()).change().platform().get());
// 4/5 applications fail (in the last prod zone) and lowers confidence
tester.completeUpgradeWithError(default0, v2, "default", productionUsEast3);
@@ -538,7 +538,7 @@ public class UpgraderTest {
assertEquals(v2, tester.defaultInstance("default0").deployments().get(ZoneId.from("prod.us-west-1")).version());
assertEquals("Last zone is upgraded to v1",
v1, tester.defaultInstance("default0").deployments().get(ZoneId.from("prod.us-east-3")).version());
- assertFalse(tester.defaultInstance("default0").change().hasTargets());
+ assertFalse(tester.application(default0.id()).change().hasTargets());
}
@Test
@@ -822,9 +822,8 @@ public class UpgraderTest {
tester.jobCompletion(stagingTest).application(default4).unsuccessful().submit();
// 5th app never reports back and has a dead job, but no ongoing change
- Instance deadLocked = tester.applications().requireInstance(default4.id().defaultInstance());
- tester.assertRunning(systemTest, deadLocked.id());
- assertFalse("No change present", deadLocked.change().hasTargets());
+ tester.assertRunning(systemTest, tester.defaultInstance(default4.id()).id());
+ assertFalse("No change present", tester.application(default4.id()).change().hasTargets());
// 4 out of 5 applications are repaired and confidence is restored
ApplicationPackage defaultApplicationPackageV2 = new ApplicationPackageBuilder()
@@ -850,10 +849,10 @@ public class UpgraderTest {
tester.completeUpgrade(default2, version, defaultApplicationPackageV2);
tester.completeUpgrade(default3, version, defaultApplicationPackageV2);
- assertEquals(version, tester.defaultInstance(default0.id()).oldestDeployedPlatform().get());
- assertEquals(version, tester.defaultInstance(default1.id()).oldestDeployedPlatform().get());
- assertEquals(version, tester.defaultInstance(default2.id()).oldestDeployedPlatform().get());
- assertEquals(version, tester.defaultInstance(default3.id()).oldestDeployedPlatform().get());
+ assertEquals(version, tester.application(default0.id()).oldestDeployedPlatform().get());
+ assertEquals(version, tester.application(default1.id()).oldestDeployedPlatform().get());
+ assertEquals(version, tester.application(default2.id()).oldestDeployedPlatform().get());
+ assertEquals(version, tester.application(default3.id()).oldestDeployedPlatform().get());
}
@Test
@@ -959,7 +958,7 @@ public class UpgraderTest {
Application canary0 = tester.createAndDeploy("canary0", 1, "canary");
Application default0 = tester.createAndDeploy("default0", 2, default0ApplicationPackage);
tester.applications().lockApplicationOrThrow(default0.id(), a -> tester.applications().store(a.withMajorVersion(6)));
- assertEquals(OptionalInt.of(6), tester.applications().getInstance(default0.id().defaultInstance()).get().majorVersion());
+ assertEquals(OptionalInt.of(6), tester.application(default0.id()).majorVersion());
// New major version is released
version = Version.fromString("7.0");
@@ -1179,16 +1178,16 @@ public class UpgraderTest {
assertEquals(Collections.emptyList(), tester.buildService().jobs()); // No jobs left.
tester.outstandingChangeDeployer().run();
- assertFalse(tester.defaultInstance(app.id()).change().hasTargets());
+ assertFalse(tester.application(app.id()).change().hasTargets());
tester.clock().advance(Duration.ofHours(2));
tester.outstandingChangeDeployer().run();
- assertTrue(tester.defaultInstance(app.id()).change().hasTargets());
+ assertTrue(tester.application(app.id()).change().hasTargets());
tester.readyJobTrigger().run();
tester.deployAndNotify(instance.id(), Optional.of(applicationPackage), true, productionUsWest1);
tester.deployAndNotify(instance.id(), Optional.of(applicationPackage), true, productionUsCentral1);
tester.deployAndNotify(instance.id(), Optional.of(applicationPackage), true, productionUsEast3);
- assertFalse(tester.defaultInstance(app.id()).change().hasTargets());
+ assertFalse(tester.application(app.id()).change().hasTargets());
}
@Test
@@ -1207,33 +1206,33 @@ public class UpgraderTest {
tester.deploymentTrigger().forceChange(application.id(), Change.empty().withPin());
tester.deployCompletely(application, applicationPackage);
- assertFalse(tester.defaultInstance(application.id()).change().hasTargets());
- assertTrue(tester.defaultInstance(application.id()).change().isPinned());
+ assertFalse(tester.application(application.id()).change().hasTargets());
+ assertTrue(tester.application(application.id()).change().isPinned());
assertEquals(2, tester.defaultInstance(application.id()).deployments().size());
// Application does not upgrade.
Version version1 = Version.fromString("6.3");
tester.upgradeSystem(version1);
tester.upgrader().maintain();
- assertFalse(tester.defaultInstance(application.id()).change().hasTargets());
- assertTrue(tester.defaultInstance(application.id()).change().isPinned());
+ assertFalse(tester.application(application.id()).change().hasTargets());
+ assertTrue(tester.application(application.id()).change().isPinned());
// New application package is deployed.
tester.deployCompletely(application, applicationPackage, BuildJob.defaultBuildNumber + 1);
- assertFalse(tester.defaultInstance(application.id()).change().hasTargets());
- assertTrue(tester.defaultInstance(application.id()).change().isPinned());
+ assertFalse(tester.application(application.id()).change().hasTargets());
+ assertTrue(tester.application(application.id()).change().isPinned());
// Application upgrades to new version when pin is removed.
tester.deploymentTrigger().cancelChange(application.id(), PIN);
tester.upgrader().maintain();
- assertTrue(tester.defaultInstance(application.id()).change().hasTargets());
- assertFalse(tester.defaultInstance(application.id()).change().isPinned());
+ assertTrue(tester.application(application.id()).change().hasTargets());
+ assertFalse(tester.application(application.id()).change().isPinned());
// Application is pinned to new version, and upgrade is therefore not cancelled, even though confidence is broken.
tester.deploymentTrigger().forceChange(application.id(), Change.empty().withPin());
tester.upgrader().maintain();
tester.readyJobTrigger().maintain();
- assertEquals(version1, tester.defaultInstance(application.id()).change().platform().get());
+ assertEquals(version1, tester.application(application.id()).change().platform().get());
// Application fails upgrade after one zone is complete, and is pinned again to the old version.
tester.deployAndNotify(instance.id(), Optional.empty(), true, systemTest);
@@ -1244,16 +1243,16 @@ public class UpgraderTest {
tester.deploymentTrigger().cancelChange(application.id(), ALL);
tester.deploymentTrigger().forceChange(application.id(), Change.of(version0).withPin());
tester.buildService().clear();
- assertEquals(version0, tester.defaultInstance(application.id()).change().platform().get());
+ assertEquals(version0, tester.application(application.id()).change().platform().get());
// Application downgrades to pinned version.
tester.readyJobTrigger().maintain();
tester.deployAndNotify(instance.id(), Optional.empty(), true, systemTest);
tester.deployAndNotify(instance.id(), Optional.empty(), true, stagingTest);
tester.deployAndNotify(instance.id(), Optional.empty(), true, productionUsEast3);
- assertTrue(tester.defaultInstance(application.id()).change().hasTargets());
+ assertTrue(tester.application(application.id()).change().hasTargets());
tester.deployAndNotify(instance.id(), Optional.empty(), true, productionUsWest1);
- assertFalse(tester.defaultInstance(application.id()).change().hasTargets());
+ assertFalse(tester.application(application.id()).change().hasTargets());
}
@Test
@@ -1288,14 +1287,14 @@ public class UpgraderTest {
// App 2 is allowed on new major and upgrades
tester.controller().applications().lockApplicationIfPresent(app2.id(), app -> tester.applications().store(app.withMajorVersion(7)));
tester.upgrader().maintain();
- assertEquals(version2, tester.controller().applications().requireInstance(app2.id().defaultInstance()).change().platform().get());
+ assertEquals(version2, tester.application(app2.id()).change().platform().orElseThrow());
// App 1 is unpinned and upgrades to latest 6
tester.controller().applications().lockApplicationIfPresent(app1.id(), app ->
tester.controller().applications().store(app.withChange(app.get().change().withoutPin())));
tester.upgrader().maintain();
assertEquals("Application upgrades to latest allowed major", version1,
- tester.controller().applications().requireInstance(app1.id().defaultInstance()).change().platform().get());
+ tester.application(app1.id()).change().platform().orElseThrow());
}
@Test
@@ -1303,7 +1302,8 @@ public class UpgraderTest {
DeploymentTester tester = new DeploymentTester();
Application application = tester.createApplication("app1", "tenant1", 1, 1L);
Instance instance = tester.defaultInstance(application.id());
- Supplier<Instance> app = () -> tester.defaultInstance(application.id());
+ Supplier<Application> applications = () -> tester.application(application.id());
+ Supplier<Instance> instances = () -> tester.defaultInstance(application.id());
ApplicationPackage applicationPackage = new ApplicationPackageBuilder()
.environment(Environment.prod)
.region("us-central-1")
@@ -1319,7 +1319,7 @@ public class UpgraderTest {
Version v2 = Version.fromString("6.2");
tester.upgradeSystem(v2);
tester.upgrader().maintain();
- assertEquals(Change.of(v2), app.get().change());
+ assertEquals(Change.of(v2), applications.get().change());
tester.deployAndNotify(instance.id(), Optional.empty(), true, systemTest);
tester.deployAndNotify(instance.id(), Optional.empty(), true, stagingTest);
tester.deployAndNotify(instance.id(), Optional.empty(), true, productionUsCentral1);
@@ -1329,13 +1329,13 @@ public class UpgraderTest {
tester.computeVersionStatus();
tester.upgrader().maintain();
tester.deployAndNotify(instance.id(), Optional.empty(), true, productionUsWest1);
- assertTrue(app.get().change().isEmpty());
+ assertTrue(applications.get().change().isEmpty());
// Next version is released
Version v3 = Version.fromString("6.3");
tester.upgradeSystem(v3);
tester.upgrader().maintain();
- assertEquals(Change.of(v3), app.get().change());
+ assertEquals(Change.of(v3), applications.get().change());
tester.deployAndNotify(instance.id(), Optional.empty(), true, systemTest);
tester.deployAndNotify(instance.id(), Optional.empty(), true, stagingTest);
@@ -1345,22 +1345,22 @@ public class UpgraderTest {
// Before deployment completes, v1->v3 combination is tested as us-east-3 is still on v1
tester.readyJobTrigger().maintain();
tester.deployAndNotify(instance.id(), Optional.empty(), true, stagingTest);
- assertEquals(v1, app.get().deploymentJobs().jobStatus().get(stagingTest).lastSuccess().get().sourcePlatform().get());
- assertEquals(v3, app.get().deploymentJobs().jobStatus().get(stagingTest).lastSuccess().get().platform());
+ assertEquals(v1, instances.get().deploymentJobs().jobStatus().get(stagingTest).lastSuccess().get().sourcePlatform().get());
+ assertEquals(v3, instances.get().deploymentJobs().jobStatus().get(stagingTest).lastSuccess().get().platform());
// First deployment fails and then successfully upgrades to v3
tester.jobCompletion(productionUsCentral1).application(application).unsuccessful().submit();
tester.jobCompletion(productionUsCentral1).application(application).submit();
// Deployments are now on 3 versions
- assertEquals(v3, app.get().deployments().get(productionUsCentral1.zone(main)).version());
- assertEquals(v2, app.get().deployments().get(productionUsWest1.zone(main)).version());
- assertEquals(v1, app.get().deployments().get(productionUsEast3.zone(main)).version());
+ assertEquals(v3, instances.get().deployments().get(productionUsCentral1.zone(main)).version());
+ assertEquals(v2, instances.get().deployments().get(productionUsWest1.zone(main)).version());
+ assertEquals(v1, instances.get().deployments().get(productionUsEast3.zone(main)).version());
// Need to test v2->v3 combination again before upgrading second deployment
tester.readyJobTrigger().maintain();
- assertEquals(v2, app.get().deploymentJobs().jobStatus().get(stagingTest).lastTriggered().get().sourcePlatform().get());
- assertEquals(v3, app.get().deploymentJobs().jobStatus().get(stagingTest).lastTriggered().get().platform());
+ assertEquals(v2, instances.get().deploymentJobs().jobStatus().get(stagingTest).lastTriggered().get().sourcePlatform().get());
+ assertEquals(v3, instances.get().deploymentJobs().jobStatus().get(stagingTest).lastTriggered().get().platform());
tester.deployAndNotify(instance.id(), Optional.empty(), true, stagingTest);
// Second deployment upgrades
@@ -1368,13 +1368,13 @@ public class UpgraderTest {
// ... now we have to test v1->v3 again :(
tester.readyJobTrigger().maintain();
- assertEquals(v1, app.get().deploymentJobs().jobStatus().get(stagingTest).lastTriggered().get().sourcePlatform().get());
- assertEquals(v3, app.get().deploymentJobs().jobStatus().get(stagingTest).lastTriggered().get().platform());
+ assertEquals(v1, instances.get().deploymentJobs().jobStatus().get(stagingTest).lastTriggered().get().sourcePlatform().get());
+ assertEquals(v3, instances.get().deploymentJobs().jobStatus().get(stagingTest).lastTriggered().get().platform());
tester.deployAndNotify(instance.id(), Optional.empty(), true, stagingTest);
// Upgrade completes
tester.deployAndNotify(instance.id(), Optional.empty(), true, productionUsEast3);
- assertTrue("Upgrade complete", app.get().change().isEmpty());
+ assertTrue("Upgrade complete", applications.get().change().isEmpty());
}
}
diff --git a/controller-server/src/test/java/com/yahoo/vespa/hosted/controller/restapi/application/JobControllerApiHandlerHelperTest.java b/controller-server/src/test/java/com/yahoo/vespa/hosted/controller/restapi/application/JobControllerApiHandlerHelperTest.java
index fb5f28e1963..6cb808133e3 100644
--- a/controller-server/src/test/java/com/yahoo/vespa/hosted/controller/restapi/application/JobControllerApiHandlerHelperTest.java
+++ b/controller-server/src/test/java/com/yahoo/vespa/hosted/controller/restapi/application/JobControllerApiHandlerHelperTest.java
@@ -55,7 +55,7 @@ public class JobControllerApiHandlerHelperTest {
// Revision 1 gets deployed everywhere.
ApplicationVersion revision1 = tester.deployNewSubmission();
- assertEquals(2, tester.instance().deploymentJobs().projectId().getAsLong());
+ assertEquals(2, tester.application().projectId().getAsLong());
tester.clock().advance(Duration.ofMillis(1000));
// Revision 2 gets deployed everywhere except in us-east-3.