summaryrefslogtreecommitdiffstats
path: root/node-repository
diff options
context:
space:
mode:
authorValerij Fredriksen <valerijf@verizonmedia.com>2019-09-05 23:16:45 +0200
committerValerij Fredriksen <valerijf@verizonmedia.com>2019-09-06 09:30:48 +0200
commitb3cb305579bb20a569eb7b95e43b8463d75e392a (patch)
tree089b110f68bb063954e3b34e43293682b4b0d6d0 /node-repository
parentdae6b8c3f6131c997b3809df535bebfa433bdb25 (diff)
Remove unused methods
Diffstat (limited to 'node-repository')
-rw-r--r--node-repository/src/main/java/com/yahoo/vespa/hosted/provision/provisioning/NodePrioritizer.java38
-rw-r--r--node-repository/src/test/java/com/yahoo/vespa/hosted/provision/provisioning/NodePrioritizerTest.java85
2 files changed, 1 insertions, 122 deletions
diff --git a/node-repository/src/main/java/com/yahoo/vespa/hosted/provision/provisioning/NodePrioritizer.java b/node-repository/src/main/java/com/yahoo/vespa/hosted/provision/provisioning/NodePrioritizer.java
index b56360d4561..c3d7f3ef6d7 100644
--- a/node-repository/src/main/java/com/yahoo/vespa/hosted/provision/provisioning/NodePrioritizer.java
+++ b/node-repository/src/main/java/com/yahoo/vespa/hosted/provision/provisioning/NodePrioritizer.java
@@ -8,12 +8,9 @@ import com.yahoo.config.provision.NodeType;
import com.yahoo.log.LogLevel;
import com.yahoo.vespa.hosted.provision.LockedNodeList;
import com.yahoo.vespa.hosted.provision.Node;
-import com.yahoo.vespa.hosted.provision.NodeList;
import com.yahoo.vespa.hosted.provision.node.IP;
import com.yahoo.vespa.hosted.provision.persistence.NameResolver;
-import java.util.ArrayList;
-import java.util.Collections;
import java.util.EnumSet;
import java.util.HashMap;
import java.util.List;
@@ -96,9 +93,7 @@ public class NodePrioritizer {
* @return The list of nodes sorted by PrioritizableNode::compare
*/
List<PrioritizableNode> prioritize() {
- List<PrioritizableNode> priorityList = new ArrayList<>(nodes.values());
- Collections.sort(priorityList);
- return priorityList;
+ return nodes.values().stream().sorted().collect(Collectors.toList());
}
/**
@@ -222,14 +217,6 @@ public class NodePrioritizer {
return builder.build();
}
- static boolean isPreferredNodeToBeRelocated(List<Node> nodes, Node node, Node parent) {
- NodeList list = new NodeList(nodes);
- return list.childrenOf(parent).asList().stream()
- .min(NodePrioritizer::compareForRelocation)
- .filter(n -> n.equals(node))
- .isPresent();
- }
-
private boolean isReplacement(int nofNodesInCluster, int nodeFailedNodes) {
if (nodeFailedNodes == 0) return false;
@@ -245,27 +232,4 @@ public class NodePrioritizer {
return resources(requestedNodes) != null;
}
- private static int compareForRelocation(Node a, Node b) {
- // Choose smallest node
- int capacity = NodeResourceComparator.defaultOrder().compare(a.flavor().resources(), b.flavor().resources());
- if (capacity != 0) return capacity;
-
- // Choose unallocated over allocated (this case is when we have ready docker nodes)
- if (!a.allocation().isPresent() && b.allocation().isPresent()) return -1;
- if (a.allocation().isPresent() && !b.allocation().isPresent()) return 1;
-
- // Choose container over content nodes
- if (a.allocation().isPresent() && b.allocation().isPresent()) {
- if (a.allocation().get().membership().cluster().type().equals(ClusterSpec.Type.container) &&
- !b.allocation().get().membership().cluster().type().equals(ClusterSpec.Type.container))
- return -1;
- if (!a.allocation().get().membership().cluster().type().equals(ClusterSpec.Type.container) &&
- b.allocation().get().membership().cluster().type().equals(ClusterSpec.Type.container))
- return 1;
- }
-
- // To get a stable algorithm - choose lexicographical from hostname
- return a.hostname().compareTo(b.hostname());
- }
-
}
diff --git a/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/provisioning/NodePrioritizerTest.java b/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/provisioning/NodePrioritizerTest.java
deleted file mode 100644
index 72e3df84161..00000000000
--- a/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/provisioning/NodePrioritizerTest.java
+++ /dev/null
@@ -1,85 +0,0 @@
-// Copyright 2017 Yahoo Holdings. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root.
-package com.yahoo.vespa.hosted.provision.provisioning;// Copyright 2017 Yahoo Holdings. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root.
-
-import com.yahoo.component.Version;
-import com.yahoo.config.provision.ApplicationId;
-import com.yahoo.config.provision.ClusterMembership;
-import com.yahoo.config.provision.ClusterSpec;
-import com.yahoo.config.provision.Flavor;
-import com.yahoo.config.provision.NodeFlavors;
-import com.yahoo.config.provision.NodeResources;
-import com.yahoo.config.provision.NodeType;
-import com.yahoo.config.provisioning.FlavorsConfig;
-import com.yahoo.vespa.hosted.provision.Node;
-import com.yahoo.vespa.hosted.provision.node.IP;
-import org.junit.Assert;
-import org.junit.Test;
-
-import java.time.Instant;
-import java.util.ArrayList;
-import java.util.List;
-import java.util.Optional;
-import java.util.Set;
-
-/**
- * @author smorgrav
- */
-public class NodePrioritizerTest {
-
- private static NodeFlavors flavors = new NodeFlavors(flavorsConfig());
-
- @Test
- public void relocated_nodes_are_preferred() {
- List<Node> nodes = new ArrayList<>();
- Node parent = createParent("parent");
- Node b = createNode(parent, "b", new NodeResources(2, 2, 2, 2));
- nodes.add(b);
-
- // Only one node - should be obvious what to prefer
- Assert.assertTrue(NodePrioritizer.isPreferredNodeToBeRelocated(nodes, b, parent));
-
- // Two equal nodes - choose lexically
- Node a = createNode(parent, "a", new NodeResources(2, 2, 2, 2));
- nodes.add(a);
- Assert.assertTrue(NodePrioritizer.isPreferredNodeToBeRelocated(nodes, a, parent));
- Assert.assertFalse(NodePrioritizer.isPreferredNodeToBeRelocated(nodes, b, parent));
-
- // Smallest node should be preferred
- Node c = createNode(parent, "c", new NodeResources(1, 1, 1, 1));
- nodes.add(c);
- Assert.assertTrue(NodePrioritizer.isPreferredNodeToBeRelocated(nodes, c, parent));
-
- // Unallocated over allocated
- ClusterSpec spec = ClusterSpec.from(ClusterSpec.Type.content, ClusterSpec.Id.from("mycluster"), ClusterSpec.Group.from(0), Version.fromString("6.142.22"), false);
- c = c.allocate(ApplicationId.defaultId(), ClusterMembership.from(spec, 0), Instant.now());
- nodes.remove(c);
- nodes.add(c);
- Node d = createNode(parent, "d", new NodeResources(1, 1, 1, 1));
- nodes.add(d);
- Assert.assertTrue(NodePrioritizer.isPreferredNodeToBeRelocated(nodes, d, parent));
- Assert.assertFalse(NodePrioritizer.isPreferredNodeToBeRelocated(nodes, c, parent));
-
- // Container over content
- ClusterSpec spec2 = ClusterSpec.from(ClusterSpec.Type.container, ClusterSpec.Id.from("mycluster"), ClusterSpec.Group.from(0), Version.fromString("6.142.22"), false);
- d = d.allocate(ApplicationId.defaultId(), ClusterMembership.from(spec2, 0), Instant.now());
- nodes.remove(d);
- nodes.add(d);
- Assert.assertFalse(NodePrioritizer.isPreferredNodeToBeRelocated(nodes, c, parent));
- Assert.assertTrue(NodePrioritizer.isPreferredNodeToBeRelocated(nodes, d, parent));
- }
-
- private static Node createNode(Node parent, String hostname, NodeResources resources) {
- return Node.createDockerNode(Set.of("127.0.0.1"), hostname, parent.hostname(), resources, NodeType.tenant);
- }
-
- private static Node createParent(String hostname) {
- return Node.create("openid", new IP.Config(Set.of("127.0.0.1"), Set.of()), hostname, Optional.empty(),
- Optional.empty(), flavors.getFlavorOrThrow("host-large"), NodeType.host);
- }
-
- private static FlavorsConfig flavorsConfig() {
- FlavorConfigBuilder b = new FlavorConfigBuilder();
- b.addFlavor("host-large", 6., 6., 6, 6, Flavor.Type.BARE_METAL);
- return b.build();
- }
-}