diff options
author | Jon Bratseth <bratseth@gmail.com> | 2022-08-11 14:38:13 +0200 |
---|---|---|
committer | Jon Bratseth <bratseth@gmail.com> | 2022-08-11 14:38:13 +0200 |
commit | 8f4df15e0318a2fdd7ba01a4a83771af9b673bd4 (patch) | |
tree | 1177429e47285c575046778eb69bd02b9a4eb6d2 /node-repository/src/test/java/com/yahoo/vespa/hosted/provision/autoscale | |
parent | 53059709ae18fc2a5460da6e698b8c4e9d994b54 (diff) |
Simplify
Diffstat (limited to 'node-repository/src/test/java/com/yahoo/vespa/hosted/provision/autoscale')
2 files changed, 22 insertions, 28 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 acd80f844b8..069805bbe8d 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 @@ -63,7 +63,6 @@ public class AutoscalingTest { @Test public void test_no_autoscaling_with_no_measurements() { var fixture = AutoscalingTester.fixture().build(); - System.out.println(fixture.autoscale()); assertTrue(fixture.autoscale().target().isEmpty()); } @@ -71,7 +70,7 @@ public class AutoscalingTest { @Test public void test_autoscaling_up_is_fast() { var fixture = AutoscalingTester.fixture().build(); - fixture.loader().applyLoad(1.0, 1.0, 1.0, 3); + fixture.loader().applyLoad(new Load(1.0, 1.0, 1.0), 3); fixture.tester().assertResources("Scaling up since resource usage is too high", 10, 1, 7.2, 8.5, 92.6, fixture.autoscale()); @@ -168,7 +167,7 @@ public class AutoscalingTest { .capacity(Capacity.from(min, max)).build(); fixture.tester().clock().advance(Duration.ofDays(1)); - fixture.loader().applyLoad(0.25, 0.95, 0.95, 120); + fixture.loader().applyLoad(new Load(0.25, 0.95, 0.95), 120); fixture.tester().assertResources("Scaling up to limit since resource usage is too high", 6, 1, 2.4, 78.0, 79.0, fixture.autoscale()); @@ -182,7 +181,7 @@ public class AutoscalingTest { // deploy fixture.tester().clock().advance(Duration.ofDays(2)); - fixture.loader().applyLoad(0.05f, 0.05f, 0.05f, 120); + fixture.loader().applyLoad(new Load(0.05f, 0.05f, 0.05f), 120); fixture.tester().assertResources("Scaling down to limit since resource usage is low", 4, 1, 1.8, 7.4, 13.9, fixture.autoscale()); @@ -204,7 +203,7 @@ public class AutoscalingTest { 2, 1, defaultResources, fixture.nodes().toResources()); fixture.tester().clock().advance(Duration.ofDays(2)); - fixture.loader().applyLoad(0.25, 0.95, 0.95, 120); + fixture.loader().applyLoad(new Load(0.25, 0.95, 0.95), 120); fixture.tester().assertResources("Scaling up", 5, 1, defaultResources.vcpu(), defaultResources.memoryGb(), defaultResources.diskGb(), @@ -252,8 +251,7 @@ public class AutoscalingTest { .build(); fixture.tester().clock().advance(Duration.ofDays(2)); - fixture.loader().applyLoad(0.01, 0.01, 0.01, 120); - System.out.println("Asking for suggestion ..."); + fixture.loader().applyLoad(new Load(0.01, 0.01, 0.01), 120); Autoscaler.Advice suggestion = fixture.suggest(); fixture.tester().assertResources("Choosing the remote disk flavor as it has less disk", 2, 1, 3.0, 100.0, 10.0, @@ -276,7 +274,7 @@ public class AutoscalingTest { .build(); fixture.tester().clock().advance(Duration.ofDays(2)); - fixture.loader().applyLoad(0.01, 0.01, 0.01, 120); + fixture.loader().applyLoad(new Load(0.01, 0.01, 0.01), 120); Autoscaler.Advice suggestion = fixture.suggest(); fixture.tester().assertResources("Always prefers local disk for content", 2, 1, 3.0, 100.0, 75.0, @@ -300,7 +298,7 @@ public class AutoscalingTest { public void not_using_out_of_service_measurements() { var fixture = AutoscalingTester.fixture().build(); fixture.tester().clock().advance(Duration.ofDays(2)); - fixture.loader().applyLoad(0.9, 0.6, 0.7, 1, false, true, 120); + fixture.loader().applyLoad(new Load(0.9, 0.6, 0.7), 1, false, true, 120); assertTrue("Not scaling up since nodes were measured while cluster was out of service", fixture.autoscale().target().isEmpty()); } @@ -309,7 +307,7 @@ public class AutoscalingTest { public void not_using_unstable_measurements() { var fixture = AutoscalingTester.fixture().build(); fixture.tester().clock().advance(Duration.ofDays(2)); - fixture.loader().applyLoad(0.9, 0.6, 0.7, 1, true, false, 120); + fixture.loader().applyLoad(new Load(0.9, 0.6, 0.7), 1, true, false, 120); assertTrue("Not scaling up since nodes were measured while cluster was unstable", fixture.autoscale().target().isEmpty()); } @@ -393,7 +391,7 @@ public class AutoscalingTest { .capacity(Capacity.from(min, max)) .build(); fixture.tester().clock().advance(Duration.ofDays(2)); - fixture.loader().applyLoad(0.16, 0.02, 0.5, 120); + fixture.loader().applyLoad(new Load(0.16, 0.02, 0.5), 120); fixture.tester().assertResources("Scaling down", 6, 1, 3.0, 4.0, 100.0, fixture.autoscale()); @@ -417,7 +415,7 @@ public class AutoscalingTest { var fixture = AutoscalingTester.fixture() .resourceCalculator(new OnlySubtractingWhenForecastingCalculator(0)) .build(); - fixture.loader().applyLoad(1.0, 1.0, 0.7, 1000); + fixture.loader().applyLoad(new Load(1.0, 1.0, 0.7), 1000); fixture.tester().assertResources("Scaling up", 9, 1, 5.0, 9.6, 72.9, fixture.autoscale()); @@ -427,7 +425,7 @@ public class AutoscalingTest { var fixture = AutoscalingTester.fixture() .resourceCalculator(new OnlySubtractingWhenForecastingCalculator(3)) .build(); - fixture.loader().applyLoad(1.0, 1.0, 0.7, 1000); + fixture.loader().applyLoad(new Load(1.0, 1.0, 0.7), 1000); fixture.tester().assertResources("With 3Gb memory tax, we scale up memory more", 7, 1, 6.4, 15.8, 97.2, fixture.autoscale()); @@ -584,7 +582,7 @@ public class AutoscalingTest { .zone(new Zone(Environment.dev, RegionName.from("us-east"))) .build(); fixture.tester().clock().advance(Duration.ofDays(2)); - fixture.loader().applyLoad(1.0, 1.0, 1.0, 200); + fixture.loader().applyLoad(new Load(1.0, 1.0, 1.0), 200); assertTrue("Not attempting to scale up because policies dictate we'll only get one node", fixture.autoscale().target().isEmpty()); } @@ -605,7 +603,7 @@ public class AutoscalingTest { .zone(new Zone(Environment.dev, RegionName.from("us-east"))) .build(); fixture.tester().clock().advance(Duration.ofDays(2)); - fixture.loader().applyLoad(1.0, 1.0, 1.0, 200); + fixture.loader().applyLoad(new Load(1.0, 1.0, 1.0), 200); fixture.tester().assertResources("We scale even in dev because resources are required", 3, 1, 1.0, 7.7, 83.3, fixture.autoscale()); @@ -624,7 +622,7 @@ public class AutoscalingTest { .zone(new Zone(Environment.dev, RegionName.from("us-east"))) .build(); fixture.tester().clock().advance(Duration.ofDays(2)); - fixture.loader().applyLoad(1.0, 1.0, 1.0, 200); + fixture.loader().applyLoad(new Load(1.0, 1.0, 1.0), 200); fixture.tester().assertResources("We scale even in dev because resources are required", 3, 1, 1.5, 8, 50, fixture.autoscale()); diff --git a/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/autoscale/Loader.java b/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/autoscale/Loader.java index e668863bb9b..7aaaceb0fdd 100644 --- a/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/autoscale/Loader.java +++ b/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/autoscale/Loader.java @@ -90,9 +90,6 @@ public class Loader { NodeList nodes = fixture.nodes(); float oneExtraNodeFactor = (float)(nodes.size() - 1.0) / (nodes.size()); Load load = new Load(idealLoad.cpu(), value, idealLoad.disk()).multiply(oneExtraNodeFactor); - System.out.println("Applying " + load); - System.out.println(" ideal " + idealLoad); - System.out.println(""); for (int i = 0; i < count; i++) { fixture.tester().clock().advance(samplingInterval); for (Node node : nodes) { @@ -107,19 +104,18 @@ public class Loader { } } - public Duration addMeasurements(double cpu, double memory, double disk, int count) { - return addMeasurements(cpu, memory, disk, 0, true, true, count); + public Duration addMeasurements(Load load, int count) { + return addMeasurements(load, 0, true, true, count); } - public Duration addMeasurements(double cpu, double memory, double disk, int generation, boolean inService, boolean stable, - int count) { + public Duration addMeasurements(Load load, int generation, boolean inService, boolean stable, int count) { Instant initialTime = fixture.tester().clock().instant(); for (int i = 0; i < count; i++) { fixture.tester().clock().advance(samplingInterval); for (Node node : fixture.nodes()) { fixture.tester().nodeMetricsDb().addNodeMetrics(List.of(new Pair<>(node.hostname(), new NodeMetricSnapshot(fixture.tester().clock().instant(), - new Load(cpu, memory, disk), + load, generation, inService, stable, @@ -129,14 +125,14 @@ public class Loader { return Duration.between(initialTime, fixture.tester().clock().instant()); } - public void applyLoad(double cpuLoad, double memoryLoad, double diskLoad, int measurements) { - addMeasurements(cpuLoad, memoryLoad, diskLoad, measurements); + public void applyLoad(Load load, int measurements) { + addMeasurements(load, measurements); fixture.tester().clock().advance(samplingInterval.negated().multipliedBy(measurements)); addQueryRateMeasurements(measurements, t -> t == 0 ? 20.0 : 10.0); // Query traffic only } - public void applyLoad(double cpuLoad, double memoryLoad, double diskLoad, int generation, boolean inService, boolean stable, int measurements) { - addMeasurements(cpuLoad, memoryLoad, diskLoad, generation, inService, stable, measurements); + public void applyLoad(Load load, int generation, boolean inService, boolean stable, int measurements) { + addMeasurements(load, generation, inService, stable, measurements); fixture.tester().clock().advance(samplingInterval.negated().multipliedBy(measurements)); addQueryRateMeasurements(measurements, t -> t == 0 ? 20.0 : 10.0); // Query traffic only } |