aboutsummaryrefslogtreecommitdiffstats
path: root/node-repository/src/main
diff options
context:
space:
mode:
authorJon Bratseth <bratseth@gmail.com>2022-11-17 13:26:36 +0100
committerJon Bratseth <bratseth@gmail.com>2022-11-17 13:26:36 +0100
commitf0b5b4aa5142c3f9e36ecb18b28a0aa2535c72bc (patch)
tree59a05cce5099356d2fdebfd3ebac59c19c256187 /node-repository/src/main
parent22413c3ad0c0d27f8af4df8bd0c80019d90a0fbe (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')
-rw-r--r--node-repository/src/main/java/com/yahoo/vespa/hosted/provision/autoscale/AllocatableClusterResources.java4
-rw-r--r--node-repository/src/main/java/com/yahoo/vespa/hosted/provision/autoscale/AllocationOptimizer.java5
-rw-r--r--node-repository/src/main/java/com/yahoo/vespa/hosted/provision/autoscale/ClusterModel.java2
-rw-r--r--node-repository/src/main/java/com/yahoo/vespa/hosted/provision/provisioning/NodeSpec.java4
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