diff options
author | Jon Bratseth <bratseth@verizonmedia.com> | 2020-02-21 09:58:09 +0100 |
---|---|---|
committer | Jon Bratseth <bratseth@verizonmedia.com> | 2020-02-21 09:58:09 +0100 |
commit | 6584a5218e87563c0a75d4a1be185911d32504b2 (patch) | |
tree | 97a73a0fd6e59b4c73cf8be107a74698403b9a3d /node-repository | |
parent | cfa6cd39c6f274b78ec66f97991a56022cc12dc5 (diff) |
Parametrize measured resource
Diffstat (limited to 'node-repository')
2 files changed, 14 insertions, 15 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 f478e58420c..e188008b07f 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 @@ -35,10 +35,10 @@ public class AutoscalingTest { assertTrue("No measurements -> No change", tester.autoscale(application1, cluster1).isEmpty()); - tester.addMeasurements( 0.25f, 60, application1); + tester.addMeasurements(Resource.cpu, 0.25f, 60, application1); assertTrue("Too few measurements -> No change", tester.autoscale(application1, cluster1).isEmpty()); - tester.addMeasurements( 0.25f, 60, application1); + tester.addMeasurements(Resource.cpu, 0.25f, 60, application1); ClusterResources scaledResources = tester.assertResources("Scaling up since resource usage is too high", 10, 1, 1.7, 44.4, 44.4, tester.autoscale(application1, cluster1)); @@ -47,14 +47,14 @@ public class AutoscalingTest { assertTrue("Cluster in flux -> No further change", tester.autoscale(application1, cluster1).isEmpty()); tester.deactivateRetired(application1, cluster1, scaledResources); - tester.addMeasurements( 0.8f, 3, application1); + tester.addMeasurements(Resource.cpu, 0.8f, 3, application1); assertTrue("Load change is large, but insufficient measurements for new config -> No change", tester.autoscale(application1, cluster1).isEmpty()); - tester.addMeasurements( 0.19f, 100, application1); + tester.addMeasurements(Resource.cpu, 0.19f, 100, application1); assertTrue("Load change is small -> No change", tester.autoscale(application1, cluster1).isEmpty()); - tester.addMeasurements( 0.1f, 120, application1); + tester.addMeasurements(Resource.cpu, 0.1f, 120, application1); tester.assertResources("Scaling down since resource usage has gone down significantly", 10, 1, 1.2, 44.4, 44.4, tester.autoscale(application1, cluster1)); @@ -70,7 +70,7 @@ public class AutoscalingTest { // deploy tester.deploy(application1, cluster1, 5, 5, resources); - tester.addMeasurements( 0.25f, 120, application1); + tester.addMeasurements(Resource.cpu, 0.25f, 120, application1); tester.assertResources("Scaling up since resource usage is too high", 10, 10, 1.7, 44.4, 44.4, tester.autoscale(application1, cluster1)); @@ -86,7 +86,7 @@ public class AutoscalingTest { // deploy tester.deploy(application1, cluster1, 6, 2, resources); - tester.addMeasurements( 0.22f, 120, application1); + tester.addMeasurements(Resource.cpu, 0.22f, 120, application1); tester.assertResources("Scaling up since resource usage is too high", 9, 3, 2.7, 83.3, 83.3, tester.autoscale(application1, cluster1)); @@ -109,7 +109,7 @@ public class AutoscalingTest { // deploy tester.deploy(application1, cluster1, 5, 1, new NodeResources(3, 100, 100, 1)); - tester.addMeasurements( 0.25f, 120, application1); + tester.addMeasurements(Resource.cpu, 0.25f, 120, application1); ClusterResources scaledResources = tester.assertResources("Scaling up since resource usage is too high", 7, 1, 3, 100, 100, tester.autoscale(application1, cluster1)); @@ -117,8 +117,7 @@ public class AutoscalingTest { tester.deploy(application1, cluster1, scaledResources); tester.deactivateRetired(application1, cluster1, scaledResources); - tester.addMeasurements( 0.05f, 1000, application1); - System.out.println("Assuming downscaling"); + tester.addMeasurements(Resource.cpu, 0.05f, 1000, application1); tester.assertResources("Scaling down since resource usage has gone down significantly", 8, 1, 1, 100, 100, tester.autoscale(application1, cluster1)); diff --git a/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/autoscale/AutoscalingTester.java b/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/autoscale/AutoscalingTester.java index 0a3eaa0a95b..af03fc95d84 100644 --- a/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/autoscale/AutoscalingTester.java +++ b/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/autoscale/AutoscalingTester.java @@ -113,20 +113,20 @@ class AutoscalingTester { } /** - * Adds measurements with the given cpu value and ideal values for the other resources, + * Adds measurements with the given resource value and ideal values for the other resources, * scaled to take one node redundancy into account. * (I.e we adjust to measure a bit lower load than "naively" wanted to offset for the autoscaler * wanting to see the ideal load with one node missing.) */ - public void addMeasurements(float cpuValue, int count, ApplicationId applicationId) { + public void addMeasurements(Resource resource, float value, int count, ApplicationId applicationId) { List<Node> nodes = nodeRepository().getNodes(applicationId, Node.State.active); float oneExtraNodeFactor = (float)(nodes.size() - 1.0) / (nodes.size()); for (int i = 0; i < count; i++) { clock().advance(Duration.ofMinutes(1)); for (Node node : nodes) { - for (Resource resource : Resource.values()) - db.add(node, resource, clock().instant(), - (resource == Resource.cpu ? cpuValue : (float)resource.idealAverageLoad()) * oneExtraNodeFactor); + for (Resource r : Resource.values()) + db.add(node, r, clock().instant(), + (r == resource ? value : (float)r.idealAverageLoad()) * oneExtraNodeFactor); } } } |