summaryrefslogtreecommitdiffstats
path: root/node-repository
diff options
context:
space:
mode:
authorJon Bratseth <bratseth@verizonmedia.com>2020-03-04 15:33:40 +0100
committerJon Bratseth <bratseth@verizonmedia.com>2020-03-04 15:33:40 +0100
commit78452759e689f309ec2a60b5e31a9ad7772ba7e3 (patch)
tree9e7d417d05df98af598ef4d7af7896acbbbb05f3 /node-repository
parent34548b00db9cb5865da3180afc080861ada47e2e (diff)
Simplify
Diffstat (limited to 'node-repository')
-rw-r--r--node-repository/src/main/java/com/yahoo/vespa/hosted/provision/autoscale/AllocatableClusterResources.java8
-rw-r--r--node-repository/src/main/java/com/yahoo/vespa/hosted/provision/autoscale/Autoscaler.java12
2 files changed, 5 insertions, 15 deletions
diff --git a/node-repository/src/main/java/com/yahoo/vespa/hosted/provision/autoscale/AllocatableClusterResources.java b/node-repository/src/main/java/com/yahoo/vespa/hosted/provision/autoscale/AllocatableClusterResources.java
index 0b56a49e106..d01c7e1b139 100644
--- a/node-repository/src/main/java/com/yahoo/vespa/hosted/provision/autoscale/AllocatableClusterResources.java
+++ b/node-repository/src/main/java/com/yahoo/vespa/hosted/provision/autoscale/AllocatableClusterResources.java
@@ -10,11 +10,9 @@ public class AllocatableClusterResources {
private final ClusterResources realResources;
private final ClusterResources advertisedResources;
- private final double cost;
- public AllocatableClusterResources(ClusterResources realResources, double cost, NodeResources advertisedResources) {
+ public AllocatableClusterResources(ClusterResources realResources, NodeResources advertisedResources) {
this.realResources = realResources;
- this.cost = cost;
this.advertisedResources = realResources.with(advertisedResources);
}
@@ -30,11 +28,11 @@ public class AllocatableClusterResources {
*/
public ClusterResources advertisedResources() { return advertisedResources; }
- public double cost() { return cost; }
+ public double cost() { return advertisedResources.nodes() * Autoscaler.costOf(advertisedResources.nodeResources()); }
@Override
public String toString() {
- return "$" + cost + ": " + realResources();
+ return "$" + cost() + ": " + realResources();
}
}
diff --git a/node-repository/src/main/java/com/yahoo/vespa/hosted/provision/autoscale/Autoscaler.java b/node-repository/src/main/java/com/yahoo/vespa/hosted/provision/autoscale/Autoscaler.java
index 5986b80f519..e5a39314b76 100644
--- a/node-repository/src/main/java/com/yahoo/vespa/hosted/provision/autoscale/Autoscaler.java
+++ b/node-repository/src/main/java/com/yahoo/vespa/hosted/provision/autoscale/Autoscaler.java
@@ -133,9 +133,7 @@ public class Autoscaler {
for (Flavor flavor : nodeRepository.getAvailableFlavors().getFlavors())
if (flavor.resources().satisfies(nodeResources))
return Optional.of(new AllocatableClusterResources(resources.with(nodeResources),
- costOf(nodeResources) * resources.nodes(),
- nodeResources
- ));
+ nodeResources));
return Optional.empty();
}
else {
@@ -147,7 +145,6 @@ public class Autoscaler {
if (flavor.resources().storageType() == NodeResources.StorageType.remote)
flavor = flavor.with(FlavorOverrides.ofDisk(resources.nodeResources().diskGb()));
var candidate = new AllocatableClusterResources(resources.with(flavor.resources()),
- costOf(flavor) * resources.nodes(),
hostResourcesCalculator.availableCapacityOf(flavor.name(), flavor.resources()));
if (best.isEmpty() || best.get().cost() > costOf(flavor.resources()))
@@ -184,12 +181,7 @@ public class Autoscaler {
return true;
}
- private double costOf(Flavor flavor) {
- NodeResources chargedResources = hostResourcesCalculator.availableCapacityOf(flavor.name(), flavor.resources());
- return costOf(chargedResources);
- }
-
- private double costOf(NodeResources resources) {
+ static double costOf(NodeResources resources) {
return resources.vcpu() * cpuUnitCost +
resources.memoryGb() * memoryUnitCost +
resources.diskGb() * diskUnitCost;