aboutsummaryrefslogtreecommitdiffstats
path: root/controller-server/src/test
diff options
context:
space:
mode:
authorMartin Polden <mpolden@mpolden.no>2022-02-18 08:50:56 +0100
committerGitHub <noreply@github.com>2022-02-18 08:50:56 +0100
commitdbfd94f7332575e3217b7c6e43a76bcbb6880ed0 (patch)
tree3162ad860c04f832ddf3b173f60032a207c3bcec /controller-server/src/test
parent7ebb39e1827c30faa1dfd692a78520510a266975 (diff)
parent2126335545db50eb4311e909fb5d1c9f3ff86076 (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.java24
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