summaryrefslogtreecommitdiffstats
path: root/node-repository
diff options
context:
space:
mode:
authorJon Bratseth <bratseth@gmail.com>2020-05-28 22:28:08 +0200
committerJon Bratseth <bratseth@gmail.com>2020-05-28 22:28:08 +0200
commitda3bafc2b3609153a2c3c12c29c3f7ed0615691a (patch)
tree68e9de8b2a08605587e70d90e95648265c523439 /node-repository
parent392706b822d0517f933cf58fca0277b192272bc5 (diff)
Use real resource forecast in initial deployment
Diffstat (limited to 'node-repository')
-rw-r--r--node-repository/src/main/java/com/yahoo/vespa/hosted/provision/autoscale/AllocatableClusterResources.java6
-rw-r--r--node-repository/src/main/java/com/yahoo/vespa/hosted/provision/provisioning/NodeRepositoryProvisioner.java4
-rw-r--r--node-repository/src/test/java/com/yahoo/vespa/hosted/provision/provisioning/DynamicDockerProvisionTest.java4
3 files changed, 9 insertions, 5 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 84f0b962d34..59dbe4bb8d4 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
@@ -32,10 +32,12 @@ public class AllocatableClusterResources {
private final double fulfilment;
/** Fake allocatable resources from requested capacity */
- public AllocatableClusterResources(ClusterResources requested, ClusterSpec.Type clusterType) {
+ public AllocatableClusterResources(ClusterResources requested,
+ ClusterSpec.Type clusterType,
+ NodeRepository nodeRepository) {
this.nodes = requested.nodes();
this.groups = requested.groups();
- this.realResources = requested.nodeResources(); // we don't know
+ this.realResources = nodeRepository.resourcesCalculator().requestToReal(requested.nodeResources());
this.advertisedResources = requested.nodeResources();
this.clusterType = clusterType;
this.fulfilment = 1;
diff --git a/node-repository/src/main/java/com/yahoo/vespa/hosted/provision/provisioning/NodeRepositoryProvisioner.java b/node-repository/src/main/java/com/yahoo/vespa/hosted/provision/provisioning/NodeRepositoryProvisioner.java
index 3ddfb646cf3..59fca955a68 100644
--- a/node-repository/src/main/java/com/yahoo/vespa/hosted/provision/provisioning/NodeRepositoryProvisioner.java
+++ b/node-repository/src/main/java/com/yahoo/vespa/hosted/provision/provisioning/NodeRepositoryProvisioner.java
@@ -159,7 +159,9 @@ public class NodeRepositoryProvisioner implements Provisioner {
.not().removable()
.asList();
AllocatableClusterResources currentResources =
- nodes.isEmpty() ? new AllocatableClusterResources(requested.minResources(), clusterSpec.type()) // new deployment: Use min
+ nodes.isEmpty() ? new AllocatableClusterResources(requested.minResources(),
+ clusterSpec.type(),
+ nodeRepository) // new deployment: Use min
: new AllocatableClusterResources(nodes, nodeRepository);
return within(Limits.of(requested), clusterSpec.isExclusive(), currentResources);
}
diff --git a/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/provisioning/DynamicDockerProvisionTest.java b/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/provisioning/DynamicDockerProvisionTest.java
index ea0d78e3015..25387a2746c 100644
--- a/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/provisioning/DynamicDockerProvisionTest.java
+++ b/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/provisioning/DynamicDockerProvisionTest.java
@@ -192,14 +192,14 @@ public class DynamicDockerProvisionTest {
tester.activate(app1, cluster1, Capacity.from(resources(2, 1, 2, 20, 40),
resources(4, 1, 2, 20, 40)));
tester.assertNodes("Allocation specifies memory in the advertised amount",
- 3, 1, 2, 20, 40,
+ 2, 1, 2, 20, 40,
app1, cluster1);
// Redeploy the same
tester.activate(app1, cluster1, Capacity.from(resources(2, 1, 2, 20, 40),
resources(4, 1, 2, 20, 40)));
tester.assertNodes("Allocation specifies memory in the advertised amount",
- 3, 1, 2, 20, 40,
+ 2, 1, 2, 20, 40,
app1, cluster1);
}