diff options
author | Valerij Fredriksen <freva@users.noreply.github.com> | 2020-05-28 23:00:13 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2020-05-28 23:00:13 +0200 |
commit | c8a86f27e15c78f6bb1b97d0dd30a1ecace0077b (patch) | |
tree | ec7b9e6ab9e98ba61d8a9878d2b89545459dd0f1 /node-repository | |
parent | df731e25b35496ab4aada70d4c15bd6f704ea74b (diff) | |
parent | da3bafc2b3609153a2c3c12c29c3f7ed0615691a (diff) |
Merge pull request #13425 from vespa-engine/bratseth/use-real-forecast-in-initial
Use real resource forecast in initial deployment
Diffstat (limited to 'node-repository')
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); } |