summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJon Bratseth <bratseth@gmail.com>2022-07-17 22:25:29 +0200
committerJon Bratseth <bratseth@gmail.com>2022-07-17 22:25:29 +0200
commitb6c2e9dea939550e80903bbd658b9bee1041b7b1 (patch)
tree980577cd0325318f24214137bc4d30f979b53a9b
parent8bb7399795d18de5402a0be653916b22b9177053 (diff)
Use fixture
-rw-r--r--node-repository/src/test/java/com/yahoo/vespa/hosted/provision/autoscale/AutoscalingTest.java30
-rw-r--r--node-repository/src/test/java/com/yahoo/vespa/hosted/provision/autoscale/Fixture.java7
2 files changed, 19 insertions, 18 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 5d31cb55eb6..eafb4be0675 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
@@ -344,24 +344,18 @@ public class AutoscalingTest {
@Test
public void test_autoscaling_group_size() {
- NodeResources hostResources = new NodeResources(100, 1000, 1000, 100);
- ClusterResources min = new ClusterResources( 2, 2, new NodeResources(1, 1, 1, 1));
- ClusterResources max = new ClusterResources(30, 30, new NodeResources(100, 100, 1000, 1));
- var capacity = Capacity.from(min, max);
- AutoscalingTester tester = new AutoscalingTester(hostResources);
-
- ApplicationId application1 = AutoscalingTester.applicationId("application1");
- ClusterSpec cluster1 = AutoscalingTester.clusterSpec(ClusterSpec.Type.content, "cluster1");
-
- // deploy
- tester.deploy(application1, cluster1, 6, 2, new NodeResources(10, 100, 100, 1));
- tester.clock().advance(Duration.ofDays(1));
- tester.addMemMeasurements(1.0f, 1f, 1000, application1);
- tester.clock().advance(Duration.ofMinutes(-10 * 5));
- tester.addQueryRateMeasurements(application1, cluster1.id(), 10, t -> t == 0 ? 20.0 : 10.0); // Query traffic only
- tester.assertResources("Increase group size to reduce memory load",
- 8, 2, 12.4, 96.2, 62.5,
- tester.autoscale(application1, cluster1, capacity));
+ var min = new ClusterResources( 2, 2, new NodeResources(1, 1, 1, 1));
+ var now = new ClusterResources(6, 2, new NodeResources(10, 100, 100, 1));
+ var max = new ClusterResources(30, 30, new NodeResources(100, 100, 1000, 1));
+ var fixture = AutoscalingTester.fixture()
+ .initialResources(Optional.of(now))
+ .capacity(Capacity.from(min, max))
+ .build();
+ fixture.tester().clock().advance(Duration.ofDays(1));
+ fixture.applyMemLoad(1.0, 1000);
+ fixture.tester().assertResources("Increase group size to reduce memory load",
+ 8, 2, 6.5, 96.2, 62.5,
+ fixture.autoscale());
}
@Test
diff --git a/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/autoscale/Fixture.java b/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/autoscale/Fixture.java
index c99beed5170..67a51caaed6 100644
--- a/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/autoscale/Fixture.java
+++ b/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/autoscale/Fixture.java
@@ -79,6 +79,13 @@ public class Fixture {
tester().addQueryRateMeasurements(application, cluster.id(), measurements, samplingInterval, t -> t == 0 ? 20.0 : 10.0); // Query traffic only
}
+ public void applyMemLoad(double memLoad, int measurements) {
+ Duration samplingInterval = Duration.ofSeconds(150L); // in addCpuMeasurements
+ tester().addMemMeasurements((float)memLoad, 1.0f, measurements, application);
+ tester().clock().advance(samplingInterval.negated().multipliedBy(measurements));
+ tester().addQueryRateMeasurements(application, cluster.id(), measurements, samplingInterval, t -> t == 0 ? 20.0 : 10.0); // Query traffic only
+ }
+
public void applyLoad(double cpuLoad, double memoryLoad, double diskLoad, int measurements) {
Duration samplingInterval = Duration.ofSeconds(150L); // in addCpuMeasurements
tester().addMeasurements((float)cpuLoad, (float)memoryLoad, (float)diskLoad, measurements, application);