aboutsummaryrefslogtreecommitdiffstats
path: root/controller-server/src/test
diff options
context:
space:
mode:
authorMartin Polden <mpolden@mpolden.no>2021-07-19 11:25:48 +0200
committerMartin Polden <mpolden@mpolden.no>2021-07-19 11:25:48 +0200
commite5cdbc1cc713c4013776bf471b6242c6b6c7d5fd (patch)
tree302fc9bcc2649310cdb52ebab0b9944df779dbc6 /controller-server/src/test
parentb4e04e695d8d72bc097328fe95e98782d84194af (diff)
Replace list overloading with NodeFilter
Diffstat (limited to 'controller-server/src/test')
-rw-r--r--controller-server/src/test/java/com/yahoo/vespa/hosted/controller/deployment/DeploymentContext.java6
-rw-r--r--controller-server/src/test/java/com/yahoo/vespa/hosted/controller/deployment/InternalStepRunnerTest.java3
-rw-r--r--controller-server/src/test/java/com/yahoo/vespa/hosted/controller/integration/ConfigServerMock.java15
-rw-r--r--controller-server/src/test/java/com/yahoo/vespa/hosted/controller/integration/NodeRepositoryMock.java25
-rw-r--r--controller-server/src/test/java/com/yahoo/vespa/hosted/controller/maintenance/CloudEventTrackerTest.java3
-rw-r--r--controller-server/src/test/java/com/yahoo/vespa/hosted/controller/maintenance/HostInfoUpdaterTest.java3
-rw-r--r--controller-server/src/test/java/com/yahoo/vespa/hosted/controller/maintenance/MetricsReporterTest.java15
-rw-r--r--controller-server/src/test/java/com/yahoo/vespa/hosted/controller/maintenance/OsUpgraderTest.java5
-rw-r--r--controller-server/src/test/java/com/yahoo/vespa/hosted/controller/maintenance/SystemUpgraderTest.java5
-rw-r--r--controller-server/src/test/java/com/yahoo/vespa/hosted/controller/maintenance/VcmrMaintainerTest.java11
-rw-r--r--controller-server/src/test/java/com/yahoo/vespa/hosted/controller/restapi/os/OsApiTest.java3
-rw-r--r--controller-server/src/test/java/com/yahoo/vespa/hosted/controller/versions/VersionStatusTest.java5
12 files changed, 51 insertions, 48 deletions
diff --git a/controller-server/src/test/java/com/yahoo/vespa/hosted/controller/deployment/DeploymentContext.java b/controller-server/src/test/java/com/yahoo/vespa/hosted/controller/deployment/DeploymentContext.java
index 5d6f1965009..420d0be04ac 100644
--- a/controller-server/src/test/java/com/yahoo/vespa/hosted/controller/deployment/DeploymentContext.java
+++ b/controller-server/src/test/java/com/yahoo/vespa/hosted/controller/deployment/DeploymentContext.java
@@ -20,6 +20,7 @@ import com.yahoo.vespa.hosted.controller.ControllerTester;
import com.yahoo.vespa.hosted.controller.Instance;
import com.yahoo.vespa.hosted.controller.api.identifiers.DeploymentId;
import com.yahoo.vespa.hosted.controller.api.integration.configserver.ConfigServerException;
+import com.yahoo.vespa.hosted.controller.api.integration.configserver.NodeFilter;
import com.yahoo.vespa.hosted.controller.api.integration.deployment.ApplicationVersion;
import com.yahoo.vespa.hosted.controller.api.integration.deployment.JobId;
import com.yahoo.vespa.hosted.controller.api.integration.deployment.JobType;
@@ -192,7 +193,8 @@ public class DeploymentContext {
for (var spec : application().deploymentSpec().instances())
for (JobType type : new DeploymentSteps(spec, tester.controller()::system).productionJobs())
assertTrue(tester.configServer().nodeRepository()
- .list(type.zone(tester.controller().system()), applicationId.defaultInstance()).stream() // TODO jonmv: support more
+ .list(type.zone(tester.controller().system()),
+ NodeFilter.all().applications(applicationId.defaultInstance())).stream() // TODO jonmv: support more
.allMatch(node -> node.currentVersion().equals(version)));
assertFalse(instance().change().hasTargets());
@@ -543,7 +545,7 @@ public class DeploymentContext {
assertTrue(jobs.run(id).get().hasEnded());
assertFalse(jobs.run(id).get().hasFailed());
assertEquals(job.type().isProduction(), instance().deployments().containsKey(zone));
- assertTrue(configServer().nodeRepository().list(zone, TesterId.of(id.application()).id()).isEmpty());
+ assertTrue(configServer().nodeRepository().list(zone, NodeFilter.all().applications(TesterId.of(id.application()).id())).isEmpty());
}
private JobId jobId(JobType type) {
diff --git a/controller-server/src/test/java/com/yahoo/vespa/hosted/controller/deployment/InternalStepRunnerTest.java b/controller-server/src/test/java/com/yahoo/vespa/hosted/controller/deployment/InternalStepRunnerTest.java
index 5e79f1e4d12..d685c6a2354 100644
--- a/controller-server/src/test/java/com/yahoo/vespa/hosted/controller/deployment/InternalStepRunnerTest.java
+++ b/controller-server/src/test/java/com/yahoo/vespa/hosted/controller/deployment/InternalStepRunnerTest.java
@@ -20,6 +20,7 @@ import com.yahoo.vespa.hosted.controller.api.application.v4.model.configserverbi
import com.yahoo.vespa.hosted.controller.api.integration.LogEntry;
import com.yahoo.vespa.hosted.controller.api.integration.configserver.ConfigServerException;
import com.yahoo.vespa.hosted.controller.api.integration.configserver.Node;
+import com.yahoo.vespa.hosted.controller.api.integration.configserver.NodeFilter;
import com.yahoo.vespa.hosted.controller.api.integration.deployment.JobType;
import com.yahoo.vespa.hosted.controller.api.integration.deployment.RunId;
import com.yahoo.vespa.hosted.controller.api.integration.deployment.TesterCloud;
@@ -194,7 +195,7 @@ public class InternalStepRunnerTest {
assertEquals(succeeded, tester.jobs().last(app.instanceId(), JobType.stagingTest).get().stepStatuses().get(Step.installTester));
Node systemTestNode = tester.configServer().nodeRepository().list(JobType.systemTest.zone(system()),
- app.instanceId()).iterator().next();
+ NodeFilter.all().applications(app.instanceId())).iterator().next();
tester.clock().advance(InternalStepRunner.Timeouts.of(system()).noNodesDown().minus(Duration.ofSeconds(1)));
tester.configServer().nodeRepository().putNodes(JobType.systemTest.zone(system()),
Node.builder(systemTestNode)
diff --git a/controller-server/src/test/java/com/yahoo/vespa/hosted/controller/integration/ConfigServerMock.java b/controller-server/src/test/java/com/yahoo/vespa/hosted/controller/integration/ConfigServerMock.java
index c66cc3710c9..e18542108c0 100644
--- a/controller-server/src/test/java/com/yahoo/vespa/hosted/controller/integration/ConfigServerMock.java
+++ b/controller-server/src/test/java/com/yahoo/vespa/hosted/controller/integration/ConfigServerMock.java
@@ -31,6 +31,7 @@ import com.yahoo.vespa.hosted.controller.api.integration.configserver.ContainerE
import com.yahoo.vespa.hosted.controller.api.integration.configserver.LoadBalancer;
import com.yahoo.vespa.hosted.controller.api.integration.configserver.Log;
import com.yahoo.vespa.hosted.controller.api.integration.configserver.Node;
+import com.yahoo.vespa.hosted.controller.api.integration.configserver.NodeFilter;
import com.yahoo.vespa.hosted.controller.api.integration.configserver.PrepareResponse;
import com.yahoo.vespa.hosted.controller.api.integration.configserver.ProxyResponse;
import com.yahoo.vespa.hosted.controller.api.integration.configserver.QuotaUsage;
@@ -133,7 +134,7 @@ public class ConfigServerMock extends AbstractComponent implements ConfigServer
new com.yahoo.vespa.hosted.controller.api.integration.configserver.Application(application,
List.of(cluster)));
- Node parent = nodeRepository().list(zone, SystemApplication.tenantHost.id()).stream().findAny()
+ Node parent = nodeRepository().list(zone, NodeFilter.all().applications(SystemApplication.tenantHost.id())).stream().findAny()
.orElseThrow(() -> new IllegalStateException("No parent hosts in " + zone));
nodeRepository().putNodes(zone, Node.builder().hostname(hostFor(application, zone))
.state(Node.State.reserved)
@@ -189,7 +190,7 @@ public class ConfigServerMock extends AbstractComponent implements ConfigServer
/** Converge all services belonging to the given application */
public void convergeServices(ApplicationId application, ZoneId zone) {
- List<Node> nodes = nodeRepository.list(zone, application);
+ List<Node> nodes = nodeRepository.list(zone, NodeFilter.all().applications(application));
serviceStatus.put(new DeploymentId(application, zone), new ServiceConvergence(application,
zone,
true,
@@ -219,7 +220,7 @@ public class ConfigServerMock extends AbstractComponent implements ConfigServer
/** Set version for an application in a given zone */
public void setVersion(Version version, ApplicationId application, ZoneId zone) {
- setVersion(zone, nodeRepository.list(zone, application), version, false);
+ setVersion(zone, nodeRepository.list(zone, NodeFilter.all().applications(application)), version, false);
}
/** Set version for nodeCount number of nodes in application in a given zone */
@@ -229,7 +230,7 @@ public class ConfigServerMock extends AbstractComponent implements ConfigServer
/** Set OS version for an application in a given zone */
public void setOsVersion(Version version, ApplicationId application, ZoneId zone) {
- setVersion(zone, nodeRepository.list(zone, application), version, true);
+ setVersion(zone, nodeRepository.list(zone, NodeFilter.all().applications(application)), version, true);
}
/** Set OS version for an application in a given zone */
@@ -382,7 +383,7 @@ public class ConfigServerMock extends AbstractComponent implements ConfigServer
applications.put(id, new Application(id.applicationId(), lastPrepareVersion, new ApplicationPackage(deployment.applicationPackage())));
ClusterSpec.Id cluster = ClusterSpec.Id.from("default");
- if (nodeRepository().list(id.zoneId(), id.applicationId()).isEmpty())
+ if (nodeRepository().list(id.zoneId(), NodeFilter.all().applications(id.applicationId())).isEmpty())
provision(id.zoneId(), id.applicationId(), cluster);
this.containerEndpoints.put(
@@ -405,7 +406,7 @@ public class ConfigServerMock extends AbstractComponent implements ConfigServer
return () -> {
Application application = applications.get(id);
application.activate();
- List<Node> nodes = nodeRepository.list(id.zoneId(), id.applicationId());
+ List<Node> nodes = nodeRepository.list(id.zoneId(), NodeFilter.all().applications(id.applicationId()));
for (Node node : nodes) {
nodeRepository.putNodes(id.zoneId(), Node.builder(node)
.state(Node.State.active)
@@ -471,7 +472,7 @@ public class ConfigServerMock extends AbstractComponent implements ConfigServer
public void deactivate(DeploymentId deployment) {
ApplicationId applicationId = deployment.applicationId();
nodeRepository().removeNodes(deployment.zoneId(),
- nodeRepository().list(deployment.zoneId(), applicationId));
+ nodeRepository().list(deployment.zoneId(), NodeFilter.all().applications(applicationId)));
if ( ! applications.containsKey(deployment))
return;
diff --git a/controller-server/src/test/java/com/yahoo/vespa/hosted/controller/integration/NodeRepositoryMock.java b/controller-server/src/test/java/com/yahoo/vespa/hosted/controller/integration/NodeRepositoryMock.java
index 8a9aa6b4b1b..543d89a2240 100644
--- a/controller-server/src/test/java/com/yahoo/vespa/hosted/controller/integration/NodeRepositoryMock.java
+++ b/controller-server/src/test/java/com/yahoo/vespa/hosted/controller/integration/NodeRepositoryMock.java
@@ -14,6 +14,7 @@ import com.yahoo.vespa.hosted.controller.api.integration.configserver.Applicatio
import com.yahoo.vespa.hosted.controller.api.integration.configserver.ApplicationStats;
import com.yahoo.vespa.hosted.controller.api.integration.configserver.Load;
import com.yahoo.vespa.hosted.controller.api.integration.configserver.Node;
+import com.yahoo.vespa.hosted.controller.api.integration.configserver.NodeFilter;
import com.yahoo.vespa.hosted.controller.api.integration.configserver.NodeRepoStats;
import com.yahoo.vespa.hosted.controller.api.integration.configserver.NodeRepository;
import com.yahoo.vespa.hosted.controller.api.integration.configserver.TargetVersions;
@@ -75,23 +76,13 @@ public class NodeRepositoryMock implements NodeRepository {
}
@Override
- public List<Node> list(ZoneId zone, boolean includeDeprovisioned) {
+ public List<Node> list(ZoneId zone, NodeFilter filter) {
return nodeRepository.getOrDefault(zone, Map.of()).values().stream()
- .filter(node -> includeDeprovisioned || node.state() != Node.State.deprovisioned)
- .collect(Collectors.toList());
- }
-
- @Override
- public List<Node> list(ZoneId zone, ApplicationId application) {
- return nodeRepository.getOrDefault(zone, Map.of()).values().stream()
- .filter(node -> node.owner().map(application::equals).orElse(false))
- .collect(Collectors.toList());
- }
-
- @Override
- public List<Node> list(ZoneId zone, List<HostName> hostnames) {
- return nodeRepository.getOrDefault(zone, Map.of()).values().stream()
- .filter(node -> hostnames.contains(node.hostname()))
+ .filter(node -> filter.includeDeprovisioned() || node.state() != Node.State.deprovisioned)
+ .filter(node -> filter.applications().isEmpty() ||
+ (node.owner().isPresent() && filter.applications().contains(node.owner().get())))
+ .filter(node -> filter.hostnames().isEmpty() || filter.hostnames().contains(node.hostname()))
+ .filter(node -> filter.states().isEmpty() || filter.states().contains(node.state()))
.collect(Collectors.toList());
}
@@ -344,7 +335,7 @@ public class NodeRepositoryMock implements NodeRepository {
if (hostname.isPresent()) {
nodes = List.of(require(zone, hostname.get()));
} else {
- nodes = list(zone, false);
+ nodes = list(zone, NodeFilter.all());
}
putNodes(zone, nodes.stream().map(patcher).collect(Collectors.toList()));
}
diff --git a/controller-server/src/test/java/com/yahoo/vespa/hosted/controller/maintenance/CloudEventTrackerTest.java b/controller-server/src/test/java/com/yahoo/vespa/hosted/controller/maintenance/CloudEventTrackerTest.java
index 17852547a0b..919b8386b2c 100644
--- a/controller-server/src/test/java/com/yahoo/vespa/hosted/controller/maintenance/CloudEventTrackerTest.java
+++ b/controller-server/src/test/java/com/yahoo/vespa/hosted/controller/maintenance/CloudEventTrackerTest.java
@@ -8,6 +8,7 @@ import com.yahoo.vespa.hosted.controller.ControllerTester;
import com.yahoo.vespa.hosted.controller.api.integration.aws.CloudEvent;
import com.yahoo.vespa.hosted.controller.api.integration.aws.MockCloudEventFetcher;
import com.yahoo.vespa.hosted.controller.api.integration.configserver.Node;
+import com.yahoo.vespa.hosted.controller.api.integration.configserver.NodeFilter;
import com.yahoo.vespa.hosted.controller.integration.ZoneApiMock;
import org.junit.Test;
@@ -128,7 +129,7 @@ public class CloudEventTrackerTest {
}
private Set<String> hostsNotDeprovisioning(ZoneId zoneId) {
- return tester.configServer().nodeRepository().list(zoneId, false)
+ return tester.configServer().nodeRepository().list(zoneId, NodeFilter.all())
.stream()
.filter(node -> !node.wantToDeprovision())
.map(node -> node.hostname().value())
diff --git a/controller-server/src/test/java/com/yahoo/vespa/hosted/controller/maintenance/HostInfoUpdaterTest.java b/controller-server/src/test/java/com/yahoo/vespa/hosted/controller/maintenance/HostInfoUpdaterTest.java
index 56f8de494f0..bc17e53c0ca 100644
--- a/controller-server/src/test/java/com/yahoo/vespa/hosted/controller/maintenance/HostInfoUpdaterTest.java
+++ b/controller-server/src/test/java/com/yahoo/vespa/hosted/controller/maintenance/HostInfoUpdaterTest.java
@@ -6,6 +6,7 @@ import com.yahoo.config.provision.NodeType;
import com.yahoo.config.provision.zone.ZoneId;
import com.yahoo.vespa.hosted.controller.ControllerTester;
import com.yahoo.vespa.hosted.controller.api.integration.configserver.Node;
+import com.yahoo.vespa.hosted.controller.api.integration.configserver.NodeFilter;
import com.yahoo.vespa.hosted.controller.api.integration.entity.NodeEntity;
import org.junit.Test;
@@ -108,7 +109,7 @@ public class HostInfoUpdaterTest {
private static List<Node> allNodes(ControllerTester tester) {
List<Node> nodes = new ArrayList<>();
for (var zone : tester.zoneRegistry().zones().controllerUpgraded().all().ids()) {
- nodes.addAll(tester.serviceRegistry().configServer().nodeRepository().list(zone, false));
+ nodes.addAll(tester.serviceRegistry().configServer().nodeRepository().list(zone, NodeFilter.all()));
}
return nodes;
}
diff --git a/controller-server/src/test/java/com/yahoo/vespa/hosted/controller/maintenance/MetricsReporterTest.java b/controller-server/src/test/java/com/yahoo/vespa/hosted/controller/maintenance/MetricsReporterTest.java
index 3789777a8fc..a9046a8e060 100644
--- a/controller-server/src/test/java/com/yahoo/vespa/hosted/controller/maintenance/MetricsReporterTest.java
+++ b/controller-server/src/test/java/com/yahoo/vespa/hosted/controller/maintenance/MetricsReporterTest.java
@@ -14,6 +14,7 @@ import com.yahoo.vespa.hosted.controller.Controller;
import com.yahoo.vespa.hosted.controller.ControllerTester;
import com.yahoo.vespa.hosted.controller.api.integration.billing.PlanId;
import com.yahoo.vespa.hosted.controller.api.integration.configserver.Node;
+import com.yahoo.vespa.hosted.controller.api.integration.configserver.NodeFilter;
import com.yahoo.vespa.hosted.controller.application.ApplicationPackage;
import com.yahoo.vespa.hosted.controller.application.Change;
import com.yahoo.vespa.hosted.controller.application.SystemApplication;
@@ -300,7 +301,7 @@ public class MetricsReporterTest {
var version0 = Version.fromString("7.0");
tester.upgradeSystem(version0);
reporter.maintain();
- var hosts = tester.configServer().nodeRepository().list(zone, SystemApplication.configServer.id());
+ var hosts = tester.configServer().nodeRepository().list(zone, NodeFilter.all().applications(SystemApplication.configServer.id()));
assertPlatformChangeDuration(Duration.ZERO, hosts);
var targets = List.of(Version.fromString("7.1"), Version.fromString("7.2"));
@@ -361,7 +362,7 @@ public class MetricsReporterTest {
tester.configServer().setOsVersion(version0, SystemApplication.tenantHost.id(), zone);
tester.configServer().setOsVersion(version0, SystemApplication.configServerHost.id(), zone);
runAll(statusUpdater, reporter);
- List<Node> hosts = tester.configServer().nodeRepository().list(zone, false);
+ List<Node> hosts = tester.configServer().nodeRepository().list(zone, NodeFilter.all());
assertOsChangeDuration(Duration.ZERO, hosts);
var targets = List.of(Version.fromString("8.1"), Version.fromString("8.2"));
@@ -382,10 +383,10 @@ public class MetricsReporterTest {
// Nodes are told to upgrade, but do not suspend yet
assertEquals("Wanted OS version is raised for all nodes", nextVersion,
- tester.configServer().nodeRepository().list(zone, SystemApplication.tenantHost.id()).stream()
+ tester.configServer().nodeRepository().list(zone, NodeFilter.all().applications(SystemApplication.tenantHost.id())).stream()
.map(Node::wantedOsVersion).min(Comparator.naturalOrder()).get());
assertTrue("No nodes are suspended", tester.controller().serviceRegistry().configServer()
- .nodeRepository().list(zone, false).stream()
+ .nodeRepository().list(zone, NodeFilter.all()).stream()
.noneMatch(node -> node.serviceState() == Node.ServiceState.allowedDown));
// Another 30 minutes pass
@@ -536,9 +537,9 @@ public class MetricsReporterTest {
}
private List<Node> getNodes(ZoneId zone, List<Node> nodes, ControllerTester tester) {
- return tester.configServer().nodeRepository().list(zone, nodes.stream()
- .map(Node::hostname)
- .collect(Collectors.toList()));
+ return tester.configServer().nodeRepository().list(zone, NodeFilter.all().hostnames(nodes.stream()
+ .map(Node::hostname)
+ .collect(Collectors.toSet())));
}
private void updateNodes(List<Node> nodes, UnaryOperator<Node.Builder> builderOps, ZoneId zone,
diff --git a/controller-server/src/test/java/com/yahoo/vespa/hosted/controller/maintenance/OsUpgraderTest.java b/controller-server/src/test/java/com/yahoo/vespa/hosted/controller/maintenance/OsUpgraderTest.java
index eca000ff969..ee4c39c2924 100644
--- a/controller-server/src/test/java/com/yahoo/vespa/hosted/controller/maintenance/OsUpgraderTest.java
+++ b/controller-server/src/test/java/com/yahoo/vespa/hosted/controller/maintenance/OsUpgraderTest.java
@@ -8,6 +8,7 @@ import com.yahoo.config.provision.zone.ZoneApi;
import com.yahoo.config.provision.zone.ZoneId;
import com.yahoo.vespa.hosted.controller.ControllerTester;
import com.yahoo.vespa.hosted.controller.api.integration.configserver.Node;
+import com.yahoo.vespa.hosted.controller.api.integration.configserver.NodeFilter;
import com.yahoo.vespa.hosted.controller.application.SystemApplication;
import com.yahoo.vespa.hosted.controller.integration.NodeRepositoryMock;
import com.yahoo.vespa.hosted.controller.integration.ZoneApiMock;
@@ -261,14 +262,14 @@ public class OsUpgraderTest {
}
private List<Node> nodesRequiredToUpgrade(ZoneApi zone, SystemApplication application) {
- return nodeRepository().list(zone.getVirtualId(), application.id())
+ return nodeRepository().list(zone.getVirtualId(), NodeFilter.all().applications(application.id()))
.stream()
.filter(OsUpgrader::canUpgrade)
.collect(Collectors.toList());
}
private void failNodeIn(ZoneApi zone, SystemApplication application) {
- List<Node> nodes = nodeRepository().list(zone.getVirtualId(), application.id());
+ List<Node> nodes = nodeRepository().list(zone.getVirtualId(), NodeFilter.all().applications(application.id()));
if (nodes.isEmpty()) {
throw new IllegalArgumentException("No nodes allocated to " + application.id());
}
diff --git a/controller-server/src/test/java/com/yahoo/vespa/hosted/controller/maintenance/SystemUpgraderTest.java b/controller-server/src/test/java/com/yahoo/vespa/hosted/controller/maintenance/SystemUpgraderTest.java
index 8090765b5f9..7d6da68440e 100644
--- a/controller-server/src/test/java/com/yahoo/vespa/hosted/controller/maintenance/SystemUpgraderTest.java
+++ b/controller-server/src/test/java/com/yahoo/vespa/hosted/controller/maintenance/SystemUpgraderTest.java
@@ -6,6 +6,7 @@ import com.yahoo.config.provision.zone.UpgradePolicy;
import com.yahoo.config.provision.zone.ZoneApi;
import com.yahoo.vespa.hosted.controller.ControllerTester;
import com.yahoo.vespa.hosted.controller.api.integration.configserver.Node;
+import com.yahoo.vespa.hosted.controller.api.integration.configserver.NodeFilter;
import com.yahoo.vespa.hosted.controller.application.SystemApplication;
import com.yahoo.vespa.hosted.controller.integration.NodeRepositoryMock;
import com.yahoo.vespa.hosted.controller.integration.ZoneApiMock;
@@ -322,7 +323,7 @@ public class SystemUpgraderTest {
}
private void failNodeIn(ZoneApi zone, SystemApplication application) {
- List<Node> nodes = nodeRepository().list(zone.getId(), application.id());
+ List<Node> nodes = nodeRepository().list(zone.getId(), NodeFilter.all().applications(application.id()));
if (nodes.isEmpty()) {
throw new IllegalArgumentException("No nodes allocated to " + application.id());
}
@@ -372,7 +373,7 @@ public class SystemUpgraderTest {
}
private List<Node> listNodes(ZoneApi zone, SystemApplication application) {
- return nodeRepository().list(zone.getId(), application.id()).stream()
+ return nodeRepository().list(zone.getId(), NodeFilter.all().applications(application.id())).stream()
.filter(SystemUpgrader::eligibleForUpgrade)
.collect(Collectors.toList());
}
diff --git a/controller-server/src/test/java/com/yahoo/vespa/hosted/controller/maintenance/VcmrMaintainerTest.java b/controller-server/src/test/java/com/yahoo/vespa/hosted/controller/maintenance/VcmrMaintainerTest.java
index 1d66434ea42..a2da6e357b6 100644
--- a/controller-server/src/test/java/com/yahoo/vespa/hosted/controller/maintenance/VcmrMaintainerTest.java
+++ b/controller-server/src/test/java/com/yahoo/vespa/hosted/controller/maintenance/VcmrMaintainerTest.java
@@ -5,6 +5,7 @@ import com.yahoo.config.provision.NodeType;
import com.yahoo.config.provision.zone.ZoneId;
import com.yahoo.vespa.hosted.controller.ControllerTester;
import com.yahoo.vespa.hosted.controller.api.integration.configserver.Node;
+import com.yahoo.vespa.hosted.controller.api.integration.configserver.NodeFilter;
import com.yahoo.vespa.hosted.controller.api.integration.vcmr.ChangeRequest;
import com.yahoo.vespa.hosted.controller.api.integration.vcmr.ChangeRequestSource;
import com.yahoo.vespa.hosted.controller.api.integration.vcmr.HostAction;
@@ -66,7 +67,7 @@ public class VcmrMaintainerTest {
maintainer.maintain();
// Only the parked node is recycled, VCMR report is cleared
- var nodeList = nodeRepo.list(zoneId, List.of(host1, host2));
+ var nodeList = nodeRepo.list(zoneId, NodeFilter.all().hostnames(host1, host2));
assertEquals(Node.State.dirty, nodeList.get(0).state());
assertEquals(Node.State.failed, nodeList.get(1).state());
@@ -111,7 +112,7 @@ public class VcmrMaintainerTest {
assertEquals(State.NONE, failedNodeAction.getState());
assertEquals(Status.IN_PROGRESS, writtenChangeRequest.getStatus());
- activeNode = nodeRepo.list(zoneId, List.of(activeNode.hostname())).get(0);
+ activeNode = nodeRepo.list(zoneId, NodeFilter.all().hostnames(activeNode.hostname())).get(0);
assertTrue(activeNode.wantToRetire());
}
@@ -168,7 +169,7 @@ public class VcmrMaintainerTest {
var approvedChangeRequests = tester.serviceRegistry().changeRequestClient().getApprovedChangeRequests();
assertEquals(1, approvedChangeRequests.size());
- activeNode = nodeRepo.list(zoneId, List.of(host2)).get(0);
+ activeNode = nodeRepo.list(zoneId, NodeFilter.all().hostnames(host2)).get(0);
var report = VcmrReport.fromReports(activeNode.reports());
var reportAdded = report.getVcmrs().stream()
.filter(vcmr -> vcmr.getId().equals(changeRequestId))
@@ -190,11 +191,11 @@ public class VcmrMaintainerTest {
var hostAction = writtenChangeRequest.getHostActionPlan().get(0);
assertEquals(State.PENDING_RETIREMENT, hostAction.getState());
- parkedNode = nodeRepo.list(zoneId, List.of(parkedNode.hostname())).get(0);
+ parkedNode = nodeRepo.list(zoneId, NodeFilter.all().hostnames(parkedNode.hostname())).get(0);
assertEquals(Node.State.dirty, parkedNode.state());
assertFalse(parkedNode.wantToRetire());
- retiringNode = nodeRepo.list(zoneId, List.of(retiringNode.hostname())).get(0);
+ retiringNode = nodeRepo.list(zoneId, NodeFilter.all().hostnames(retiringNode.hostname())).get(0);
assertEquals(Node.State.active, retiringNode.state());
assertFalse(retiringNode.wantToRetire());
}
diff --git a/controller-server/src/test/java/com/yahoo/vespa/hosted/controller/restapi/os/OsApiTest.java b/controller-server/src/test/java/com/yahoo/vespa/hosted/controller/restapi/os/OsApiTest.java
index c1358decf19..90685980835 100644
--- a/controller-server/src/test/java/com/yahoo/vespa/hosted/controller/restapi/os/OsApiTest.java
+++ b/controller-server/src/test/java/com/yahoo/vespa/hosted/controller/restapi/os/OsApiTest.java
@@ -10,6 +10,7 @@ import com.yahoo.config.provision.zone.ZoneId;
import com.yahoo.vespa.athenz.api.AthenzIdentity;
import com.yahoo.vespa.athenz.api.AthenzUser;
import com.yahoo.vespa.hosted.controller.api.integration.configserver.Node;
+import com.yahoo.vespa.hosted.controller.api.integration.configserver.NodeFilter;
import com.yahoo.vespa.hosted.controller.application.SystemApplication;
import com.yahoo.vespa.hosted.controller.integration.NodeRepositoryMock;
import com.yahoo.vespa.hosted.controller.integration.ZoneApiMock;
@@ -140,7 +141,7 @@ public class OsApiTest extends ControllerContainerTest {
for (ZoneId zone : zones) {
for (SystemApplication application : SystemApplication.all()) {
var targetVersion = nodeRepository().targetVersionsOf(zone).osVersion(application.nodeType());
- for (Node node : nodeRepository().list(zone, application.id())) {
+ for (Node node : nodeRepository().list(zone, NodeFilter.all().applications(application.id()))) {
var version = targetVersion.orElse(node.wantedOsVersion());
nodeRepository().putNodes(zone, Node.builder(node).currentOsVersion(version).wantedOsVersion(version).build());
}
diff --git a/controller-server/src/test/java/com/yahoo/vespa/hosted/controller/versions/VersionStatusTest.java b/controller-server/src/test/java/com/yahoo/vespa/hosted/controller/versions/VersionStatusTest.java
index 6e70fb8c3cb..03002aee955 100644
--- a/controller-server/src/test/java/com/yahoo/vespa/hosted/controller/versions/VersionStatusTest.java
+++ b/controller-server/src/test/java/com/yahoo/vespa/hosted/controller/versions/VersionStatusTest.java
@@ -9,6 +9,7 @@ import com.yahoo.config.provision.zone.ZoneApi;
import com.yahoo.vespa.hosted.controller.Controller;
import com.yahoo.vespa.hosted.controller.ControllerTester;
import com.yahoo.vespa.hosted.controller.api.integration.configserver.Node;
+import com.yahoo.vespa.hosted.controller.api.integration.configserver.NodeFilter;
import com.yahoo.vespa.hosted.controller.api.integration.deployment.JobId;
import com.yahoo.vespa.hosted.controller.api.integration.deployment.JobType;
import com.yahoo.vespa.hosted.controller.application.ApplicationPackage;
@@ -69,7 +70,7 @@ public class VersionStatusTest {
Version version1 = Version.fromString("6.5");
// Upgrade some config servers
for (ZoneApi zone : tester.zoneRegistry().zones().all().zones()) {
- for (Node node : tester.configServer().nodeRepository().list(zone.getId(), SystemApplication.configServer.id())) {
+ for (Node node : tester.configServer().nodeRepository().list(zone.getId(), NodeFilter.all().applications(SystemApplication.configServer.id()))) {
Node upgradedNode = Node.builder(node).currentVersion(version1).build();
tester.configServer().nodeRepository().putNodes(zone.getId(), upgradedNode);
break;
@@ -113,7 +114,7 @@ public class VersionStatusTest {
// Downgrade one config server in each zone
Version ancientVersion = Version.fromString("5.1");
for (ZoneApi zone : tester.controller().zoneRegistry().zones().all().zones()) {
- for (Node node : tester.configServer().nodeRepository().list(zone.getId(), SystemApplication.configServer.id())) {
+ for (Node node : tester.configServer().nodeRepository().list(zone.getId(), NodeFilter.all().applications(SystemApplication.configServer.id()))) {
Node downgradedNode = Node.builder(node).currentVersion(ancientVersion).build();
tester.configServer().nodeRepository().putNodes(zone.getId(), downgradedNode);
break;