diff options
author | Jon Bratseth <bratseth@vespa.ai> | 2023-07-12 10:44:18 +0200 |
---|---|---|
committer | Jon Bratseth <bratseth@vespa.ai> | 2023-07-12 10:44:18 +0200 |
commit | 20a4805e4289db5914a7d846467e5b8c5f55f122 (patch) | |
tree | 1c954057b4719b30ccc57a066668ff5909f015d3 | |
parent | a73e7075523aaf2c9fd999da72fc42edc58466e5 (diff) |
Simplify
2 files changed, 8 insertions, 9 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 ebaa8a1b9c4..43b8cd08989 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 @@ -238,6 +238,7 @@ public class NodeRepositoryProvisioner implements Provisioner { } private List<HostSpec> asSortedHosts(List<Node> nodes, NodeResources requestedResources) { + nodes = new ArrayList<>(nodes); nodes.sort(Comparator.comparingInt(node -> node.allocation().get().membership().index())); List<HostSpec> hosts = new ArrayList<>(nodes.size()); for (Node node : nodes) { diff --git a/node-repository/src/main/java/com/yahoo/vespa/hosted/provision/provisioning/Preparer.java b/node-repository/src/main/java/com/yahoo/vespa/hosted/provision/provisioning/Preparer.java index d30323063cb..0617eaff9d9 100644 --- a/node-repository/src/main/java/com/yahoo/vespa/hosted/provision/provisioning/Preparer.java +++ b/node-repository/src/main/java/com/yahoo/vespa/hosted/provision/provisioning/Preparer.java @@ -30,14 +30,14 @@ class Preparer { } /** Prepare all required resources for the given application and cluster */ - public List<Node> prepare(ApplicationId application, ClusterSpec cluster, NodeSpec requestedNodes) { + public List<Node> prepare(ApplicationId application, ClusterSpec cluster, NodeSpec requested) { try { - var nodes = prepareNodes(application, cluster, requestedNodes); - prepareLoadBalancer(application, cluster, requestedNodes); + var nodes = prepareNodes(application, cluster, requested); + prepareLoadBalancer(application, cluster, requested); return nodes; } catch (NodeAllocationException e) { - throw new NodeAllocationException("Could not satisfy " + requestedNodes + + throw new NodeAllocationException("Could not satisfy " + requested + " in " + application + " " + cluster, e, e.retryable()); } @@ -52,14 +52,12 @@ class Preparer { // but it may not change the set of active nodes, as the active nodes must stay in sync with the // active config model which is changed on activate private List<Node> prepareNodes(ApplicationId application, ClusterSpec cluster, NodeSpec requested) { - LockedNodeList allNodes = groupPreparer.createUnlockedNodeList(); - List<Node> accepted = groupPreparer.prepare(application, cluster, requested, allNodes); - return new ArrayList<>(accepted); + return groupPreparer.prepare(application, cluster, requested, groupPreparer.createUnlockedNodeList()); } /** Prepare a load balancer for given application and cluster */ - public void prepareLoadBalancer(ApplicationId application, ClusterSpec cluster, NodeSpec requestedNodes) { - loadBalancerProvisioner.ifPresent(provisioner -> provisioner.prepare(application, cluster, requestedNodes)); + public void prepareLoadBalancer(ApplicationId application, ClusterSpec cluster, NodeSpec requested) { + loadBalancerProvisioner.ifPresent(provisioner -> provisioner.prepare(application, cluster, requested)); } } |