summaryrefslogtreecommitdiffstats
path: root/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/autoscale/ClusterModelTest.java
diff options
context:
space:
mode:
authorValerij Fredriksen <freva@users.noreply.github.com>2022-11-06 17:35:26 +0100
committerGitHub <noreply@github.com>2022-11-06 17:35:26 +0100
commitb40c389a135778c5a2817732f4839bfaa7fe1776 (patch)
tree46f6c020cf3730ba2efbb6ce8271669597f41e0c /node-repository/src/test/java/com/yahoo/vespa/hosted/provision/autoscale/ClusterModelTest.java
parent3b6df7e9ae9950744c6b8401026388f483f9c3a2 (diff)
parentab9e6d39a300a395461d2c970278c309d667d4d3 (diff)
Merge pull request #24769 from vespa-engine/bratseth/no-trafficv8.79.36
Handle no traffic
Diffstat (limited to 'node-repository/src/test/java/com/yahoo/vespa/hosted/provision/autoscale/ClusterModelTest.java')
-rw-r--r--node-repository/src/test/java/com/yahoo/vespa/hosted/provision/autoscale/ClusterModelTest.java18
1 files changed, 11 insertions, 7 deletions
diff --git a/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/autoscale/ClusterModelTest.java b/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/autoscale/ClusterModelTest.java
index 0559a232065..f31ad191637 100644
--- a/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/autoscale/ClusterModelTest.java
+++ b/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/autoscale/ClusterModelTest.java
@@ -41,25 +41,30 @@ public class ClusterModelTest {
// No current traffic share: Ideal load is low but capped
var model1 = clusterModel(new Status(0.0, 1.0),
t -> t == 0 ? 10000.0 : 0.0, t -> 0.0);
- assertEquals(0.10672097759674132, model1.idealLoad().cpu(), delta);
+ assertEquals(0.37067209775967414, model1.idealLoad().cpu(), delta);
// Almost no current traffic share: Ideal load is low but capped
var model2 = clusterModel(new Status(0.0001, 1.0),
t -> t == 0 ? 10000.0 : 0.0, t -> 0.0);
- assertEquals(0.10672097759674132, model2.idealLoad().cpu(), delta);
+ assertEquals(0.37067209775967414, model2.idealLoad().cpu(), delta);
}
@Test
public void test_growth_headroom() {
- // No current traffic: Ideal load is low but capped
+ // No traffic data: Ideal load assumes 2 regions
var model1 = clusterModel(new Status(0.0, 0.0),
t -> t == 0 ? 10000.0 : 0.0, t -> 0.0);
assertEquals(0.2240325865580448, model1.idealLoad().cpu(), delta);
- // Almost no current traffic: Ideal load is low but capped
- var model2 = clusterModel(new Status(0.0001, 1.0),
+ // No traffic: Ideal load is higher since we now know there is only one zone
+ var model2 = clusterModel(new Status(0.0, 1.0),
+ t -> t == 0 ? 10000.0 : 0.0, t -> 0.0);
+ assertEquals(0.37067209775967414, model2.idealLoad().cpu(), delta);
+
+ // Almost no current traffic: Similar number as above
+ var model3 = clusterModel(new Status(0.0001, 1.0),
t -> t == 0 ? 10000.0 : 0.0001, t -> 0.0);
- assertEquals(0.0326530612244898, model2.idealLoad().cpu(), delta);
+ assertEquals(0.32653061224489793, model3.idealLoad().cpu(), delta);
}
private ClusterModel clusterModelWithNoData() {
@@ -72,7 +77,6 @@ public class ClusterModelTest {
ClusterSpec clusterSpec = clusterSpec();
Cluster cluster = cluster(resources());
application = application.with(cluster);
-
return new ClusterModel(application.with(status),
clusterSpec, cluster, clock, Duration.ofMinutes(10),
timeseries(cluster,100, queryRate, writeRate, clock),