summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJon Marius Venstad <venstad@gmail.com>2019-10-23 16:43:35 +0200
committerJon Marius Venstad <venstad@gmail.com>2019-10-23 16:43:35 +0200
commitdc540d9eb6947990e44b5189dddbf5970a68f208 (patch)
tree868b783154c3da847e88f76bdc7678d177c069ad
parentc63f649840972999cee918c6f774869679185f60 (diff)
Add test
-rw-r--r--controller-server/src/test/java/com/yahoo/vespa/hosted/controller/maintenance/UpgraderTest.java21
1 files changed, 21 insertions, 0 deletions
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 1fd51a453fd..d0c67d67842 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
@@ -1377,4 +1377,25 @@ public class UpgraderTest {
assertTrue("Upgrade complete", applications.get().change().isEmpty());
}
+ @Test
+ public void testUpgradesPerMinute() {
+ assertEquals(0, Upgrader.numberOfApplicationsToUpgrade(10, 0, 0));
+
+ for (long now = 0; now < 60_000; now++)
+ assertEquals(7, Upgrader.numberOfApplicationsToUpgrade(60_000, now, 7));
+
+ // Upgrade an app after 8s, 16s, ..., 120s.
+ assertEquals(3, Upgrader.numberOfApplicationsToUpgrade(30_000, 0, 7.5));
+ assertEquals(4, Upgrader.numberOfApplicationsToUpgrade(30_000, 30_000, 7.5));
+ assertEquals(4, Upgrader.numberOfApplicationsToUpgrade(30_000, 60_000, 7.5));
+ assertEquals(4, Upgrader.numberOfApplicationsToUpgrade(30_000, 90_000, 7.5));
+ assertEquals(3, Upgrader.numberOfApplicationsToUpgrade(30_000, 120_000, 7.5));
+
+ // Run upgrades for 20 minutes.
+ int upgrades = 0;
+ for (int i = 0, now = 0; i < 30; i++, now += 40_000)
+ upgrades += Upgrader.numberOfApplicationsToUpgrade(40_000, now, 8.7);
+ assertEquals(174, upgrades);
+ }
+
}