diff options
Diffstat (limited to 'controller-server/src/test/java/com/yahoo/vespa/hosted/controller/deployment/DeploymentTriggerTest.java')
-rw-r--r-- | controller-server/src/test/java/com/yahoo/vespa/hosted/controller/deployment/DeploymentTriggerTest.java | 24 |
1 files changed, 20 insertions, 4 deletions
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 b95d34f5414..b2847a29654 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 @@ -698,7 +698,10 @@ public class DeploymentTriggerTest { ApplicationVersion revision1 = app1.lastSubmission().get(); app1.submit(applicationPackage); ApplicationVersion revision2 = app1.lastSubmission().get(); - app1.runJob(systemTest).runJob(stagingTest); + app1.runJob(systemTest) // Tests for new revision on version2 + .runJob(stagingTest) + .runJob(systemTest) // Tests for new revision on version1 + .runJob(stagingTest); assertEquals(Change.of(version1).with(revision2), app1.instance().change()); tester.triggerJobs(); app1.assertRunning(productionUsCentral1); @@ -718,9 +721,7 @@ public class DeploymentTriggerTest { app1.assertNotRunning(productionUsCentral1); // Last job has a different deployment target, so tests need to run again. - app1.runJob(systemTest) - .runJob(stagingTest) // Eager test of outstanding change, assuming upgrade in west succeeds. - .runJob(productionEuWest1) // Upgrade completes, and revision is the only change. + app1.runJob(productionEuWest1) // Upgrade completes, and revision is the only change. .runJob(productionUsCentral1) // With only revision change, central should run to cover a previous failure. .runJob(productionEuWest1); // Finally, west changes revision. assertEquals(Change.empty(), app1.instance().change()); @@ -1433,6 +1434,21 @@ public class DeploymentTriggerTest { tester.jobs().last(app.instanceId(), productionUsWest1).get().versions()); app.runJob(productionUsWest1); assertEquals(Change.empty(), app.instance().change()); + + // New upgrade fails in staging-test, and revision to fix it is submitted. + var version2 = new Version("7.2"); + tester.controllerTester().upgradeSystem(version2); + tester.upgrader().maintain(); + app.runJob(systemTest).failDeployment(stagingTest); + tester.clock().advance(Duration.ofMinutes(30)); + app.failDeployment(stagingTest); + app.submit(appPackage); + + app.runJob(systemTest).runJob(stagingTest) // Tests run with combined upgrade. + .runJob(productionUsCentral1) // Combined upgrade stays together. + .runJob(productionUsEast3).runJob(productionUsWest1); + assertEquals(Map.of(), app.deploymentStatus().jobsToRun()); + assertEquals(Change.empty(), app.instance().change()); } @Test |