summaryrefslogtreecommitdiffstats
path: root/node-repository
diff options
context:
space:
mode:
authorJon Bratseth <bratseth@verizonmedia.com>2019-11-04 16:29:31 +0100
committerJon Bratseth <bratseth@verizonmedia.com>2019-11-04 16:29:31 +0100
commit8f02974459651f94ac9c576d9d21171a22d7e7a1 (patch)
tree374742537d743bc1e0db31314a9c60b4ec71430a /node-repository
parentbd372b2cb06a89c5427523be0080324883a0602b (diff)
Preserve resources decided implicitly by policies as requested
Diffstat (limited to 'node-repository')
-rw-r--r--node-repository/src/main/java/com/yahoo/vespa/hosted/provision/provisioning/NodeRepositoryProvisioner.java8
-rw-r--r--node-repository/src/main/java/com/yahoo/vespa/hosted/provision/provisioning/NodeSpec.java4
2 files changed, 6 insertions, 6 deletions
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 f78eaf40f60..53222d25dd8 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
@@ -88,23 +88,23 @@ public class NodeRepositoryProvisioner implements Provisioner {
int effectiveGroups;
NodeSpec requestedNodes;
+ Optional<NodeResources> resources = requestedCapacity.nodeResources();
if ( requestedCapacity.type() == NodeType.tenant) {
int nodeCount = application.instance().isTester() ? 1 : capacityPolicies.decideSize(requestedCapacity, cluster.type());
if (zone.environment().isManuallyDeployed() && nodeCount < requestedCapacity.nodeCount())
logger.log(Level.INFO, "Requested " + requestedCapacity.nodeCount() + " nodes for " + cluster +
", downscaling to " + nodeCount + " nodes in " + zone.environment());
- NodeResources resources = capacityPolicies.decideNodeResources(requestedCapacity.nodeResources(), cluster);
+ resources = Optional.of(capacityPolicies.decideNodeResources(requestedCapacity.nodeResources(), cluster));
boolean exclusive = capacityPolicies.decideExclusivity(cluster.isExclusive());
effectiveGroups = wantedGroups > nodeCount ? nodeCount : wantedGroups; // cannot have more groups than nodes
- requestedNodes = NodeSpec.from(nodeCount, resources, exclusive, requestedCapacity.canFail());
+ requestedNodes = NodeSpec.from(nodeCount, resources.get(), exclusive, requestedCapacity.canFail());
}
else {
requestedNodes = NodeSpec.from(requestedCapacity.type());
effectiveGroups = 1; // type request with multiple groups is not supported
}
- return asSortedHosts(preparer.prepare(application, cluster, requestedNodes, effectiveGroups),
- requestedCapacity.nodeResources());
+ return asSortedHosts(preparer.prepare(application, cluster, requestedNodes, effectiveGroups), resources);
}
@Override
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 8eaa6662187..17297fa357d 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
@@ -80,9 +80,9 @@ public interface NodeSpec {
private final boolean exclusive;
private final boolean canFail;
- CountNodeSpec(int count, NodeResources flavor, boolean exclusive, boolean canFail) {
+ CountNodeSpec(int count, NodeResources resources, boolean exclusive, boolean canFail) {
this.count = count;
- this.requestedNodeResources = Objects.requireNonNull(flavor, "A flavor must be specified");
+ this.requestedNodeResources = Objects.requireNonNull(resources, "Resources must be specified");
this.exclusive = exclusive;
this.canFail = canFail;
}