aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJon Bratseth <bratseth@gmail.com>2021-02-09 22:11:33 +0100
committerJon Bratseth <bratseth@gmail.com>2021-02-09 22:11:33 +0100
commit55966811bea4d23a7bba84e2145dabfb2bcd68e1 (patch)
treef892524e73818eba804946a0d814d2bee6d0a2b2
parent7a9fe3fa0024c5dd995c1f48584bc7fab5284299 (diff)
Remove getNodes(...): Always use list(...)
-rw-r--r--node-repository/src/main/java/com/yahoo/vespa/hosted/provision/autoscale/Autoscaler.java2
-rw-r--r--node-repository/src/main/java/com/yahoo/vespa/hosted/provision/maintenance/MaintenanceDeployment.java4
-rw-r--r--node-repository/src/main/java/com/yahoo/vespa/hosted/provision/node/Nodes.java10
-rw-r--r--node-repository/src/main/java/com/yahoo/vespa/hosted/provision/provisioning/NodeRepositoryProvisioner.java2
-rw-r--r--node-repository/src/main/java/com/yahoo/vespa/hosted/provision/provisioning/Preparer.java4
-rw-r--r--node-repository/src/main/java/com/yahoo/vespa/hosted/provision/restapi/NodesV2ApiHandler.java2
-rw-r--r--node-repository/src/main/java/com/yahoo/vespa/hosted/provision/testutils/ServiceMonitorStub.java2
-rw-r--r--node-repository/src/test/java/com/yahoo/vespa/hosted/provision/autoscale/AutoscalingTest.java4
-rw-r--r--node-repository/src/test/java/com/yahoo/vespa/hosted/provision/autoscale/AutoscalingTester.java9
-rw-r--r--node-repository/src/test/java/com/yahoo/vespa/hosted/provision/autoscale/MetricsV2MetricsFetcherTest.java4
-rw-r--r--node-repository/src/test/java/com/yahoo/vespa/hosted/provision/maintenance/AutoscalingMaintainerTester.java3
-rw-r--r--node-repository/src/test/java/com/yahoo/vespa/hosted/provision/maintenance/LoadBalancerExpirerTest.java2
-rw-r--r--node-repository/src/test/java/com/yahoo/vespa/hosted/provision/maintenance/NodeFailTester.java13
-rw-r--r--node-repository/src/test/java/com/yahoo/vespa/hosted/provision/maintenance/NodeFailerTest.java22
-rw-r--r--node-repository/src/test/java/com/yahoo/vespa/hosted/provision/maintenance/OperatorChangeApplicationMaintainerTest.java12
-rw-r--r--node-repository/src/test/java/com/yahoo/vespa/hosted/provision/maintenance/PeriodicApplicationMaintainerTest.java26
-rw-r--r--node-repository/src/test/java/com/yahoo/vespa/hosted/provision/maintenance/RebalancerTest.java4
-rw-r--r--node-repository/src/test/java/com/yahoo/vespa/hosted/provision/maintenance/RetiredExpirerTest.java28
-rw-r--r--node-repository/src/test/java/com/yahoo/vespa/hosted/provision/maintenance/ScalingSuggestionsMaintainerTest.java3
-rw-r--r--node-repository/src/test/java/com/yahoo/vespa/hosted/provision/provisioning/AclProvisioningTest.java25
-rw-r--r--node-repository/src/test/java/com/yahoo/vespa/hosted/provision/provisioning/DynamicDockerAllocationTest.java12
-rw-r--r--node-repository/src/test/java/com/yahoo/vespa/hosted/provision/provisioning/DynamicDockerProvisionTest.java4
-rw-r--r--node-repository/src/test/java/com/yahoo/vespa/hosted/provision/provisioning/LoadBalancerProvisionerTest.java13
-rw-r--r--node-repository/src/test/java/com/yahoo/vespa/hosted/provision/provisioning/ProvisioningTest.java47
-rw-r--r--node-repository/src/test/java/com/yahoo/vespa/hosted/provision/provisioning/ProvisioningTester.java28
25 files changed, 143 insertions, 142 deletions
diff --git a/node-repository/src/main/java/com/yahoo/vespa/hosted/provision/autoscale/Autoscaler.java b/node-repository/src/main/java/com/yahoo/vespa/hosted/provision/autoscale/Autoscaler.java
index 81fa7ed2d4b..2f01f6b31ae 100644
--- a/node-repository/src/main/java/com/yahoo/vespa/hosted/provision/autoscale/Autoscaler.java
+++ b/node-repository/src/main/java/com/yahoo/vespa/hosted/provision/autoscale/Autoscaler.java
@@ -176,7 +176,7 @@ public class Autoscaler {
return false;
// A deployment is ongoing
- if (nodeRepository.nodes().getNodes(nodes.first().get().allocation().get().owner(), Node.State.reserved).size() > 0)
+ if (nodeRepository.nodes().list(nodes.first().get().allocation().get().owner(), Node.State.reserved).size() > 0)
return false;
return true;
diff --git a/node-repository/src/main/java/com/yahoo/vespa/hosted/provision/maintenance/MaintenanceDeployment.java b/node-repository/src/main/java/com/yahoo/vespa/hosted/provision/maintenance/MaintenanceDeployment.java
index e8f216c793a..47712847754 100644
--- a/node-repository/src/main/java/com/yahoo/vespa/hosted/provision/maintenance/MaintenanceDeployment.java
+++ b/node-repository/src/main/java/com/yahoo/vespa/hosted/provision/maintenance/MaintenanceDeployment.java
@@ -116,7 +116,7 @@ class MaintenanceDeployment implements Closeable {
Deployer deployer,
NodeRepository nodeRepository) {
if (lock.isEmpty()) return Optional.empty();
- if (nodeRepository.nodes().getNodes(application, Node.State.active).isEmpty()) return Optional.empty();
+ if (nodeRepository.nodes().list(application, Node.State.active).isEmpty()) return Optional.empty();
return deployer.deployFromLocalActive(application);
}
@@ -168,7 +168,7 @@ class MaintenanceDeployment implements Closeable {
if ( ! deployment.prepare()) return false;
if (verifyTarget) {
expectedNewNode =
- nodeRepository.nodes().getNodes(application, Node.State.reserved).stream()
+ nodeRepository.nodes().list(application, Node.State.reserved).stream()
.filter(n -> !n.hostname().equals(node.hostname()))
.filter(n -> n.allocation().get().membership().cluster().id().equals(node.allocation().get().membership().cluster().id()))
.findAny();
diff --git a/node-repository/src/main/java/com/yahoo/vespa/hosted/provision/node/Nodes.java b/node-repository/src/main/java/com/yahoo/vespa/hosted/provision/node/Nodes.java
index b235d6b0ff0..904bf08676d 100644
--- a/node-repository/src/main/java/com/yahoo/vespa/hosted/provision/node/Nodes.java
+++ b/node-repository/src/main/java/com/yahoo/vespa/hosted/provision/node/Nodes.java
@@ -100,12 +100,7 @@ public class Nodes {
* @param inState the states to return nodes from. If no states are given, all nodes of the given type are returned
*/
public NodeList list(ApplicationId application, Node.State... inState) {
- return NodeList.copyOf(getNodes(application, inState));
- }
-
- /** Returns a filterable list of all nodes of an application */
- public NodeList list(ApplicationId application) {
- return NodeList.copyOf(getNodes(application));
+ return NodeList.copyOf(db.readNodes(application, inState));
}
/** Returns a locked list of all nodes in this repository */
@@ -113,7 +108,6 @@ public class Nodes {
return new LockedNodeList(list().asList(), lock);
}
- public List<Node> getNodes(ApplicationId id, Node.State... inState) { return db.readNodes(id, inState); }
public List<Node> getInactive() { return db.readNodes(Node.State.inactive); }
public List<Node> getFailed() { return db.readNodes(Node.State.failed); }
@@ -421,7 +415,7 @@ public class Nodes {
// TODO: Work out a safe lock acquisition strategy for moves, e.g. migrate to lockNode.
try (Mutex lock = lock(node)) {
if (toState == Node.State.active) {
- for (Node currentActive : getNodes(node.allocation().get().owner(), Node.State.active)) {
+ for (Node currentActive : list(node.allocation().get().owner(), Node.State.active)) {
if (node.allocation().get().membership().cluster().equals(currentActive.allocation().get().membership().cluster())
&& node.allocation().get().membership().index() == currentActive.allocation().get().membership().index())
illegal("Could not set " + node + " active: Same cluster and index as " + currentActive);
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 825ea82e95c..a5057bd1134 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
@@ -150,7 +150,7 @@ public class NodeRepositoryProvisioner implements Provisioner {
private ClusterResources currentResources(ApplicationId applicationId,
ClusterSpec clusterSpec,
Capacity requested) {
- List<Node> nodes = NodeList.copyOf(nodeRepository.nodes().getNodes(applicationId, Node.State.active))
+ List<Node> nodes = nodeRepository.nodes().list(applicationId, Node.State.active)
.cluster(clusterSpec.id())
.not().retired()
.not().removable()
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 18ab9b70491..41a6b0d42b1 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
@@ -85,7 +85,7 @@ class Preparer {
*/
private List<Node> findNodesInRemovableGroups(ApplicationId application, ClusterSpec requestedCluster, int wantedGroups) {
List<Node> surplusNodes = new ArrayList<>(0);
- for (Node node : nodeRepository.nodes().getNodes(application, Node.State.active)) {
+ for (Node node : nodeRepository.nodes().list(application, Node.State.active)) {
ClusterSpec nodeCluster = node.allocation().get().membership().cluster();
if ( ! nodeCluster.id().equals(requestedCluster.id())) continue;
if ( ! nodeCluster.type().equals(requestedCluster.type())) continue;
@@ -127,7 +127,7 @@ class Preparer {
*/
private int findHighestIndex(ApplicationId application, ClusterSpec cluster) {
int highestIndex = -1;
- for (Node node : nodeRepository.nodes().getNodes(application, Node.State.allocatedStates().toArray(new Node.State[0]))) {
+ for (Node node : nodeRepository.nodes().list(application, Node.State.allocatedStates().toArray(new Node.State[0]))) {
ClusterSpec nodeCluster = node.allocation().get().membership().cluster();
if ( ! nodeCluster.id().equals(cluster.id())) continue;
if ( ! nodeCluster.type().equals(cluster.type())) continue;
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 a6a58b6a9dd..b872e2cd9cb 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
@@ -435,7 +435,7 @@ public class NodesV2ApiHandler extends LoggingRequestHandler {
if (application.isEmpty())
return ErrorResponse.notFoundError("No application '" + id + "'");
Slime slime = ApplicationSerializer.toSlime(application.get(),
- nodeRepository.nodes().getNodes(id, Node.State.active),
+ nodeRepository.nodes().list(id, Node.State.active).asList(),
withPath("/nodes/v2/applications/" + id, uri));
return new SlimeJsonResponse(slime);
}
diff --git a/node-repository/src/main/java/com/yahoo/vespa/hosted/provision/testutils/ServiceMonitorStub.java b/node-repository/src/main/java/com/yahoo/vespa/hosted/provision/testutils/ServiceMonitorStub.java
index ce30baa3862..d2a2544c89c 100644
--- a/node-repository/src/main/java/com/yahoo/vespa/hosted/provision/testutils/ServiceMonitorStub.java
+++ b/node-repository/src/main/java/com/yahoo/vespa/hosted/provision/testutils/ServiceMonitorStub.java
@@ -70,7 +70,7 @@ public class ServiceMonitorStub implements ServiceMonitor {
Map<ApplicationInstanceReference, ApplicationInstance> status = new HashMap<>();
for (Map.Entry<ApplicationId, MockDeployer.ApplicationContext> app : apps.entrySet()) {
Set<ServiceInstance> serviceInstances = new HashSet<>();
- for (Node node : nodeRepository.nodes().getNodes(app.getValue().id(), Node.State.active)) {
+ for (Node node : nodeRepository.nodes().list(app.getValue().id(), Node.State.active)) {
serviceInstances.add(new ServiceInstance(new ConfigId("configid"),
new HostName(node.hostname()),
getHostStatus(node.hostname())));
diff --git a/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/autoscale/AutoscalingTest.java b/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/autoscale/AutoscalingTest.java
index a5f3d5f2828..dbb8c00e44d 100644
--- a/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/autoscale/AutoscalingTest.java
+++ b/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/autoscale/AutoscalingTest.java
@@ -116,7 +116,7 @@ public class AutoscalingTest {
// deploy with slow
tester.deploy(application1, cluster1, 5, 1, hostResources);
- tester.nodeRepository().nodes().getNodes(application1).stream()
+ tester.nodeRepository().nodes().list(application1).stream()
.allMatch(n -> n.allocation().get().requestedResources().diskSpeed() == NodeResources.DiskSpeed.slow);
tester.clock().advance(Duration.ofDays(2));
@@ -132,7 +132,7 @@ public class AutoscalingTest {
assertEquals("Disk speed from min/max is used",
NodeResources.DiskSpeed.any, scaledResources.nodeResources().diskSpeed());
tester.deploy(application1, cluster1, scaledResources);
- tester.nodeRepository().nodes().getNodes(application1).stream()
+ tester.nodeRepository().nodes().list(application1).stream()
.allMatch(n -> n.allocation().get().requestedResources().diskSpeed() == NodeResources.DiskSpeed.any);
}
diff --git a/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/autoscale/AutoscalingTester.java b/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/autoscale/AutoscalingTester.java
index e3148ad5de0..8a7f439304d 100644
--- a/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/autoscale/AutoscalingTester.java
+++ b/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/autoscale/AutoscalingTester.java
@@ -17,6 +17,7 @@ import com.yahoo.config.provision.Zone;
import com.yahoo.test.ManualClock;
import com.yahoo.transaction.Mutex;
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.Nodelike;
import com.yahoo.vespa.hosted.provision.applications.Application;
@@ -105,7 +106,7 @@ class AutoscalingTester {
public void deactivateRetired(ApplicationId application, ClusterSpec cluster, ClusterResources resources) {
try (Mutex lock = nodeRepository().nodes().lock(application)){
- for (Node node : nodeRepository().nodes().getNodes(application, Node.State.active)) {
+ for (Node node : nodeRepository().nodes().list(application, Node.State.active)) {
if (node.allocation().get().membership().retired())
nodeRepository().nodes().write(node.with(node.allocation().get().removable(true)), lock);
}
@@ -125,7 +126,7 @@ class AutoscalingTester {
*/
public void addCpuMeasurements(float value, float otherResourcesLoad,
int count, ApplicationId applicationId) {
- List<Node> nodes = nodeRepository().nodes().getNodes(applicationId, Node.State.active);
+ NodeList nodes = nodeRepository().nodes().list(applicationId, Node.State.active);
float oneExtraNodeFactor = (float)(nodes.size() - 1.0) / (nodes.size());
for (int i = 0; i < count; i++) {
clock().advance(Duration.ofMinutes(1));
@@ -156,7 +157,7 @@ class AutoscalingTester {
*/
public void addMemMeasurements(float value, float otherResourcesLoad,
int count, ApplicationId applicationId) {
- List<Node> nodes = nodeRepository().nodes().getNodes(applicationId, Node.State.active);
+ NodeList nodes = nodeRepository().nodes().list(applicationId, Node.State.active);
float oneExtraNodeFactor = (float)(nodes.size() - 1.0) / (nodes.size());
for (int i = 0; i < count; i++) {
clock().advance(Duration.ofMinutes(1));
@@ -181,7 +182,7 @@ class AutoscalingTester {
public void addMeasurements(float cpu, float memory, float disk, int generation, boolean inService, boolean stable,
int count, ApplicationId applicationId) {
- List<Node> nodes = nodeRepository().nodes().getNodes(applicationId, Node.State.active);
+ NodeList nodes = nodeRepository().nodes().list(applicationId, Node.State.active);
for (int i = 0; i < count; i++) {
clock().advance(Duration.ofMinutes(1));
for (Node node : nodes) {
diff --git a/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/autoscale/MetricsV2MetricsFetcherTest.java b/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/autoscale/MetricsV2MetricsFetcherTest.java
index 1ea4abab17b..9ac9a182512 100644
--- a/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/autoscale/MetricsV2MetricsFetcherTest.java
+++ b/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/autoscale/MetricsV2MetricsFetcherTest.java
@@ -78,8 +78,8 @@ public class MetricsV2MetricsFetcherTest {
{
httpClient.cannedResponse = cannedResponseForApplication2;
try (Mutex lock = tester.nodeRepository().nodes().lock(application1)) {
- tester.nodeRepository().nodes().write(tester.nodeRepository().nodes().getNodes(application2, Node.State.active)
- .get(0).retire(tester.clock().instant()), lock);
+ tester.nodeRepository().nodes().write(tester.nodeRepository().nodes().list(application2, Node.State.active)
+ .first().get().retire(tester.clock().instant()), lock);
}
List<Pair<String, MetricSnapshot>> values = new ArrayList<>(fetcher.fetchMetrics(application2).get().metrics());
assertFalse(values.get(0).getSecond().stable());
diff --git a/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/maintenance/AutoscalingMaintainerTester.java b/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/maintenance/AutoscalingMaintainerTester.java
index d6e6a7548c2..d9ecd0c6653 100644
--- a/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/maintenance/AutoscalingMaintainerTester.java
+++ b/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/maintenance/AutoscalingMaintainerTester.java
@@ -13,6 +13,7 @@ import com.yahoo.config.provision.Zone;
import com.yahoo.config.provisioning.FlavorsConfig;
import com.yahoo.test.ManualClock;
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.applications.Cluster;
import com.yahoo.vespa.hosted.provision.applications.ScalingEvent;
@@ -71,7 +72,7 @@ public class AutoscalingMaintainerTester {
}
public void addMeasurements(float cpu, float mem, float disk, long generation, int count, ApplicationId applicationId) {
- List<Node> nodes = nodeRepository().nodes().getNodes(applicationId, Node.State.active);
+ NodeList nodes = nodeRepository().nodes().list(applicationId, Node.State.active);
for (int i = 0; i < count; i++) {
for (Node node : nodes)
metricsDb.add(List.of(new Pair<>(node.hostname(), new MetricSnapshot(clock().instant(),
diff --git a/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/maintenance/LoadBalancerExpirerTest.java b/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/maintenance/LoadBalancerExpirerTest.java
index 832f8c0c318..32b5f567341 100644
--- a/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/maintenance/LoadBalancerExpirerTest.java
+++ b/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/maintenance/LoadBalancerExpirerTest.java
@@ -132,7 +132,7 @@ public class LoadBalancerExpirerTest {
}
private void dirtyNodesOf(ApplicationId application, ClusterSpec.Id cluster) {
- tester.nodeRepository().nodes().deallocate(tester.nodeRepository().nodes().getNodes(application).stream()
+ tester.nodeRepository().nodes().deallocate(tester.nodeRepository().nodes().list(application).stream()
.filter(node -> node.allocation().isPresent())
.filter(node -> node.allocation().get().membership().cluster().id().equals(cluster))
.collect(Collectors.toList()),
diff --git a/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/maintenance/NodeFailTester.java b/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/maintenance/NodeFailTester.java
index d21f7dfd459..402eabe457e 100644
--- a/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/maintenance/NodeFailTester.java
+++ b/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/maintenance/NodeFailTester.java
@@ -18,6 +18,7 @@ import com.yahoo.vespa.applicationmodel.HostName;
import com.yahoo.vespa.curator.Curator;
import com.yahoo.vespa.curator.transaction.CuratorTransaction;
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.Agent;
import com.yahoo.vespa.hosted.provision.node.IP;
@@ -102,8 +103,8 @@ public class NodeFailTester {
tester.activate(app1, clusterApp1, capacity1);
tester.activate(app2, clusterApp2, capacity2);
- assertEquals(capacity1.minResources().nodes(), tester.nodeRepository.nodes().getNodes(app1, Node.State.active).size());
- assertEquals(capacity2.minResources().nodes(), tester.nodeRepository.nodes().getNodes(app2, Node.State.active).size());
+ assertEquals(capacity1.minResources().nodes(), tester.nodeRepository.nodes().list(app1, Node.State.active).size());
+ assertEquals(capacity2.minResources().nodes(), tester.nodeRepository.nodes().list(app2, Node.State.active).size());
Map<ApplicationId, MockDeployer.ApplicationContext> apps = Map.of(
app1, new MockDeployer.ApplicationContext(app1, clusterApp1, capacity1),
@@ -133,9 +134,9 @@ public class NodeFailTester {
tester.activate(app1, clusterApp1, capacity1);
tester.activate(app2, clusterApp2, capacity2);
assertEquals(Set.of(tester.nodeRepository.nodes().getNodes(NodeType.host)),
- Set.of(tester.nodeRepository.nodes().getNodes(tenantHostApp, Node.State.active)));
- assertEquals(capacity1.minResources().nodes(), tester.nodeRepository.nodes().getNodes(app1, Node.State.active).size());
- assertEquals(capacity2.minResources().nodes(), tester.nodeRepository.nodes().getNodes(app2, Node.State.active).size());
+ Set.of(tester.nodeRepository.nodes().list(tenantHostApp, Node.State.active).asList()));
+ assertEquals(capacity1.minResources().nodes(), tester.nodeRepository.nodes().list(app1, Node.State.active).size());
+ assertEquals(capacity2.minResources().nodes(), tester.nodeRepository.nodes().list(app2, Node.State.active).size());
Map<ApplicationId, MockDeployer.ApplicationContext> apps = Map.of(
tenantHostApp, new MockDeployer.ApplicationContext(tenantHostApp, clusterNodeAdminApp, allHosts),
@@ -288,7 +289,7 @@ public class NodeFailTester {
}
/** Returns the node with the highest membership index from the given set of allocated nodes */
- public Node highestIndex(List<Node> nodes) {
+ public Node highestIndex(NodeList nodes) {
Node highestIndex = null;
for (Node node : nodes) {
if (highestIndex == null || node.allocation().get().membership().index() >
diff --git a/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/maintenance/NodeFailerTest.java b/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/maintenance/NodeFailerTest.java
index 401b4093798..5f82800d31c 100644
--- a/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/maintenance/NodeFailerTest.java
+++ b/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/maintenance/NodeFailerTest.java
@@ -173,8 +173,8 @@ public class NodeFailerTest {
tester.suspend(NodeFailTester.app1);
// Set two nodes down (one for each application) and wait 65 minutes
- String host_from_suspended_app = tester.nodeRepository.nodes().getNodes(NodeFailTester.app1, Node.State.active).get(1).hostname();
- String host_from_normal_app = tester.nodeRepository.nodes().getNodes(NodeFailTester.app2, Node.State.active).get(3).hostname();
+ String host_from_suspended_app = tester.nodeRepository.nodes().list(NodeFailTester.app1, Node.State.active).asList().get(1).hostname();
+ String host_from_normal_app = tester.nodeRepository.nodes().list(NodeFailTester.app2, Node.State.active).asList().get(3).hostname();
tester.serviceMonitor.setHostDown(host_from_suspended_app);
tester.serviceMonitor.setHostDown(host_from_normal_app);
tester.runMaintainers();
@@ -191,15 +191,15 @@ public class NodeFailerTest {
public void zone_is_not_working_if_too_many_nodes_down() {
NodeFailTester tester = NodeFailTester.withTwoApplications();
- tester.serviceMonitor.setHostDown(tester.nodeRepository.nodes().getNodes(NodeFailTester.app1, Node.State.active).get(0).hostname());
+ tester.serviceMonitor.setHostDown(tester.nodeRepository.nodes().list(NodeFailTester.app1, Node.State.active).asList().get(0).hostname());
tester.runMaintainers();
assertTrue(tester.nodeRepository.nodes().isWorking());
- tester.serviceMonitor.setHostDown(tester.nodeRepository.nodes().getNodes(NodeFailTester.app1, Node.State.active).get(1).hostname());
+ tester.serviceMonitor.setHostDown(tester.nodeRepository.nodes().list(NodeFailTester.app1, Node.State.active).asList().get(1).hostname());
tester.runMaintainers();
assertTrue(tester.nodeRepository.nodes().isWorking());
- tester.serviceMonitor.setHostDown(tester.nodeRepository.nodes().getNodes(NodeFailTester.app1, Node.State.active).get(2).hostname());
+ tester.serviceMonitor.setHostDown(tester.nodeRepository.nodes().list(NodeFailTester.app1, Node.State.active).asList().get(2).hostname());
tester.runMaintainers();
assertFalse(tester.nodeRepository.nodes().isWorking());
@@ -235,8 +235,8 @@ public class NodeFailerTest {
assertEquals(Node.State.failed, tester.nodeRepository.nodes().getNode(readyFail1.hostname()).get().state());
assertEquals(Node.State.failed, tester.nodeRepository.nodes().getNode(readyFail2.hostname()).get().state());
- String downHost1 = tester.nodeRepository.nodes().getNodes(NodeFailTester.app1, Node.State.active).get(1).hostname();
- String downHost2 = tester.nodeRepository.nodes().getNodes(NodeFailTester.app2, Node.State.active).get(3).hostname();
+ String downHost1 = tester.nodeRepository.nodes().list(NodeFailTester.app1, Node.State.active).asList().get(1).hostname();
+ String downHost2 = tester.nodeRepository.nodes().list(NodeFailTester.app2, Node.State.active).asList().get(3).hostname();
tester.serviceMonitor.setHostDown(downHost1);
tester.serviceMonitor.setHostDown(downHost2);
// nothing happens the first 45 minutes
@@ -280,7 +280,7 @@ public class NodeFailerTest {
assertEquals( 0, tester.nodeRepository.nodes().getNodes(NodeType.tenant, Node.State.ready).size());
// the last host goes down
- Node lastNode = tester.highestIndex(tester.nodeRepository.nodes().getNodes(NodeFailTester.app1, Node.State.active));
+ Node lastNode = tester.highestIndex(tester.nodeRepository.nodes().list(NodeFailTester.app1, Node.State.active));
tester.serviceMonitor.setHostDown(lastNode.hostname());
// it is not failed because there are no ready nodes to replace it
for (int minutes = 0; minutes < 75; minutes +=5 ) {
@@ -304,7 +304,7 @@ public class NodeFailerTest {
assertEquals( 5, tester.nodeRepository.nodes().getNodes(NodeType.tenant, Node.State.failed).size());
assertEquals( 0, tester.nodeRepository.nodes().getNodes(NodeType.tenant, Node.State.ready).size());
assertTrue("The index of the last failed node is not reused",
- tester.highestIndex(tester.nodeRepository.nodes().getNodes(NodeFailTester.app1, Node.State.active)).allocation().get().membership().index()
+ tester.highestIndex(tester.nodeRepository.nodes().list(NodeFailTester.app1, Node.State.active)).allocation().get().membership().index()
>
lastNode.allocation().get().membership().index());
}
@@ -312,7 +312,7 @@ public class NodeFailerTest {
@Test
public void re_activate_grace_period_test() {
NodeFailTester tester = NodeFailTester.withTwoApplications();
- String downNode = tester.nodeRepository.nodes().getNodes(NodeFailTester.app1, Node.State.active).get(1).hostname();
+ String downNode = tester.nodeRepository.nodes().list(NodeFailTester.app1, Node.State.active).asList().get(1).hostname();
tester.serviceMonitor.setHostDown(downNode);
tester.allNodesMakeAConfigRequestExcept();
@@ -349,7 +349,7 @@ public class NodeFailerTest {
ClusterSpec cluster = ClusterSpec.request(ClusterSpec.Type.container, ClusterSpec.Id.from("test")).vespaVersion("6.42").build();
tester.activate(NodeFailTester.app1, cluster, capacity);
- String downHost = tester.nodeRepository.nodes().getNodes(NodeFailTester.app1, Node.State.active).get(0).hostname();
+ String downHost = tester.nodeRepository.nodes().list(NodeFailTester.app1, Node.State.active).first().get().hostname();
tester.serviceMonitor.setHostDown(downHost);
// nothing happens the first 45 minutes
diff --git a/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/maintenance/OperatorChangeApplicationMaintainerTest.java b/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/maintenance/OperatorChangeApplicationMaintainerTest.java
index f331f3bcb4a..b90f98c9ad8 100644
--- a/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/maintenance/OperatorChangeApplicationMaintainerTest.java
+++ b/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/maintenance/OperatorChangeApplicationMaintainerTest.java
@@ -51,19 +51,19 @@ public class OperatorChangeApplicationMaintainerTest {
maintainer.maintain();
assertEquals("No changes -> no redeployments", 3, fixture.deployer.redeployments);
- nodeRepository.nodes().fail(nodeRepository.nodes().getNodes(fixture.app1).get(3).hostname(), Agent.system, "Failing to unit test");
+ nodeRepository.nodes().fail(nodeRepository.nodes().list(fixture.app1).asList().get(3).hostname(), Agent.system, "Failing to unit test");
clock.advance(Duration.ofMinutes(2));
maintainer.maintain();
assertEquals("System change -> no redeployments", 3, fixture.deployer.redeployments);
clock.advance(Duration.ofSeconds(1));
- nodeRepository.nodes().fail(nodeRepository.nodes().getNodes(fixture.app2).get(4).hostname(), Agent.operator, "Manual node failing");
+ nodeRepository.nodes().fail(nodeRepository.nodes().list(fixture.app2).asList().get(4).hostname(), Agent.operator, "Manual node failing");
clock.advance(Duration.ofMinutes(2));
maintainer.maintain();
assertEquals("Operator change -> redeployment", 4, fixture.deployer.redeployments);
clock.advance(Duration.ofSeconds(1));
- nodeRepository.nodes().fail(nodeRepository.nodes().getNodes(fixture.app3).get(1).hostname(), Agent.operator, "Manual node failing");
+ nodeRepository.nodes().fail(nodeRepository.nodes().list(fixture.app3).asList().get(1).hostname(), Agent.operator, "Manual node failing");
clock.advance(Duration.ofMinutes(2));
maintainer.maintain();
assertEquals("Operator change -> redeployment", 5, fixture.deployer.redeployments);
@@ -104,9 +104,9 @@ public class OperatorChangeApplicationMaintainerTest {
deployer.deployFromLocalActive(app1, false).get().activate();
deployer.deployFromLocalActive(app2, false).get().activate();
deployer.deployFromLocalActive(app3, false).get().activate();
- assertEquals(wantedNodesApp1, nodeRepository.nodes().getNodes(app1, Node.State.active).size());
- assertEquals(wantedNodesApp2, nodeRepository.nodes().getNodes(app2, Node.State.active).size());
- assertEquals(wantedNodesApp3, nodeRepository.nodes().getNodes(app3, Node.State.active).size());
+ assertEquals(wantedNodesApp1, nodeRepository.nodes().list(app1, Node.State.active).size());
+ assertEquals(wantedNodesApp2, nodeRepository.nodes().list(app2, Node.State.active).size());
+ assertEquals(wantedNodesApp3, nodeRepository.nodes().list(app3, Node.State.active).size());
}
}
diff --git a/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/maintenance/PeriodicApplicationMaintainerTest.java b/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/maintenance/PeriodicApplicationMaintainerTest.java
index ab00d098130..6ba716799d1 100644
--- a/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/maintenance/PeriodicApplicationMaintainerTest.java
+++ b/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/maintenance/PeriodicApplicationMaintainerTest.java
@@ -64,21 +64,21 @@ public class PeriodicApplicationMaintainerTest {
fixture.setBootstrapping(false);
// Fail and park some nodes
- nodeRepository.nodes().fail(nodeRepository.nodes().getNodes(fixture.app1).get(3).hostname(), Agent.system, "Failing to unit test");
- nodeRepository.nodes().fail(nodeRepository.nodes().getNodes(fixture.app2).get(0).hostname(), Agent.system, "Failing to unit test");
- nodeRepository.nodes().park(nodeRepository.nodes().getNodes(fixture.app2).get(4).hostname(), true, Agent.system, "Parking to unit test");
+ nodeRepository.nodes().fail(nodeRepository.nodes().list(fixture.app1).asList().get(3).hostname(), Agent.system, "Failing to unit test");
+ nodeRepository.nodes().fail(nodeRepository.nodes().list(fixture.app2).asList().get(0).hostname(), Agent.system, "Failing to unit test");
+ nodeRepository.nodes().park(nodeRepository.nodes().list(fixture.app2).asList().get(4).hostname(), true, Agent.system, "Parking to unit test");
int failedInApp1 = 1;
int failedOrParkedInApp2 = 2;
- assertEquals(fixture.wantedNodesApp1 - failedInApp1, nodeRepository.nodes().getNodes(fixture.app1, Node.State.active).size());
- assertEquals(fixture.wantedNodesApp2 - failedOrParkedInApp2, nodeRepository.nodes().getNodes(fixture.app2, Node.State.active).size());
+ assertEquals(fixture.wantedNodesApp1 - failedInApp1, nodeRepository.nodes().list(fixture.app1, Node.State.active).size());
+ assertEquals(fixture.wantedNodesApp2 - failedOrParkedInApp2, nodeRepository.nodes().list(fixture.app2, Node.State.active).size());
assertEquals(failedInApp1 + failedOrParkedInApp2, nodeRepository.nodes().getNodes(NodeType.tenant, Node.State.failed, Node.State.parked).size());
assertEquals(3, nodeRepository.nodes().getNodes(NodeType.tenant, Node.State.ready).size());
assertEquals(2, nodeRepository.nodes().getNodes(NodeType.host, Node.State.ready).size());
// Cause maintenance deployment which will allocate replacement nodes
fixture.runApplicationMaintainer();
- assertEquals(fixture.wantedNodesApp1, nodeRepository.nodes().getNodes(fixture.app1, Node.State.active).size());
- assertEquals(fixture.wantedNodesApp2, nodeRepository.nodes().getNodes(fixture.app2, Node.State.active).size());
+ assertEquals(fixture.wantedNodesApp1, nodeRepository.nodes().list(fixture.app1, Node.State.active).size());
+ assertEquals(fixture.wantedNodesApp2, nodeRepository.nodes().list(fixture.app2, Node.State.active).size());
assertEquals(0, nodeRepository.nodes().getNodes(NodeType.tenant, Node.State.ready).size());
// Reactivate the previously failed nodes
@@ -88,8 +88,8 @@ public class PeriodicApplicationMaintainerTest {
int reactivatedInApp1 = 1;
int reactivatedInApp2 = 2;
assertEquals(0, nodeRepository.nodes().getNodes(NodeType.tenant, Node.State.failed).size());
- assertEquals(fixture.wantedNodesApp1 + reactivatedInApp1, nodeRepository.nodes().getNodes(fixture.app1, Node.State.active).size());
- assertEquals(fixture.wantedNodesApp2 + reactivatedInApp2, nodeRepository.nodes().getNodes(fixture.app2, Node.State.active).size());
+ assertEquals(fixture.wantedNodesApp1 + reactivatedInApp1, nodeRepository.nodes().list(fixture.app1, Node.State.active).size());
+ assertEquals(fixture.wantedNodesApp2 + reactivatedInApp2, nodeRepository.nodes().list(fixture.app2, Node.State.active).size());
assertEquals("The reactivated nodes are now active but not part of the application",
0, fixture.getNodes(Node.State.active).retired().size());
@@ -112,13 +112,13 @@ public class PeriodicApplicationMaintainerTest {
// Remove one application without letting the application maintainer know about it
fixture.remove(fixture.app2);
- assertEquals(fixture.wantedNodesApp2, nodeRepository.nodes().getNodes(fixture.app2, Node.State.inactive).size());
+ assertEquals(fixture.wantedNodesApp2, nodeRepository.nodes().list(fixture.app2, Node.State.inactive).size());
// Nodes belonging to app2 are inactive after maintenance
fixture.maintainer.setOverriddenNodesNeedingMaintenance(frozenActiveNodes);
fixture.runApplicationMaintainer();
assertEquals("Inactive nodes were incorrectly activated after maintenance", fixture.wantedNodesApp2,
- nodeRepository.nodes().getNodes(fixture.app2, Node.State.inactive).size());
+ nodeRepository.nodes().list(fixture.app2, Node.State.inactive).size());
}
@Test(timeout = 60_000)
@@ -232,8 +232,8 @@ public class PeriodicApplicationMaintainerTest {
void activate() {
deployer.deployFromLocalActive(app1, false).get().activate();
deployer.deployFromLocalActive(app2, false).get().activate();
- assertEquals(wantedNodesApp1, nodeRepository.nodes().getNodes(app1, Node.State.active).size());
- assertEquals(wantedNodesApp2, nodeRepository.nodes().getNodes(app2, Node.State.active).size());
+ assertEquals(wantedNodesApp1, nodeRepository.nodes().list(app1, Node.State.active).size());
+ assertEquals(wantedNodesApp2, nodeRepository.nodes().list(app2, Node.State.active).size());
}
void remove(ApplicationId application) {
diff --git a/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/maintenance/RebalancerTest.java b/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/maintenance/RebalancerTest.java
index 4f08fa9ab9e..a1aa097e4cc 100644
--- a/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/maintenance/RebalancerTest.java
+++ b/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/maintenance/RebalancerTest.java
@@ -177,7 +177,7 @@ public class RebalancerTest {
}
List<Node> getNodes(ApplicationId applicationId, Node.State nodeState) {
- return tester.nodeRepository().nodes().getNodes(applicationId, nodeState);
+ return tester.nodeRepository().nodes().list(applicationId, nodeState).asList();
}
boolean isNodeRetired(Node node) {
@@ -188,7 +188,7 @@ public class RebalancerTest {
NodeList getNodes(Node.State nodeState) { return tester.nodeRepository().nodes().list(nodeState); }
- Node getNode(ApplicationId applicationId) { return tester.nodeRepository().nodes().getNodes(applicationId).get(0); }
+ Node getNode(ApplicationId applicationId) { return tester.nodeRepository().nodes().list(applicationId).first().get(); }
ManualClock clock() { return tester.clock(); }
diff --git a/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/maintenance/RetiredExpirerTest.java b/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/maintenance/RetiredExpirerTest.java
index fa492c3a3e9..129e4e3a775 100644
--- a/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/maintenance/RetiredExpirerTest.java
+++ b/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/maintenance/RetiredExpirerTest.java
@@ -71,8 +71,8 @@ public class RetiredExpirerTest {
activate(applicationId, cluster, wantedNodes=7, 1);
activate(applicationId, cluster, wantedNodes=2, 1);
activate(applicationId, cluster, wantedNodes=3, 1);
- assertEquals(7, nodeRepository.nodes().getNodes(applicationId, Node.State.active).size());
- assertEquals(0, nodeRepository.nodes().getNodes(applicationId, Node.State.inactive).size());
+ assertEquals(7, nodeRepository.nodes().list(applicationId, Node.State.active).size());
+ assertEquals(0, nodeRepository.nodes().list(applicationId, Node.State.inactive).size());
// Cause inactivation of retired nodes
clock.advance(Duration.ofHours(30)); // Retire period spent
@@ -83,12 +83,12 @@ public class RetiredExpirerTest {
cluster,
Capacity.from(new ClusterResources(wantedNodes, 1, nodeResources)))));
createRetiredExpirer(deployer).run();
- assertEquals(3, nodeRepository.nodes().getNodes(applicationId, Node.State.active).size());
- assertEquals(4, nodeRepository.nodes().getNodes(applicationId, Node.State.inactive).size());
+ assertEquals(3, nodeRepository.nodes().list(applicationId, Node.State.active).size());
+ assertEquals(4, nodeRepository.nodes().list(applicationId, Node.State.inactive).size());
assertEquals(1, deployer.redeployments);
// inactivated nodes are not retired
- for (Node node : nodeRepository.nodes().getNodes(applicationId, Node.State.inactive))
+ for (Node node : nodeRepository.nodes().list(applicationId, Node.State.inactive))
assertFalse(node.allocation().get().membership().retired());
}
@@ -106,8 +106,8 @@ public class RetiredExpirerTest {
activate(applicationId, cluster, wantedNodes=7, 1);
activate(applicationId, cluster, wantedNodes=2, 1);
activate(applicationId, cluster, wantedNodes=3, 1);
- assertEquals(7, nodeRepository.nodes().getNodes(applicationId, Node.State.active).size());
- assertEquals(0, nodeRepository.nodes().getNodes(applicationId, Node.State.inactive).size());
+ assertEquals(7, nodeRepository.nodes().list(applicationId, Node.State.active).size());
+ assertEquals(0, nodeRepository.nodes().list(applicationId, Node.State.inactive).size());
// Cause inactivation of retired nodes
MockDeployer deployer =
@@ -128,27 +128,27 @@ public class RetiredExpirerTest {
RetiredExpirer retiredExpirer = createRetiredExpirer(deployer);
retiredExpirer.run();
- assertEquals(5, nodeRepository.nodes().getNodes(applicationId, Node.State.active).size());
- assertEquals(2, nodeRepository.nodes().getNodes(applicationId, Node.State.inactive).size());
+ assertEquals(5, nodeRepository.nodes().list(applicationId, Node.State.active).size());
+ assertEquals(2, nodeRepository.nodes().list(applicationId, Node.State.inactive).size());
assertEquals(1, deployer.redeployments);
verify(orchestrator, times(4)).acquirePermissionToRemove(any());
// Running it again has no effect
retiredExpirer.run();
- assertEquals(5, nodeRepository.nodes().getNodes(applicationId, Node.State.active).size());
- assertEquals(2, nodeRepository.nodes().getNodes(applicationId, Node.State.inactive).size());
+ assertEquals(5, nodeRepository.nodes().list(applicationId, Node.State.active).size());
+ assertEquals(2, nodeRepository.nodes().list(applicationId, Node.State.inactive).size());
assertEquals(1, deployer.redeployments);
verify(orchestrator, times(6)).acquirePermissionToRemove(any());
clock.advance(RETIRED_EXPIRATION.plusMinutes(1));
retiredExpirer.run();
- assertEquals(3, nodeRepository.nodes().getNodes(applicationId, Node.State.active).size());
- assertEquals(4, nodeRepository.nodes().getNodes(applicationId, Node.State.inactive).size());
+ assertEquals(3, nodeRepository.nodes().list(applicationId, Node.State.active).size());
+ assertEquals(4, nodeRepository.nodes().list(applicationId, Node.State.inactive).size());
assertEquals(2, deployer.redeployments);
verify(orchestrator, times(6)).acquirePermissionToRemove(any());
// inactivated nodes are not retired
- for (Node node : nodeRepository.nodes().getNodes(applicationId, Node.State.inactive))
+ for (Node node : nodeRepository.nodes().list(applicationId, Node.State.inactive))
assertFalse(node.allocation().get().membership().retired());
}
diff --git a/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/maintenance/ScalingSuggestionsMaintainerTest.java b/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/maintenance/ScalingSuggestionsMaintainerTest.java
index 4d334147212..0d2de73635e 100644
--- a/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/maintenance/ScalingSuggestionsMaintainerTest.java
+++ b/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/maintenance/ScalingSuggestionsMaintainerTest.java
@@ -14,6 +14,7 @@ import com.yahoo.config.provision.RegionName;
import com.yahoo.config.provision.Zone;
import com.yahoo.config.provisioning.FlavorsConfig;
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.applications.Cluster;
import com.yahoo.vespa.hosted.provision.autoscale.MetricSnapshot;
@@ -121,7 +122,7 @@ public class ScalingSuggestionsMaintainerTest {
public void addMeasurements(float cpu, float memory, float disk, int generation, int count, ApplicationId applicationId,
NodeRepository nodeRepository, MetricsDb db) {
- List<Node> nodes = nodeRepository.nodes().getNodes(applicationId, Node.State.active);
+ NodeList nodes = nodeRepository.nodes().list(applicationId, Node.State.active);
for (int i = 0; i < count; i++) {
for (Node node : nodes)
db.add(List.of(new Pair<>(node.hostname(), new MetricSnapshot(nodeRepository.clock().instant(),
diff --git a/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/provisioning/AclProvisioningTest.java b/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/provisioning/AclProvisioningTest.java
index 23a8af045af..b697cf1dc4b 100644
--- a/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/provisioning/AclProvisioningTest.java
+++ b/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/provisioning/AclProvisioningTest.java
@@ -8,6 +8,7 @@ import com.yahoo.config.provision.ClusterResources;
import com.yahoo.config.provision.NodeResources;
import com.yahoo.config.provision.NodeType;
import com.yahoo.vespa.hosted.provision.Node;
+import com.yahoo.vespa.hosted.provision.NodeList;
import com.yahoo.vespa.hosted.provision.node.NodeAcl;
import org.junit.Test;
@@ -33,7 +34,7 @@ public class AclProvisioningTest {
@Test
public void trusted_nodes_for_allocated_node() {
- List<Node> configServers = tester.makeConfigServers(3, "d-1-4-10", Version.fromString("6.123.456"));
+ NodeList configServers = tester.makeConfigServers(3, "d-1-4-10", Version.fromString("6.123.456"));
// Populate repo
tester.makeReadyNodes(10, new NodeResources(1, 4, 10, 1));
@@ -55,14 +56,14 @@ public class AclProvisioningTest {
Supplier<NodeAcl> nodeAcls = () -> node.acl(tester.nodeRepository().nodes().list(), tester.nodeRepository().loadBalancers());
// Trusted nodes are active nodes in same application, proxy nodes and config servers
- assertAcls(List.of(activeNodes, proxyNodes, configServers, host),
+ assertAcls(List.of(activeNodes, proxyNodes, configServers.asList(), host),
Set.of("10.2.3.0/24", "10.4.5.0/24"),
List.of(nodeAcls.get()));
}
@Test
public void trusted_nodes_for_unallocated_node() {
- List<Node> configServers = tester.makeConfigServers(3, "default", Version.fromString("6.123.456"));
+ NodeList configServers = tester.makeConfigServers(3, "default", Version.fromString("6.123.456"));
// Populate repo
tester.makeReadyNodes(10, nodeResources);
@@ -77,12 +78,12 @@ public class AclProvisioningTest {
List<Node> tenantNodes = tester.nodeRepository().nodes().getNodes(NodeType.tenant);
// Trusted nodes are all proxy-, config-, and, tenant-nodes
- assertAcls(List.of(proxyNodes, configServers, tenantNodes), List.of(nodeAcl));
+ assertAcls(List.of(proxyNodes, configServers.asList(), tenantNodes), List.of(nodeAcl));
}
@Test
public void trusted_nodes_for_config_server() {
- List<Node> configServers = tester.makeConfigServers(3, "default", Version.fromString("6.123.456"));
+ NodeList configServers = tester.makeConfigServers(3, "default", Version.fromString("6.123.456"));
// Populate repo
tester.makeReadyNodes(10, nodeResources);
@@ -98,12 +99,12 @@ public class AclProvisioningTest {
NodeAcl nodeAcl = node.acl(tester.nodeRepository().nodes().list(), tester.nodeRepository().loadBalancers());
// Trusted nodes is all tenant nodes, all proxy nodes, all config servers and load balancer subnets
- assertAcls(List.of(tenantNodes, proxyNodes, configServers), Set.of("10.2.3.0/24", "10.4.5.0/24"), List.of(nodeAcl));
+ assertAcls(List.of(tenantNodes, proxyNodes, configServers.asList()), Set.of("10.2.3.0/24", "10.4.5.0/24"), List.of(nodeAcl));
}
@Test
public void trusted_nodes_for_proxy() {
- List<Node> configServers = tester.makeConfigServers(3, "default", Version.fromString("6.123.456"));
+ NodeList configServers = tester.makeConfigServers(3, "default", Version.fromString("6.123.456"));
// Populate repo
tester.makeReadyNodes(10, "default");
@@ -114,17 +115,17 @@ public class AclProvisioningTest {
tester.deploy(zoneApplication, Capacity.fromRequiredNodeType(NodeType.proxy));
// Get trusted nodes for first proxy node
- List<Node> proxyNodes = tester.nodeRepository().nodes().getNodes(zoneApplication);
- Node node = proxyNodes.get(0);
+ NodeList proxyNodes = tester.nodeRepository().nodes().list(zoneApplication);
+ Node node = proxyNodes.first().get();
NodeAcl nodeAcl = node.acl(tester.nodeRepository().nodes().list(), tester.nodeRepository().loadBalancers());
// Trusted nodes is all config servers and all proxy nodes
- assertAcls(List.of(proxyNodes, configServers), List.of(nodeAcl));
+ assertAcls(List.of(proxyNodes.asList(), configServers.asList()), List.of(nodeAcl));
}
@Test
public void trusted_nodes_for_children_of_docker_host() {
- List<Node> configServers = tester.makeConfigServers(3, "default", Version.fromString("6.123.456"));
+ NodeList configServers = tester.makeConfigServers(3, "default", Version.fromString("6.123.456"));
// Populate repo
List<Node> dockerHostNodes = tester.makeReadyNodes(2, "default", NodeType.host);
@@ -143,7 +144,7 @@ public class AclProvisioningTest {
.findFirst()
.orElseThrow(() -> new RuntimeException("Expected to find ACL for node " + dockerNode.hostname()));
assertEquals(dockerHostNodeUnderTest.hostname(), dockerNode.parentHostname().get());
- assertAcls(List.of(configServers, dockerNodes, List.of(dockerHostNodeUnderTest)), nodeAcl);
+ assertAcls(List.of(configServers.asList(), dockerNodes, List.of(dockerHostNodeUnderTest)), nodeAcl);
}
}
diff --git a/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/provisioning/DynamicDockerAllocationTest.java b/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/provisioning/DynamicDockerAllocationTest.java
index a0f5fd21f2d..301341e1e61 100644
--- a/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/provisioning/DynamicDockerAllocationTest.java
+++ b/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/provisioning/DynamicDockerAllocationTest.java
@@ -315,9 +315,9 @@ public class DynamicDockerAllocationTest {
List<HostSpec> hosts = tester.prepare(application, clusterSpec("myContent.t1.a1"), 2, 1, new NodeResources(1, 4, 100, 1));
tester.activate(application, hosts);
- List<Node> activeNodes = tester.nodeRepository().nodes().getNodes(application);
- assertEquals(ImmutableSet.of("127.0.127.13", "::13"), activeNodes.get(0).ipConfig().primary());
- assertEquals(ImmutableSet.of("127.0.127.2", "::2"), activeNodes.get(1).ipConfig().primary());
+ NodeList activeNodes = tester.nodeRepository().nodes().list(application);
+ assertEquals(ImmutableSet.of("127.0.127.13", "::13"), activeNodes.asList().get(0).ipConfig().primary());
+ assertEquals(ImmutableSet.of("127.0.127.2", "::2"), activeNodes.asList().get(1).ipConfig().primary());
}
@Test
@@ -437,16 +437,16 @@ public class DynamicDockerAllocationTest {
// Redeploy does not change allocation as a host with switch information is no better or worse than hosts
// without switch information
- List<Node> allocatedNodes = tester.nodeRepository().nodes().getNodes(app1);
+ NodeList allocatedNodes = tester.nodeRepository().nodes().list(app1);
tester.activate(app1, tester.prepare(app1, cluster, Capacity.from(new ClusterResources(2, 1, resources))));
- assertEquals("Allocation unchanged", allocatedNodes, tester.nodeRepository().nodes().getNodes(app1));
+ assertEquals("Allocation unchanged", allocatedNodes, tester.nodeRepository().nodes().list(app1));
// Initial hosts are attached to the same switch
tester.patchNodes(hosts0, (host) -> host.withSwitchHostname(switch0));
// Redeploy does not change allocation
tester.activate(app1, tester.prepare(app1, cluster, Capacity.from(new ClusterResources(2, 1, resources))));
- assertEquals("Allocation unchanged", allocatedNodes, tester.nodeRepository().nodes().getNodes(app1));
+ assertEquals("Allocation unchanged", allocatedNodes, tester.nodeRepository().nodes().list(app1));
// One regular host and one slow-disk host are provisioned on the same switch
String switch1 = "switch1";
diff --git a/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/provisioning/DynamicDockerProvisionTest.java b/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/provisioning/DynamicDockerProvisionTest.java
index 1d9c04999a1..3d75760edc2 100644
--- a/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/provisioning/DynamicDockerProvisionTest.java
+++ b/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/provisioning/DynamicDockerProvisionTest.java
@@ -188,7 +188,7 @@ public class DynamicDockerProvisionTest {
ApplicationId app = ProvisioningTester.applicationId();
Function<Node, Node> retireNode = node -> tester.patchNode(node, (n) -> n.withWantToRetire(true, Agent.system, Instant.now()));
- Function<Integer, Node> getNodeInGroup = group -> tester.nodeRepository().nodes().getNodes(app).stream()
+ Function<Integer, Node> getNodeInGroup = group -> tester.nodeRepository().nodes().list(app).stream()
.filter(node -> node.allocation().get().membership().cluster().group().get().index() == group)
.findAny().orElseThrow();
@@ -209,7 +209,7 @@ public class DynamicDockerProvisionTest {
tester.prepare(app, clusterSpec("content"), 8, 2, resources);
// Verify that nodes have unique indices from 0..9
- var indices = tester.nodeRepository().nodes().getNodes(app).stream()
+ var indices = tester.nodeRepository().nodes().list(app).stream()
.map(node -> node.allocation().get().membership().index())
.collect(Collectors.toSet());
assertTrue(indices.containsAll(IntStream.range(0, 10).boxed().collect(Collectors.toList())));
diff --git a/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/provisioning/LoadBalancerProvisionerTest.java b/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/provisioning/LoadBalancerProvisionerTest.java
index fece475852a..93242b1cff2 100644
--- a/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/provisioning/LoadBalancerProvisionerTest.java
+++ b/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/provisioning/LoadBalancerProvisionerTest.java
@@ -12,6 +12,7 @@ import com.yahoo.config.provision.NodeResources;
import com.yahoo.config.provision.NodeType;
import com.yahoo.vespa.flags.InMemoryFlagSource;
import com.yahoo.vespa.hosted.provision.Node;
+import com.yahoo.vespa.hosted.provision.NodeList;
import com.yahoo.vespa.hosted.provision.lb.LoadBalancer;
import com.yahoo.vespa.hosted.provision.lb.LoadBalancerInstance;
import com.yahoo.vespa.hosted.provision.lb.Real;
@@ -136,7 +137,7 @@ public class LoadBalancerProvisionerTest {
// Entire application is removed: Nodes and load balancer are deactivated
tester.remove(app1);
dirtyNodesOf(app1);
- assertTrue("No nodes are allocated to " + app1, tester.nodeRepository().nodes().getNodes(app1, Node.State.reserved, Node.State.active).isEmpty());
+ assertTrue("No nodes are allocated to " + app1, tester.nodeRepository().nodes().list(app1, Node.State.reserved, Node.State.active).isEmpty());
assertEquals(2, lbApp1.get().size());
assertTrue("Deactivated load balancers", lbApp1.get().stream().allMatch(lb -> lb.state() == LoadBalancer.State.inactive));
assertTrue("Load balancers for " + app2 + " remain active", lbApp2.get().stream().allMatch(lb -> lb.state() == LoadBalancer.State.active));
@@ -167,7 +168,7 @@ public class LoadBalancerProvisionerTest {
var nodes = tester.prepare(app1, clusterRequest(ClusterSpec.Type.container, ClusterSpec.Id.from("qrs")), 2 , 1, resources);
Supplier<LoadBalancer> lb = () -> tester.nodeRepository().loadBalancers().list(app1).asList().get(0);
assertTrue("Load balancer provisioned with empty reals", tester.loadBalancerService().instances().get(lb.get().id()).reals().isEmpty());
- assignIps(tester.nodeRepository().nodes().getNodes(app1));
+ assignIps(tester.nodeRepository().nodes().list(app1));
tester.activate(app1, nodes);
assertFalse("Load balancer is reconfigured with reals", tester.loadBalancerService().instances().get(lb.get().id()).reals().isEmpty());
@@ -180,7 +181,7 @@ public class LoadBalancerProvisionerTest {
// Application is redeployed
nodes = tester.prepare(app1, clusterRequest(ClusterSpec.Type.container, ClusterSpec.Id.from("qrs")), 2 , 1, resources);
assertTrue("Load balancer is reconfigured with empty reals", tester.loadBalancerService().instances().get(lb.get().id()).reals().isEmpty());
- assignIps(tester.nodeRepository().nodes().getNodes(app1));
+ assignIps(tester.nodeRepository().nodes().list(app1));
tester.activate(app1, nodes);
assertFalse("Load balancer is reconfigured with reals", tester.loadBalancerService().instances().get(lb.get().id()).reals().isEmpty());
}
@@ -269,7 +270,7 @@ public class LoadBalancerProvisionerTest {
}
private void dirtyNodesOf(ApplicationId application) {
- tester.nodeRepository().nodes().deallocate(tester.nodeRepository().nodes().getNodes(application), Agent.system, this.getClass().getSimpleName());
+ tester.nodeRepository().nodes().deallocate(tester.nodeRepository().nodes().list(application).asList(), Agent.system, this.getClass().getSimpleName());
}
private Set<HostSpec> prepare(ApplicationId application, ClusterSpec... specs) {
@@ -285,10 +286,10 @@ public class LoadBalancerProvisionerTest {
return allNodes;
}
- private void assignIps(List<Node> nodes) {
+ private void assignIps(NodeList nodes) {
try (var lock = tester.nodeRepository().nodes().lockUnallocated()) {
for (int i = 0; i < nodes.size(); i++) {
- tester.nodeRepository().nodes().write(nodes.get(i).with(IP.Config.EMPTY.withPrimary(Set.of("127.0.0." + i))), lock);
+ tester.nodeRepository().nodes().write(nodes.asList().get(i).with(IP.Config.EMPTY.withPrimary(Set.of("127.0.0." + i))), lock);
}
}
}
diff --git a/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/provisioning/ProvisioningTest.java b/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/provisioning/ProvisioningTest.java
index cf9b6dbd861..324f931be14 100644
--- a/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/provisioning/ProvisioningTest.java
+++ b/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/provisioning/ProvisioningTest.java
@@ -95,7 +95,8 @@ public class ProvisioningTest {
SystemState state5 = prepare(application1, 2, 2, 3, 3, defaultResources, tester);
HostSpec removed = tester.removeOne(state5.allHosts);
tester.activate(application1, state5.allHosts);
- assertEquals(removed.hostname(), tester.nodeRepository().nodes().getNodes(application1, Node.State.inactive).get(0).hostname());
+ assertEquals(removed.hostname(),
+ tester.nodeRepository().nodes().list(application1, Node.State.inactive).first().get().hostname());
// remove some of the clusters
SystemState state6 = prepare(application1, 0, 2, 0, 3, defaultResources, tester);
@@ -107,14 +108,14 @@ public class ProvisioningTest {
NodeList previouslyActive = tester.getNodes(application1, Node.State.active);
NodeList previouslyInactive = tester.getNodes(application1, Node.State.inactive);
tester.remove(application1);
- assertEquals(tester.toHostNames(previouslyActive.not().container().asList()),
- tester.toHostNames(tester.nodeRepository().nodes().getNodes(application1, Node.State.inactive)));
+ assertEquals(tester.toHostNames(previouslyActive.not().container()),
+ tester.toHostNames(tester.nodeRepository().nodes().list(application1, Node.State.inactive)));
assertTrue(tester.nodeRepository().nodes().list(Node.State.dirty).asList().containsAll(previouslyActive.container().asList()));
assertEquals(0, tester.getNodes(application1, Node.State.active).size());
assertTrue(tester.nodeRepository().applications().get(application1).isEmpty());
// other application is unaffected
- assertEquals(state1App2.hostNames(), tester.toHostNames(tester.nodeRepository().nodes().getNodes(application2, Node.State.active)));
+ assertEquals(state1App2.hostNames(), tester.toHostNames(tester.nodeRepository().nodes().list(application2, Node.State.active)));
// fail a node from app2 and make sure it does not get inactive nodes from first
HostSpec failed = tester.removeOne(state1App2.allHosts);
@@ -289,7 +290,7 @@ public class ProvisioningTest {
// redeploy with increased sizes and new flavor
SystemState state3 = prepare(application1, 3, 4, 4, 5, large, tester);
- assertEquals("New nodes are reserved", 16, tester.nodeRepository().nodes().getNodes(application1, Node.State.reserved).size());
+ assertEquals("New nodes are reserved", 16, tester.nodeRepository().nodes().list(application1, Node.State.reserved).size());
tester.activate(application1, state3.allHosts);
assertEquals("small container nodes are retired because we are swapping the entire cluster",
2 + 2, tester.getNodes(application1, Node.State.active).retired().type(ClusterSpec.Type.container).resources(small).size());
@@ -316,7 +317,7 @@ public class ProvisioningTest {
SystemState state1 = prepare(application1, 2, 2, 4, 4, small, tester);
tester.activate(application1, state1.allHosts);
- tester.nodeRepository().nodes().getNodes(application1)
+ tester.nodeRepository().nodes().list(application1)
.forEach(n -> assertEquals(large, tester.nodeRepository().nodes().getNode(n.parentHostname().get()).get().resources()));
}
@@ -374,7 +375,7 @@ public class ProvisioningTest {
assertEquals(6, state.allHosts.size());
tester.activate(application, state.allHosts);
assertTrue(state.allHosts.stream().allMatch(host -> host.requestedResources().get().diskSpeed() == NodeResources.DiskSpeed.any));
- assertTrue(tester.nodeRepository().nodes().getNodes(application).stream().allMatch(node -> node.allocation().get().requestedResources().diskSpeed() == NodeResources.DiskSpeed.any));
+ assertTrue(tester.nodeRepository().nodes().list(application).stream().allMatch(node -> node.allocation().get().requestedResources().diskSpeed() == NodeResources.DiskSpeed.any));
}
{
@@ -386,7 +387,7 @@ public class ProvisioningTest {
assertEquals(8, state.allHosts.size());
tester.activate(application, state.allHosts);
assertTrue(state.allHosts.stream().allMatch(host -> host.requestedResources().get().diskSpeed() == NodeResources.DiskSpeed.fast));
- assertTrue(tester.nodeRepository().nodes().getNodes(application).stream().allMatch(node -> node.allocation().get().requestedResources().diskSpeed() == NodeResources.DiskSpeed.fast));
+ assertTrue(tester.nodeRepository().nodes().list(application).stream().allMatch(node -> node.allocation().get().requestedResources().diskSpeed() == NodeResources.DiskSpeed.fast));
}
{
@@ -397,7 +398,7 @@ public class ProvisioningTest {
assertEquals(8, state.allHosts.size());
tester.activate(application, state.allHosts);
assertTrue(state.allHosts.stream().allMatch(host -> host.requestedResources().get().diskSpeed() == NodeResources.DiskSpeed.any));
- assertTrue(tester.nodeRepository().nodes().getNodes(application).stream().allMatch(node -> node.allocation().get().requestedResources().diskSpeed() == NodeResources.DiskSpeed.any));
+ assertTrue(tester.nodeRepository().nodes().list(application).stream().allMatch(node -> node.allocation().get().requestedResources().diskSpeed() == NodeResources.DiskSpeed.any));
}
}
@@ -692,25 +693,25 @@ public class ProvisioningTest {
// Allocate 5 nodes
ClusterSpec cluster = ClusterSpec.request(ClusterSpec.Type.content, ClusterSpec.Id.from("music")).vespaVersion("4.5.6").build();
tester.activate(application, tester.prepare(application, cluster, capacity));
- assertEquals(5, NodeList.copyOf(tester.nodeRepository().nodes().getNodes(application, Node.State.active)).not().retired().size());
- assertEquals(0, NodeList.copyOf(tester.nodeRepository().nodes().getNodes(application, Node.State.active)).retired().size());
+ assertEquals(5, tester.nodeRepository().nodes().list(application, Node.State.active).not().retired().size());
+ assertEquals(0, tester.nodeRepository().nodes().list(application, Node.State.active).retired().size());
// Mark the nodes as want to retire
- tester.nodeRepository().nodes().getNodes(application, Node.State.active).forEach(node -> tester.patchNode(node, (n) -> n.withWantToRetire(true, Agent.system, tester.clock().instant())));
+ tester.nodeRepository().nodes().list(application, Node.State.active).forEach(node -> tester.patchNode(node, (n) -> n.withWantToRetire(true, Agent.system, tester.clock().instant())));
// redeploy without allow failing
tester.activate(application, tester.prepare(application, cluster, capacityFORCED));
// Nodes are not retired since that is unsafe when we cannot fail
- assertEquals(5, NodeList.copyOf(tester.nodeRepository().nodes().getNodes(application, Node.State.active)).not().retired().size());
- assertEquals(0, NodeList.copyOf(tester.nodeRepository().nodes().getNodes(application, Node.State.active)).retired().size());
+ assertEquals(5, tester.nodeRepository().nodes().list(application, Node.State.active).not().retired().size());
+ assertEquals(0, tester.nodeRepository().nodes().list(application, Node.State.active).retired().size());
// ... but we still want to
- tester.nodeRepository().nodes().getNodes(application, Node.State.active).forEach(node -> assertTrue(node.status().wantToRetire()));
+ tester.nodeRepository().nodes().list(application, Node.State.active).forEach(node -> assertTrue(node.status().wantToRetire()));
// redeploy with allowing failing
tester.activate(application, tester.prepare(application, cluster, capacity));
// ... old nodes are now retired
- assertEquals(5, NodeList.copyOf(tester.nodeRepository().nodes().getNodes(application, Node.State.active)).not().retired().size());
- assertEquals(5, NodeList.copyOf(tester.nodeRepository().nodes().getNodes(application, Node.State.active)).retired().size());
+ assertEquals(5, tester.nodeRepository().nodes().list(application, Node.State.active).not().retired().size());
+ assertEquals(5, tester.nodeRepository().nodes().list(application, Node.State.active).retired().size());
}
@Test
@@ -723,17 +724,17 @@ public class ProvisioningTest {
ClusterSpec cluster = ClusterSpec.request(ClusterSpec.Type.content, ClusterSpec.Id.from("music")).vespaVersion("4.5.6").build();
tester.activate(application, tester.prepare(application, cluster, capacityCanFail));
- assertEquals(0, NodeList.copyOf(tester.nodeRepository().nodes().getNodes(application, Node.State.active)).retired().size());
+ assertEquals(0, tester.nodeRepository().nodes().list(application, Node.State.active).retired().size());
- tester.patchNode(tester.nodeRepository().nodes().getNodes(application).stream().findAny().orElseThrow(), n -> n.withWantToRetire(true, Agent.system, tester.clock().instant()));
+ tester.patchNode(tester.nodeRepository().nodes().list(application).stream().findAny().orElseThrow(), n -> n.withWantToRetire(true, Agent.system, tester.clock().instant()));
tester.activate(application, tester.prepare(application, cluster, capacityCanFail));
- assertEquals(1, NodeList.copyOf(tester.nodeRepository().nodes().getNodes(application, Node.State.active)).retired().size());
- assertEquals(6, tester.nodeRepository().nodes().getNodes(application, Node.State.active).size());
+ assertEquals(1, tester.nodeRepository().nodes().list(application, Node.State.active).retired().size());
+ assertEquals(6, tester.nodeRepository().nodes().list(application, Node.State.active).size());
Capacity capacityCannotFail = Capacity.from(new ClusterResources(5, 1, defaultResources), false, false);
tester.activate(application, tester.prepare(application, cluster, capacityCannotFail));
- assertEquals(1, NodeList.copyOf(tester.nodeRepository().nodes().getNodes(application, Node.State.active)).retired().size());
- assertEquals(6, tester.nodeRepository().nodes().getNodes(application, Node.State.active).size());
+ assertEquals(1, tester.nodeRepository().nodes().list(application, Node.State.active).retired().size());
+ assertEquals(6, tester.nodeRepository().nodes().list(application, Node.State.active).size());
}
@Test
diff --git a/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/provisioning/ProvisioningTester.java b/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/provisioning/ProvisioningTester.java
index fde02c083dd..46418ee3439 100644
--- a/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/provisioning/ProvisioningTester.java
+++ b/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/provisioning/ProvisioningTester.java
@@ -143,7 +143,7 @@ public class ProvisioningTester {
public NodeRepositoryProvisioner provisioner() { return provisioner; }
public LoadBalancerServiceMock loadBalancerService() { return loadBalancerService; }
public CapacityPolicies capacityPolicies() { return capacityPolicies; }
- public NodeList getNodes(ApplicationId id, Node.State ... inState) { return NodeList.copyOf(nodeRepository.nodes().getNodes(id, inState)); }
+ public NodeList getNodes(ApplicationId id, Node.State ... inState) { return nodeRepository.nodes().list(id, inState); }
public Node patchNode(Node node, UnaryOperator<Node> patcher) {
return patchNodes(List.of(node), patcher).get(0);
@@ -170,12 +170,12 @@ public class ProvisioningTester {
}
public List<HostSpec> prepare(ApplicationId application, ClusterSpec cluster, Capacity capacity) {
- Set<String> reservedBefore = toHostNames(nodeRepository.nodes().getNodes(application, Node.State.reserved));
- Set<String> inactiveBefore = toHostNames(nodeRepository.nodes().getNodes(application, Node.State.inactive));
+ Set<String> reservedBefore = toHostNames(nodeRepository.nodes().list(application, Node.State.reserved));
+ Set<String> inactiveBefore = toHostNames(nodeRepository.nodes().list(application, Node.State.inactive));
List<HostSpec> hosts1 = provisioner.prepare(application, cluster, capacity, provisionLogger);
List<HostSpec> hosts2 = provisioner.prepare(application, cluster, capacity, provisionLogger);
assertEquals("Prepare is idempotent", hosts1, hosts2);
- Set<String> newlyActivated = toHostNames(nodeRepository.nodes().getNodes(application, Node.State.reserved));
+ Set<String> newlyActivated = toHostNames(nodeRepository.nodes().list(application, Node.State.reserved));
newlyActivated.removeAll(reservedBefore);
newlyActivated.removeAll(inactiveBefore);
return hosts1;
@@ -213,7 +213,7 @@ public class ProvisioningTester {
provisioner.activate(hosts, new ActivationContext(0), new ApplicationTransaction(lock, transaction));
transaction.commit();
}
- assertEquals(toHostNames(hosts), toHostNames(nodeRepository.nodes().getNodes(application, Node.State.active)));
+ assertEquals(toHostNames(hosts), toHostNames(nodeRepository.nodes().list(application, Node.State.active)));
return hosts;
}
@@ -250,7 +250,7 @@ public class ProvisioningTester {
return hosts.stream().map(HostSpec::hostname).collect(Collectors.toSet());
}
- public Set<String> toHostNames(List<Node> nodes) {
+ public Set<String> toHostNames(NodeList nodes) {
return nodes.stream().map(Node::hostname).collect(Collectors.toSet());
}
@@ -259,7 +259,7 @@ public class ProvisioningTester {
* number of matches to the given filters
*/
public void assertRestartCount(ApplicationId application, HostFilter... filters) {
- for (Node node : nodeRepository.nodes().getNodes(application, Node.State.active)) {
+ for (Node node : nodeRepository.nodes().list(application, Node.State.active)) {
int expectedRestarts = 0;
for (HostFilter filter : filters)
if (NodeHostFilter.from(filter).matches(node))
@@ -441,7 +441,7 @@ public class ProvisioningTester {
return nodes;
}
- public List<Node> makeConfigServers(int n, String flavor, Version configServersVersion) {
+ public NodeList makeConfigServers(int n, String flavor, Version configServersVersion) {
List<Node> nodes = new ArrayList<>(n);
MockNameResolver nameResolver = (MockNameResolver)nodeRepository().nameResolver();
@@ -464,7 +464,7 @@ public class ProvisioningTester {
application.getClusterSpecWithVersion(configServersVersion),
application.getCapacity());
activate(application.getApplicationId(), new HashSet<>(hosts));
- return nodeRepository.nodes().getNodes(application.getApplicationId(), Node.State.active);
+ return nodeRepository.nodes().list(application.getApplicationId(), Node.State.active);
}
public List<Node> makeReadyNodes(int n, String flavor, NodeType type, int ipAddressPoolSize) {
@@ -560,7 +560,7 @@ public class ProvisioningTester {
}
public void assertAllocatedOn(String explanation, String hostFlavor, ApplicationId app) {
- for (Node node : nodeRepository.nodes().getNodes(app)) {
+ for (Node node : nodeRepository.nodes().list(app)) {
Node parent = nodeRepository.nodes().getNode(node.parentHostname().get()).get();
assertEquals(node + ": " + explanation, hostFlavor, parent.flavor().name());
}
@@ -594,10 +594,10 @@ public class ProvisioningTester {
}
public int hostFlavorCount(String hostFlavor, ApplicationId app) {
- return (int)nodeRepository().nodes().getNodes(app).stream()
- .map(n -> nodeRepository().nodes().getNode(n.parentHostname().get()).get())
- .filter(p -> p.flavor().name().equals(hostFlavor))
- .count();
+ return (int)nodeRepository().nodes().list(app).stream()
+ .map(n -> nodeRepository().nodes().getNode(n.parentHostname().get()).get())
+ .filter(p -> p.flavor().name().equals(hostFlavor))
+ .count();
}
public static final class Builder {