summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJon Bratseth <bratseth@gmail.com>2022-07-17 20:30:03 +0200
committerJon Bratseth <bratseth@gmail.com>2022-07-17 20:30:03 +0200
commit8bb7399795d18de5402a0be653916b22b9177053 (patch)
tree0f71f9279684de5e7f71d831a83201944f228ec4
parenta98be9842d56af0667b9eabcbcce5d5e9d390378 (diff)
Use fixture
-rw-r--r--node-repository/src/test/java/com/yahoo/vespa/hosted/provision/autoscale/AutoscalingTest.java41
1 files changed, 19 insertions, 22 deletions
diff --git a/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/autoscale/AutoscalingTest.java b/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/autoscale/AutoscalingTest.java
index e7d092ec37d..5d31cb55eb6 100644
--- a/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/autoscale/AutoscalingTest.java
+++ b/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/autoscale/AutoscalingTest.java
@@ -307,9 +307,11 @@ public class AutoscalingTest {
@Test
public void test_autoscaling_groupsize_by_cpu_read_dominated() {
- ClusterResources min = new ClusterResources( 3, 1, new NodeResources(1, 1, 1, 1));
- ClusterResources max = new ClusterResources(21, 7, new NodeResources(100, 1000, 1000, 1));
+ var min = new ClusterResources( 3, 1, new NodeResources(1, 1, 1, 1));
+ var now = new ClusterResources(6, 2, new NodeResources(3, 100, 100, 1));
+ var max = new ClusterResources(21, 7, new NodeResources(100, 1000, 1000, 1));
var fixture = AutoscalingTester.fixture()
+ .initialResources(Optional.of(now))
.capacity(Capacity.from(min, max))
.build();
fixture.tester().clock().advance(Duration.ofDays(2));
@@ -317,32 +319,27 @@ public class AutoscalingTest {
fixture.tester().clock().advance(timePassed.negated());
fixture.addLoadMeasurements(10, t -> t == 0 ? 20.0 : 10.0, t -> 1.0);
fixture.tester().assertResources("Scaling up since resource usage is too high, changing to 1 group is cheaper",
- 9, 1, 1.8, 5.0, 50.0,
+ 10, 1, 2.3, 27.8, 27.8,
fixture.autoscale());
}
/** Same as above but mostly write traffic, which favors smaller groups */
@Test
public void test_autoscaling_groupsize_by_cpu_write_dominated() {
- NodeResources resources = new NodeResources(3, 100, 100, 1);
- ClusterResources min = new ClusterResources( 3, 1, new NodeResources(1, 1, 1, 1));
- ClusterResources max = new ClusterResources(21, 7, new NodeResources(100, 1000, 1000, 1));
- var capacity = Capacity.from(min, max);
- AutoscalingTester tester = new AutoscalingTester(resources.withVcpu(resources.vcpu() * 2));
-
- ApplicationId application1 = AutoscalingTester.applicationId("application1");
- ClusterSpec cluster1 = AutoscalingTester.clusterSpec(ClusterSpec.Type.container, "cluster1");
-
- // deploy
- tester.deploy(application1, cluster1, 6, 2, resources);
- tester.addCpuMeasurements(0.25f, 1f, 120, application1);
- tester.clock().advance(Duration.ofMinutes(-10 * 5));
- tester.addLoadMeasurements(application1, cluster1.id(), 10,
- t -> t == 0 ? 20.0 : 10.0,
- t -> 100.0);
- tester.assertResources("Scaling down since resource usage is too high, changing to 1 group is cheaper",
- 4, 1, 2.1, 83.3, 52.6,
- tester.autoscale(application1, cluster1, capacity));
+ var min = new ClusterResources( 3, 1, new NodeResources(1, 1, 1, 1));
+ var now = new ClusterResources(6, 2, new NodeResources(3, 100, 100, 1));
+ var max = new ClusterResources(21, 7, new NodeResources(100, 1000, 1000, 1));
+ var fixture = AutoscalingTester.fixture()
+ .initialResources(Optional.of(now))
+ .capacity(Capacity.from(min, max))
+ .build();
+ fixture.tester().clock().advance(Duration.ofDays(2));
+ Duration timePassed = fixture.addCpuMeasurements(0.25, 120);
+ fixture.tester().clock().advance(timePassed.negated());
+ fixture.addLoadMeasurements(10, t -> t == 0 ? 20.0 : 10.0, t -> 100.0);
+ fixture.tester().assertResources("Scaling down since resource usage is too high, changing to 1 group is cheaper",
+ 6, 1, 1.0, 50.0, 50.0,
+ fixture.autoscale());
}
@Test