diff options
Diffstat (limited to 'node-repository/src/main')
3 files changed, 8 insertions, 25 deletions
diff --git a/node-repository/src/main/java/com/yahoo/vespa/hosted/provision/restapi/NodePatcher.java b/node-repository/src/main/java/com/yahoo/vespa/hosted/provision/restapi/NodePatcher.java index 1f0244c8e40..64f3ff9f5ba 100644 --- a/node-repository/src/main/java/com/yahoo/vespa/hosted/provision/restapi/NodePatcher.java +++ b/node-repository/src/main/java/com/yahoo/vespa/hosted/provision/restapi/NodePatcher.java @@ -14,9 +14,6 @@ import com.yahoo.slime.Inspector; import com.yahoo.slime.ObjectTraverser; import com.yahoo.slime.SlimeUtils; import com.yahoo.slime.Type; -import com.yahoo.vespa.flags.BooleanFlag; -import com.yahoo.vespa.flags.FlagSource; -import com.yahoo.vespa.flags.Flags; import com.yahoo.vespa.hosted.provision.LockedNodeList; import com.yahoo.vespa.hosted.provision.Node; import com.yahoo.vespa.hosted.provision.NodeList; @@ -68,13 +65,11 @@ public class NodePatcher { private final NodeRepository nodeRepository; private final NodeFlavors nodeFlavors; private final Clock clock; - private final BooleanFlag recursiveWantToDeprovision; - public NodePatcher(NodeFlavors nodeFlavors, NodeRepository nodeRepository, FlagSource flagSource) { + public NodePatcher(NodeFlavors nodeFlavors, NodeRepository nodeRepository) { this.nodeRepository = nodeRepository; this.nodeFlavors = nodeFlavors; this.clock = nodeRepository.clock(); - this.recursiveWantToDeprovision = Flags.RECURSIVE_WANT_TO_DEPROVISION.bindTo(flagSource); } /** @@ -200,7 +195,6 @@ public class NodePatcher { // These needs to be handled as one, because certain combinations are not allowed. return node.withWantToRetire(asOptionalBoolean(root.field(WANT_TO_RETIRE)).orElseGet(node.status()::wantToRetire), asOptionalBoolean(root.field(WANT_TO_DEPROVISION)) - .filter(want -> recursiveWantToDeprovision.value() || !applyingAsChild) .orElseGet(node.status()::wantToDeprovision), asOptionalBoolean(root.field(WANT_TO_REBUILD)) .filter(want -> !applyingAsChild) diff --git a/node-repository/src/main/java/com/yahoo/vespa/hosted/provision/restapi/NodesResponse.java b/node-repository/src/main/java/com/yahoo/vespa/hosted/provision/restapi/NodesResponse.java index fd466108063..d09ff1b84fc 100644 --- a/node-repository/src/main/java/com/yahoo/vespa/hosted/provision/restapi/NodesResponse.java +++ b/node-repository/src/main/java/com/yahoo/vespa/hosted/provision/restapi/NodesResponse.java @@ -16,7 +16,6 @@ import com.yahoo.vespa.flags.FetchVector; import com.yahoo.vespa.flags.PermanentFlags; import com.yahoo.vespa.flags.StringFlag; import com.yahoo.vespa.hosted.provision.Node; -import com.yahoo.vespa.hosted.provision.NodeList; import com.yahoo.vespa.hosted.provision.NodeRepository; import com.yahoo.vespa.hosted.provision.node.Address; import com.yahoo.vespa.hosted.provision.node.Allocation; @@ -107,17 +106,11 @@ class NodesResponse extends SlimeJsonResponse { /** Outputs the nodes in the given states to a node array */ private void nodesToSlime(Set<Node.State> states, Cursor parentObject) { Cursor nodeArray = parentObject.setArray("nodes"); - NodeList nodes = nodeRepository.nodes().list() - .state(states) - .sortedBy(Comparator.comparing(Node::hostname)); - toSlime(nodes, nodeArray); - } - - private void toSlime(NodeList nodes, Cursor array) { - for (Node node : nodes) { - if ( ! filter.test(node)) continue; - toSlime(node, recursive, array.addObject()); - } + nodeRepository.nodes().list() + .state(states) + .matching(filter) + .sortedBy(Comparator.comparing(Node::hostname)) + .forEach(node -> toSlime(node, recursive, nodeArray.addObject())); } private void nodeToSlime(String hostname, Cursor object) { diff --git a/node-repository/src/main/java/com/yahoo/vespa/hosted/provision/restapi/NodesV2ApiHandler.java b/node-repository/src/main/java/com/yahoo/vespa/hosted/provision/restapi/NodesV2ApiHandler.java index cde951d1bf1..b1a66e34c9e 100644 --- a/node-repository/src/main/java/com/yahoo/vespa/hosted/provision/restapi/NodesV2ApiHandler.java +++ b/node-repository/src/main/java/com/yahoo/vespa/hosted/provision/restapi/NodesV2ApiHandler.java @@ -26,7 +26,6 @@ import com.yahoo.slime.Cursor; import com.yahoo.slime.Inspector; import com.yahoo.slime.Slime; import com.yahoo.slime.SlimeUtils; -import com.yahoo.vespa.flags.FlagSource; import com.yahoo.vespa.hosted.provision.NoSuchNodeException; import com.yahoo.vespa.hosted.provision.Node; import com.yahoo.vespa.hosted.provision.NodeList; @@ -76,16 +75,13 @@ public class NodesV2ApiHandler extends ThreadedHttpRequestHandler { private final Orchestrator orchestrator; private final NodeRepository nodeRepository; private final NodeFlavors nodeFlavors; - private final FlagSource flagSource; @Inject - public NodesV2ApiHandler(ThreadedHttpRequestHandler.Context parentCtx, Orchestrator orchestrator, - NodeRepository nodeRepository, NodeFlavors flavors, FlagSource flagSource) { + public NodesV2ApiHandler(Context parentCtx, Orchestrator orchestrator, NodeRepository nodeRepository, NodeFlavors flavors) { super(parentCtx); this.orchestrator = orchestrator; this.nodeRepository = nodeRepository; this.nodeFlavors = flavors; - this.flagSource = flagSource; } @Override @@ -172,7 +168,7 @@ public class NodesV2ApiHandler extends ThreadedHttpRequestHandler { private HttpResponse handlePATCH(HttpRequest request) { Path path = new Path(request.getUri()); if (path.matches("/nodes/v2/node/{hostname}")) { - NodePatcher patcher = new NodePatcher(nodeFlavors, nodeRepository, flagSource); + NodePatcher patcher = new NodePatcher(nodeFlavors, nodeRepository); String hostname = path.get("hostname"); if (isTenantPeer(request)) { patcher.patchFromUntrustedTenantHost(hostname, request.getData()); |