From 78452759e689f309ec2a60b5e31a9ad7772ba7e3 Mon Sep 17 00:00:00 2001 From: Jon Bratseth Date: Wed, 4 Mar 2020 15:33:40 +0100 Subject: Simplify --- .../provision/autoscale/AllocatableClusterResources.java | 8 +++----- .../yahoo/vespa/hosted/provision/autoscale/Autoscaler.java | 12 ++---------- 2 files changed, 5 insertions(+), 15 deletions(-) (limited to 'node-repository') 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; -- cgit v1.2.3