summaryrefslogtreecommitdiffstats
path: root/config-model
diff options
context:
space:
mode:
authorJon Bratseth <bratseth@oath.com>2019-11-08 12:19:50 +0100
committerGitHub <noreply@github.com>2019-11-08 12:19:50 +0100
commitca05589362db06d42d156968b279e99ed78053f2 (patch)
tree3c31299ca3a9ab26986a77be9b6e5049991eb3c5 /config-model
parentb1b3da2b97d27e8efb796f3469ccd0a574dffacd (diff)
parent915616a73fd57f9dc554c36edc365807e40cbefc (diff)
Merge pull request #11243 from vespa-engine/bratseth/pick-slobroks-by-index-only
Pick all slobroks by index
Diffstat (limited to 'config-model')
-rw-r--r--config-model/src/main/java/com/yahoo/vespa/model/HostResource.java28
-rw-r--r--config-model/src/main/java/com/yahoo/vespa/model/builder/xml/dom/DomAdminV4Builder.java2
-rw-r--r--config-model/src/test/java/com/yahoo/config/model/provision/ModelProvisioningTest.java26
3 files changed, 14 insertions, 42 deletions
diff --git a/config-model/src/main/java/com/yahoo/vespa/model/HostResource.java b/config-model/src/main/java/com/yahoo/vespa/model/HostResource.java
index a712d5d8e69..9f523af7ed9 100644
--- a/config-model/src/main/java/com/yahoo/vespa/model/HostResource.java
+++ b/config-model/src/main/java/com/yahoo/vespa/model/HostResource.java
@@ -185,32 +185,4 @@ public class HostResource implements Comparable<HostResource> {
return this.getHostname().compareTo(other.getHostname());
}
- public static List<HostResource> pickHosts(List<HostResource> hostsSelectedByIndex, int count) {
- return hostsSelectedByIndex.subList(0, Math.min(count, hostsSelectedByIndex.size()));
- }
-
- /**
- * Picks hosts by some mixture of host name and index
- * (where the mix of one or the other is decided by the last parameter).
- */
- // TODO: Use pickHosts with 2 arguments (above) instead of this
- public static List<HostResource> pickHosts(Collection<HostResource> hosts, int count, int targetHostsSelectedByIndex) {
- targetHostsSelectedByIndex = Math.min(Math.min(targetHostsSelectedByIndex, count), hosts.size());
-
- List<HostResource> hostsSortedByName = new ArrayList<>(hosts);
- Collections.sort(hostsSortedByName);
-
- List<HostResource> hostsSortedByIndex = new ArrayList<>(hosts);
- hostsSortedByIndex.sort((a, b) -> a.comparePrimarilyByIndexTo(b));
-
- hostsSortedByName = hostsSortedByName.subList(0, Math.min(count - targetHostsSelectedByIndex, hostsSortedByName.size()));
- hostsSortedByIndex.removeAll(hostsSortedByName);
- hostsSortedByIndex = hostsSortedByIndex.subList(0, Math.min(targetHostsSelectedByIndex, hostsSortedByIndex.size()));
-
- List<HostResource> finalHosts = new ArrayList<>();
- finalHosts.addAll(hostsSortedByName);
- finalHosts.addAll(hostsSortedByIndex);
- return finalHosts;
- }
-
}
diff --git a/config-model/src/main/java/com/yahoo/vespa/model/builder/xml/dom/DomAdminV4Builder.java b/config-model/src/main/java/com/yahoo/vespa/model/builder/xml/dom/DomAdminV4Builder.java
index aa793b3c6a2..fbd3f353d95 100644
--- a/config-model/src/main/java/com/yahoo/vespa/model/builder/xml/dom/DomAdminV4Builder.java
+++ b/config-model/src/main/java/com/yahoo/vespa/model/builder/xml/dom/DomAdminV4Builder.java
@@ -160,7 +160,7 @@ public class DomAdminV4Builder extends DomAdminBuilderBase {
.filter(container -> retired == container.isRetired())
.map(Container::getHostResource)
.collect(Collectors.toList());
- return HostResource.pickHosts(hosts, count, 1);
+ return hosts.subList(0, Math.min(count, hosts.size()));
}
private Logserver createLogserver(DeployLogger deployLogger, Admin admin, Collection<HostResource> hosts) {
diff --git a/config-model/src/test/java/com/yahoo/config/model/provision/ModelProvisioningTest.java b/config-model/src/test/java/com/yahoo/config/model/provision/ModelProvisioningTest.java
index d4457fe59cd..b8b50ba0eaa 100644
--- a/config-model/src/test/java/com/yahoo/config/model/provision/ModelProvisioningTest.java
+++ b/config-model/src/test/java/com/yahoo/config/model/provision/ModelProvisioningTest.java
@@ -691,9 +691,9 @@ public class ModelProvisioningTest {
// Check slobroks clusters
assertEquals("Includes retired node", 1+3, model.getAdmin().getSlobroks().size());
- assertEquals("node-1-3-9-01", model.getAdmin().getSlobroks().get(0).getHostName());
- assertEquals("node-1-3-9-02", model.getAdmin().getSlobroks().get(1).getHostName());
- assertEquals("node-1-3-9-10", model.getAdmin().getSlobroks().get(2).getHostName());
+ assertEquals("node-1-3-9-10", model.getAdmin().getSlobroks().get(0).getHostName());
+ assertEquals("node-1-3-9-08", model.getAdmin().getSlobroks().get(1).getHostName());
+ assertEquals("node-1-3-9-07", model.getAdmin().getSlobroks().get(2).getHostName());
assertEquals("Included in addition because it is retired", "node-1-3-9-09", model.getAdmin().getSlobroks().get(3).getHostName());
}
@@ -711,16 +711,16 @@ public class ModelProvisioningTest {
int numberOfHosts = 10;
VespaModelTester tester = new VespaModelTester();
tester.addHosts(numberOfHosts);
- VespaModel model = tester.createModel(services, true, "node-1-3-9-09", "node-1-3-9-08");
+ VespaModel model = tester.createModel(services, true, "node-1-3-9-01", "node-1-3-9-02");
assertEquals(numberOfHosts, model.getRoot().getHostSystem().getHosts().size());
// Check slobroks clusters
assertEquals("Includes retired node", 3+2, model.getAdmin().getSlobroks().size());
- assertEquals("node-1-3-9-01", model.getAdmin().getSlobroks().get(0).getHostName());
- assertEquals("node-1-3-9-02", model.getAdmin().getSlobroks().get(1).getHostName());
- assertEquals("node-1-3-9-10", model.getAdmin().getSlobroks().get(2).getHostName());
- assertEquals("Included in addition because it is retired", "node-1-3-9-08", model.getAdmin().getSlobroks().get(3).getHostName());
- assertEquals("Included in addition because it is retired", "node-1-3-9-09", model.getAdmin().getSlobroks().get(4).getHostName());
+ assertEquals("node-1-3-9-10", model.getAdmin().getSlobroks().get(0).getHostName());
+ assertEquals("node-1-3-9-09", model.getAdmin().getSlobroks().get(1).getHostName());
+ assertEquals("node-1-3-9-08", model.getAdmin().getSlobroks().get(2).getHostName());
+ assertEquals("Included in addition because it is retired", "node-1-3-9-02", model.getAdmin().getSlobroks().get(3).getHostName());
+ assertEquals("Included in addition because it is retired", "node-1-3-9-01", model.getAdmin().getSlobroks().get(4).getHostName());
}
@Test
@@ -746,13 +746,13 @@ public class ModelProvisioningTest {
// Check slobroks clusters
// ... from cluster default
assertEquals("Includes retired node", 3+3, model.getAdmin().getSlobroks().size());
- assertEquals("node-1-3-9-04", model.getAdmin().getSlobroks().get(0).getHostName());
- assertEquals("node-1-3-9-13", model.getAdmin().getSlobroks().get(1).getHostName());
+ assertEquals("node-1-3-9-13", model.getAdmin().getSlobroks().get(0).getHostName());
+ assertEquals("node-1-3-9-11", model.getAdmin().getSlobroks().get(1).getHostName());
assertEquals("Included in addition because it is retired", "node-1-3-9-12", model.getAdmin().getSlobroks().get(2).getHostName());
// ... from cluster bar
assertEquals("node-1-3-9-01", model.getAdmin().getSlobroks().get(3).getHostName());
- assertEquals("Included in addition because it is retired", "node-1-3-9-02", model.getAdmin().getSlobroks().get(4).getHostName());
- assertEquals("Included in addition because it is retired", "node-1-3-9-03", model.getAdmin().getSlobroks().get(5).getHostName());
+ assertEquals("Included in addition because it is retired", "node-1-3-9-03", model.getAdmin().getSlobroks().get(4).getHostName());
+ assertEquals("Included in addition because it is retired", "node-1-3-9-02", model.getAdmin().getSlobroks().get(5).getHostName());
}
@Test