diff options
author | Jon Bratseth <bratseth@gmail.com> | 2022-11-17 13:26:36 +0100 |
---|---|---|
committer | Jon Bratseth <bratseth@gmail.com> | 2022-11-17 13:26:36 +0100 |
commit | f0b5b4aa5142c3f9e36ecb18b28a0aa2535c72bc (patch) | |
tree | 59a05cce5099356d2fdebfd3ebac59c19c256187 /node-repository/src/main | |
parent | 22413c3ad0c0d27f8af4df8bd0c80019d90a0fbe (diff) |
Mostly test with AWS setup
- AWS adds the complexity of advertised vs. real which we
want to test as much as possible.
- Testing with host sharing as that provuces accurate
resource numbers.
Diffstat (limited to 'node-repository/src/main')
4 files changed, 7 insertions, 8 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 0e9683a1a78..389be5b6652 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 @@ -144,8 +144,9 @@ public class AllocatableClusterResources { private static NodeResources averageRealResourcesOf(List<Node> nodes, NodeRepository nodeRepository) { NodeResources sum = new NodeResources(0, 0, 0, 0).justNumbers(); - for (Node node : nodes) + for (Node node : nodes) { sum = sum.add(nodeRepository.resourcesCalculator().realResourcesOf(node, nodeRepository).justNumbers()); + } return nodes.get(0).allocation().get().requestedResources().justNonNumbers() .withVcpu(sum.vcpu() / nodes.size()) .withMemoryGb(sum.memoryGb() / nodes.size()) @@ -197,7 +198,6 @@ public class AllocatableClusterResources { if ( ! between(applicationLimits.min().nodeResources(), applicationLimits.max().nodeResources(), advertisedResources)) continue; if ( ! systemLimits.isWithinRealLimits(realResources, clusterSpec.type())) continue; - var candidate = new AllocatableClusterResources(wantedResources.with(realResources), advertisedResources, wantedResources, diff --git a/node-repository/src/main/java/com/yahoo/vespa/hosted/provision/autoscale/AllocationOptimizer.java b/node-repository/src/main/java/com/yahoo/vespa/hosted/provision/autoscale/AllocationOptimizer.java index 1c99ea7dc08..56a6d61ebee 100644 --- a/node-repository/src/main/java/com/yahoo/vespa/hosted/provision/autoscale/AllocationOptimizer.java +++ b/node-repository/src/main/java/com/yahoo/vespa/hosted/provision/autoscale/AllocationOptimizer.java @@ -3,10 +3,8 @@ package com.yahoo.vespa.hosted.provision.autoscale; import com.yahoo.config.provision.ClusterResources; import com.yahoo.config.provision.NodeResources; -import com.yahoo.vespa.hosted.provision.NodeList; import com.yahoo.vespa.hosted.provision.NodeRepository; -import java.util.List; import java.util.Optional; /** @@ -60,8 +58,9 @@ public class AllocationOptimizer { var allocatableResources = AllocatableClusterResources.from(resources, current.clusterSpec(), limits, availableRealHostResources, nodeRepository); if (allocatableResources.isEmpty()) continue; - if (bestAllocation.isEmpty() || allocatableResources.get().preferableTo(bestAllocation.get())) + if (bestAllocation.isEmpty() || allocatableResources.get().preferableTo(bestAllocation.get())) { bestAllocation = allocatableResources; + } } } return bestAllocation; diff --git a/node-repository/src/main/java/com/yahoo/vespa/hosted/provision/autoscale/ClusterModel.java b/node-repository/src/main/java/com/yahoo/vespa/hosted/provision/autoscale/ClusterModel.java index 22a6a5812b2..c9167c3a87b 100644 --- a/node-repository/src/main/java/com/yahoo/vespa/hosted/provision/autoscale/ClusterModel.java +++ b/node-repository/src/main/java/com/yahoo/vespa/hosted/provision/autoscale/ClusterModel.java @@ -198,7 +198,7 @@ public class ClusterModel { } /** - * Returns the ideal load across the nodes of this sich that each node will be at ideal load + * Returns the ideal load across the nodes of this such that each node will be at ideal load * if one of the nodes go down. */ public Load idealLoad() { diff --git a/node-repository/src/main/java/com/yahoo/vespa/hosted/provision/provisioning/NodeSpec.java b/node-repository/src/main/java/com/yahoo/vespa/hosted/provision/provisioning/NodeSpec.java index 54c24977fef..1525dbe1008 100644 --- a/node-repository/src/main/java/com/yahoo/vespa/hosted/provision/provisioning/NodeSpec.java +++ b/node-repository/src/main/java/com/yahoo/vespa/hosted/provision/provisioning/NodeSpec.java @@ -116,7 +116,7 @@ public interface NodeSpec { @Override public boolean isCompatible(NodeResources resources) { - return requestedNodeResources.compatibleWith(resources); + return resources.equalsWhereSpecified(requestedNodeResources); } @Override @@ -148,7 +148,7 @@ public interface NodeSpec { @Override public boolean needsResize(Node node) { - return ! node.resources().compatibleWith(requestedNodeResources); + return ! node.resources().equalsWhereSpecified(requestedNodeResources); } @Override |