diff options
author | Martin Polden <mpolden@mpolden.no> | 2022-02-18 08:50:56 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2022-02-18 08:50:56 +0100 |
commit | dbfd94f7332575e3217b7c6e43a76bcbb6880ed0 (patch) | |
tree | 3162ad860c04f832ddf3b173f60032a207c3bcec /controller-server/src/test | |
parent | 7ebb39e1827c30faa1dfd692a78520510a266975 (diff) | |
parent | 2126335545db50eb4311e909fb5d1c9f3ff86076 (diff) |
Merge pull request #21258 from vespa-engine/jonmv/long-deployment-pipelines-2
Add revision upgrade policy "exclusive" which _never_ joins commits
Diffstat (limited to 'controller-server/src/test')
-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 67fa2f87794..925aabf76e3 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 @@ -1439,7 +1439,7 @@ public class DeploymentTriggerTest { " </prod>\n" + " </instance>\n" + " <instance id='gamma'>\n" + - " <upgrade revision='separate' />\n" + // TODO: change to new, even stricter policy. + " <upgrade revision='exclusive' />\n" + " <prod>\n" + " <region>us-east-3</region>\n" + " <test>us-east-3</test>\n" + @@ -1506,14 +1506,30 @@ public class DeploymentTriggerTest { assertEquals(Optional.empty(), alpha.instance().change().application()); assertEquals(revision6, beta.instance().change().application()); - // revision6 rolls through beta, but revision3 is the next target for the strictest revision policy, in gamma + // revision6 rolls through beta, but revision3 is the next target for gamma with "exclusive" revision upgrades alpha.jobAborted(stagingTest).runJob(stagingTest); beta.runJob(productionUsEast3).runJob(testUsEast3); - gamma.runJob(productionUsEast3).runJob(testUsEast3); + + // revision 2 fails, but this does not bring on revision 3 + gamma.failDeployment(productionUsEast3); + tester.outstandingChangeDeployer().run(); + assertEquals(Optional.empty(), beta.instance().change().application()); + assertEquals(revision2, gamma.instance().change().application()); + + // revision 2 completes + gamma.runJob(productionUsEast3) + .runJob(testUsEast3); tester.outstandingChangeDeployer().run(); assertEquals(Optional.empty(), alpha.instance().change().application()); assertEquals(Optional.empty(), beta.instance().change().application()); - // TODO: assertEquals(revision3, gamma.instance().change().application()); + assertEquals(revision3, gamma.instance().change().application()); + + // revision 6 is next, once 3 is done + // revision 3 completes + gamma.runJob(productionUsEast3) + .runJob(testUsEast3); + tester.outstandingChangeDeployer().run(); + assertEquals(revision6, gamma.instance().change().application()); } @Test |