summaryrefslogtreecommitdiffstats
path: root/controller-server/src/test/java/com/yahoo/vespa/hosted/controller/versions/VersionStatusTest.java
diff options
context:
space:
mode:
Diffstat (limited to 'controller-server/src/test/java/com/yahoo/vespa/hosted/controller/versions/VersionStatusTest.java')
-rw-r--r--controller-server/src/test/java/com/yahoo/vespa/hosted/controller/versions/VersionStatusTest.java45
1 files changed, 16 insertions, 29 deletions
diff --git a/controller-server/src/test/java/com/yahoo/vespa/hosted/controller/versions/VersionStatusTest.java b/controller-server/src/test/java/com/yahoo/vespa/hosted/controller/versions/VersionStatusTest.java
index 868ea50128d..27e26e3267a 100644
--- a/controller-server/src/test/java/com/yahoo/vespa/hosted/controller/versions/VersionStatusTest.java
+++ b/controller-server/src/test/java/com/yahoo/vespa/hosted/controller/versions/VersionStatusTest.java
@@ -243,44 +243,31 @@ public class VersionStatusTest {
}
@Test
- public void testIgnoreConfidence() {
+ public void testConfidenceOverride() {
DeploymentTester tester = new DeploymentTester();
-
Version version0 = new Version("5.0");
tester.upgradeSystem(version0);
- // Setup applications - all running on version0
- Application canary0 = tester.createAndDeploy("canary0", 1, "canary");
- Application canary1 = tester.createAndDeploy("canary1", 2, "canary");
- Application default0 = tester.createAndDeploy("default0", 3, "default");
- Application default1 = tester.createAndDeploy("default1", 4, "default");
- Application default2 = tester.createAndDeploy("default2", 5, "default");
- Application default3 = tester.createAndDeploy("default3", 6, "default");
- Application default4 = tester.createAndDeploy("default4", 7, "default");
+ // Create and deploy application on current version
+ Application app = tester.createAndDeploy("app", 1, "canary");
+ tester.updateVersionStatus();
+ assertEquals(Confidence.high, confidence(tester.controller(), version0));
- // New version is released
- Version version1 = new Version("5.1");
- tester.upgradeSystem(version1);
+ // Override confidence
+ tester.upgrader().overrideConfidence(version0, Confidence.broken);
+ tester.updateVersionStatus();
+ assertEquals(Confidence.broken, confidence(tester.controller(), version0));
- // All canaries upgrade successfully, 1 default apps ok, 3 default apps fail
- tester.completeUpgrade(canary0, version1, "canary");
- tester.completeUpgrade(canary1, version1, "canary");
+ // New version is released and application upgrades
+ Version version1 = new Version("5.1");
tester.upgradeSystem(version1);
- tester.completeUpgrade(default0, version1, "default");
- tester.completeUpgradeWithError(default1, version1, "default", stagingTest);
- tester.completeUpgradeWithError(default2, version1, "default", stagingTest);
- tester.completeUpgradeWithError(default3, version1, "default", stagingTest);
- tester.completeUpgradeWithError(default4, version1, "default", stagingTest);
+ tester.completeUpgrade(app, version1, "canary");
tester.updateVersionStatus();
- assertEquals("Canaries have upgraded, 1 of 4 default apps failing: Broken",
- Confidence.broken, confidence(tester.controller(), version1));
+ assertEquals(Confidence.high, confidence(tester.controller(), version1));
- // Same as above, but ignore confidence calculations, will force normal confidence
- tester.controllerTester().curator().writeIgnoreConfidence(true);
- tester.updateVersionStatus();
- assertEquals("Canaries have upgraded, 1 of 4 default apps failing, but confidence ignored: Low",
- Confidence.normal, confidence(tester.controller(), version1));
- tester.controllerTester().curator().writeIgnoreConfidence(false);
+ // Stale override was removed
+ assertFalse("Stale override removed", tester.controller().curator().readConfidenceOverrides()
+ .keySet().contains(version0));
}
private Confidence confidence(Controller controller, Version version) {