diff options
Diffstat (limited to 'node-repository/src/test/java')
11 files changed, 39 insertions, 64 deletions
diff --git a/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/NodeRepositoryTest.java b/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/NodeRepositoryTest.java index 567e71c7f9e..351f9fe44ee 100644 --- a/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/NodeRepositoryTest.java +++ b/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/NodeRepositoryTest.java @@ -14,7 +14,6 @@ import java.time.Instant; import java.util.List; import java.util.Set; import java.util.function.Predicate; -import java.util.stream.Collectors; import static org.junit.Assert.assertEquals; import static org.junit.Assert.assertFalse; @@ -281,9 +280,7 @@ public class NodeRepositoryTest { } private static Set<String> filterNodes(NodeRepositoryTester tester, Predicate<Node> filter) { - return tester.nodeRepository().nodes().list().matching(filter).stream() - .map(Node::hostname) - .collect(Collectors.toSet()); + return tester.nodeRepository().nodes().list().matching(filter).hostnames(); } } diff --git a/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/maintenance/DynamicProvisioningMaintainerTest.java b/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/maintenance/DynamicProvisioningMaintainerTest.java index b761f743687..dcfa9f5e3db 100644 --- a/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/maintenance/DynamicProvisioningMaintainerTest.java +++ b/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/maintenance/DynamicProvisioningMaintainerTest.java @@ -90,8 +90,7 @@ public class DynamicProvisioningMaintainerTest { assertTrue("No IP addresses assigned", Stream.of(host4, host41).map(node -> node.ipConfig().primary()).allMatch(Set::isEmpty)); tester.maintainer.maintain(); - assertEquals(Set.of("host4", "host4-1"), - tester.nodeRepository.nodes().list(Node.State.failed).stream().map(Node::hostname).collect(Collectors.toSet())); + assertEquals(Set.of("host4", "host4-1"), tester.nodeRepository.nodes().list(Node.State.failed).hostnames()); } @Test diff --git a/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/maintenance/FailedExpirerTest.java b/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/maintenance/FailedExpirerTest.java index db0dac3edb8..6ec4853dbca 100644 --- a/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/maintenance/FailedExpirerTest.java +++ b/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/maintenance/FailedExpirerTest.java @@ -339,12 +339,9 @@ public class FailedExpirerTest { } public void assertNodesIn(Node.State state, String... hostnames) { - assertEquals(Stream.of(hostnames).collect(Collectors.toSet()), - nodeRepository.nodes() - .list(state).stream() - .map(Node::hostname) - .collect(Collectors.toSet())); + assertEquals(Set.of(hostnames), nodeRepository.nodes().list(state).hostnames()); } + } } 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 4d19c2c1d41..7690365f244 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 @@ -19,7 +19,6 @@ import java.util.List; import java.util.Map; import java.util.Set; import java.util.function.Supplier; -import java.util.stream.Collectors; import static org.junit.Assert.assertEquals; import static org.junit.Assert.assertFalse; @@ -134,10 +133,10 @@ public class LoadBalancerExpirerTest { } private void removeNodesOf(ApplicationId application, ClusterSpec.Id cluster) { - var nodes = tester.nodeRepository().nodes().list().owner(application).stream() - .filter(node -> node.allocation().isPresent()) - .filter(node -> node.allocation().get().membership().cluster().id().equals(cluster)) - .collect(Collectors.toList()); + var nodes = tester.nodeRepository().nodes().list() + .owner(application) + .cluster(cluster) + .asList(); nodes = tester.nodeRepository().nodes().deallocate(nodes, Agent.system, getClass().getSimpleName()); tester.nodeRepository().nodes().setReady(nodes, Agent.system, getClass().getSimpleName()); } 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 5043529507f..02d8c94941b 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 @@ -173,7 +173,7 @@ public class RetiredExpirerTest { public void config_server_reprovisioning() throws OrchestrationException { NodeList configServers = tester.makeConfigServers(3, "default", Version.emptyVersion); var cfg1 = new HostName("cfg1"); - assertEquals(Set.of(cfg1.s(), "cfg2", "cfg3"), configServers.stream().map(Node::hostname).collect(Collectors.toSet())); + assertEquals(Set.of(cfg1.s(), "cfg2", "cfg3"), configServers.hostnames()); var configServerApplication = new ConfigServerApplication(); var duperModel = new MockDuperModel().support(configServerApplication); @@ -249,12 +249,10 @@ public class RetiredExpirerTest { // There are now 2 retired config servers left retiredExpirer.run(); assertEquals(3, tester.nodeRepository().nodes().list(Node.State.active).nodeType(NodeType.config).size()); - var retiredHostnames = tester.nodeRepository() - .nodes().list(() -> {}) - .stream() - .filter(n -> n.allocation().map(allocation -> allocation.membership().retired()).orElse(false)) - .map(Node::hostname) - .collect(Collectors.toSet()); + Set<String> retiredHostnames = tester.nodeRepository() + .nodes().list() + .matching(n -> n.allocation().map(allocation -> allocation.membership().retired()).orElse(false)) + .hostnames(); assertEquals(Set.of("cfg2", "cfg3"), retiredHostnames); } diff --git a/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/os/OsVersionsTest.java b/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/os/OsVersionsTest.java index 1a81511e698..333b1bb3558 100644 --- a/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/os/OsVersionsTest.java +++ b/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/os/OsVersionsTest.java @@ -310,8 +310,8 @@ public class OsVersionsTest { versions.setTarget(NodeType.host, version2, totalBudget, false); versions.resumeUpgradeOf(NodeType.host, true); NodeList nonFailingHosts = hostNodes.get().except(failedHost); - assertTrue("Wanted version is set", nonFailingHosts.except(failedHost).stream() - .allMatch(node -> node.status().osVersion().wanted().isPresent())); + assertTrue("Wanted version is set", nonFailingHosts.stream() + .allMatch(node -> node.status().osVersion().wanted().isPresent())); setCurrentVersion(nonFailingHosts.asList(), version2); assertEquals(10, hostNodes.get().except(failedHost).onOsVersion(version2).size()); 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 0c1466e7bf0..8d9e79218d4 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 @@ -35,7 +35,6 @@ import java.util.List; import java.util.Map; import java.util.Optional; import java.util.Set; -import java.util.stream.Collectors; import static org.junit.Assert.assertEquals; import static org.junit.Assert.assertTrue; @@ -524,10 +523,9 @@ public class DynamicDockerAllocationTest { private List<Node> findSpareCapacity(ProvisioningTester tester) { NodeList nodes = tester.nodeRepository().nodes().list(State.values()); - return nodes.stream() - .filter(n -> n.type() == NodeType.host) - .filter(n -> nodes.childrenOf(n).size() == 0) // Nodes without children - .collect(Collectors.toList()); + return nodes.nodeType(NodeType.host) + .matching(host -> nodes.childrenOf(host).size() == 0) // Hosts without children + .asList(); } private FlavorsConfig flavorsConfig() { 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 a6e67f2747c..f5cf9dbb471 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 @@ -77,9 +77,8 @@ public class DynamicDockerProvisionTest { // Total of 8 nodes should now be in node-repo, 4 active hosts and 4 active nodes assertEquals(8, tester.nodeRepository().nodes().list().size()); assertEquals(4, tester.nodeRepository().nodes().list(Node.State.active).nodeType(NodeType.host).size()); - assertEquals(List.of("host-100-1", "host-101-1", "host-102-1", "host-103-1"), - tester.nodeRepository().nodes().list(Node.State.active).nodeType(NodeType.tenant).stream() - .map(Node::hostname).sorted().collect(Collectors.toList())); + assertEquals(Set.of("host-100-1", "host-101-1", "host-102-1", "host-103-1"), + tester.nodeRepository().nodes().list(Node.State.active).nodeType(NodeType.tenant).hostnames()); // Deploy new application ApplicationId application2 = ProvisioningTester.applicationId(); @@ -88,10 +87,9 @@ public class DynamicDockerProvisionTest { // Total of 12 nodes should now be in node-repo, 4 active hosts and 8 active nodes assertEquals(12, tester.nodeRepository().nodes().list().size()); assertEquals(4, tester.nodeRepository().nodes().list(Node.State.active).nodeType(NodeType.host).size()); - assertEquals(List.of("host-100-1", "host-100-2", "host-101-1", "host-101-2", "host-102-1", "host-102-2", - "host-103-1", "host-103-2"), - tester.nodeRepository().nodes().list(Node.State.active).nodeType(NodeType.tenant).stream() - .map(Node::hostname).sorted().collect(Collectors.toList())); + assertEquals(Set.of("host-100-1", "host-100-2", "host-101-1", "host-101-2", "host-102-1", "host-102-2", + "host-103-1", "host-103-2"), + tester.nodeRepository().nodes().list(Node.State.active).nodeType(NodeType.tenant).hostnames()); // Deploy new exclusive application ApplicationId application3 = ProvisioningTester.applicationId(); @@ -165,19 +163,19 @@ public class DynamicDockerProvisionTest { mockHostProvisioner(hostProvisioner, "large", 3, null); // Provision shared hosts prepareAndActivate(application1, clusterSpec("mycluster"), 4, 1, resources); - Set<Node> initialNodes = tester.nodeRepository().nodes().list().owner(application1).stream().collect(Collectors.toSet()); + NodeList initialNodes = tester.nodeRepository().nodes().list().owner(application1); assertEquals(4, initialNodes.size()); // Redeploy same application with exclusive=true mockHostProvisioner(hostProvisioner, "large", 3, application1); prepareAndActivate(application1, clusterSpec("mycluster", true), 4, 1, resources); assertEquals(8, tester.nodeRepository().nodes().list().owner(application1).size()); - assertEquals(initialNodes, tester.nodeRepository().nodes().list().owner(application1).retired().stream().collect(Collectors.toSet())); + assertEquals(initialNodes, tester.nodeRepository().nodes().list().owner(application1).retired()); // Redeploy without exclusive again is no-op prepareAndActivate(application1, clusterSpec("mycluster"), 4, 1, resources); assertEquals(8, tester.nodeRepository().nodes().list().owner(application1).size()); - assertEquals(initialNodes, tester.nodeRepository().nodes().list().owner(application1).retired().stream().collect(Collectors.toSet())); + assertEquals(initialNodes, tester.nodeRepository().nodes().list().owner(application1).retired()); } @Test diff --git a/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/provisioning/InPlaceResizeProvisionTest.java b/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/provisioning/InPlaceResizeProvisionTest.java index 4fd51f38fb6..8f07e57a26b 100644 --- a/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/provisioning/InPlaceResizeProvisionTest.java +++ b/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/provisioning/InPlaceResizeProvisionTest.java @@ -20,7 +20,6 @@ import org.junit.Test; import java.util.Collection; import java.util.HashSet; import java.util.Set; -import java.util.stream.Collectors; import static com.yahoo.config.provision.NodeResources.DiskSpeed.fast; import static com.yahoo.config.provision.NodeResources.StorageType.local; @@ -96,7 +95,7 @@ public class InPlaceResizeProvisionTest { .prepare(container1, 4, 1, smallResources) .prepare(container2, 4, 1, mediumResources) .activate(); - Set<String> container1Hostnames = listCluster(container1).stream().map(Node::hostname).collect(Collectors.toSet()); + Set<String> container1Hostnames = listCluster(container1).hostnames(); assertSizeAndResources(container1, 4, new NodeResources(2, 4, 80, 1, fast, local)); assertSizeAndResources(container2, 4, new NodeResources(4, 8, 160, 1, fast, local)); @@ -104,7 +103,7 @@ public class InPlaceResizeProvisionTest { .prepare(container1, 4, 1, mediumResources) .prepare(container2, 4, 1, smallResources) .activate(); - assertEquals(container1Hostnames, listCluster(container1).stream().map(Node::hostname).collect(Collectors.toSet())); + assertEquals(container1Hostnames, listCluster(container1).hostnames()); assertSizeAndResources(container1, 4, new NodeResources(4, 8, 160, 1, fast, local)); assertSizeAndResources(container2, 4, new NodeResources(2, 4, 80, 1, fast, local)); assertEquals("No nodes are retired", 0, tester.getNodes(app, Node.State.active).retired().size()); @@ -115,11 +114,11 @@ public class InPlaceResizeProvisionTest { addParentHosts(6, largeResources.with(fast).with(local)); new PrepareHelper(tester, app).prepare(container1, 4, 1, mediumResources).activate(); - Set<String> initialHostnames = listCluster(container1).stream().map(Node::hostname).collect(Collectors.toSet()); + Set<String> initialHostnames = listCluster(container1).hostnames(); new PrepareHelper(tester, app) .prepare(container1, 6, 1, largeResources).activate(); - assertTrue(listCluster(container1).stream().map(Node::hostname).collect(Collectors.toSet()).containsAll(initialHostnames)); + assertTrue(listCluster(container1).hostnames().containsAll(initialHostnames)); assertSizeAndResources(container1, 6, new NodeResources(8, 16, 320, 1, fast, local)); assertEquals("No nodes are retired", 0, tester.getNodes(app, Node.State.active).retired().size()); } @@ -144,8 +143,7 @@ public class InPlaceResizeProvisionTest { // 2 of the nodes will be increased in-place and 2 will be allocated to the new hosts. addParentHosts(2, new NodeResources(8, 16, 320, 8, fast, local)); - Set<String> initialHostnames = listCluster(container1).stream().map(Node::hostname) - .collect(Collectors.collectingAndThen(Collectors.toSet(), HashSet::new)); + Set<String> initialHostnames = new HashSet<>(listCluster(container1).hostnames()); new PrepareHelper(tester, app).prepare(container1, 4, 1, largeResources).activate(); NodeList appNodes = tester.getNodes(app, Node.State.active); assertEquals(6, appNodes.size()); // 4 nodes with large resources + 2 retired nodes with medium resources 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 d6ceef81b04..cd89cea60e3 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 @@ -106,14 +106,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()), - tester.toHostNames(tester.nodeRepository().nodes().list(Node.State.inactive).owner(application1))); + assertEquals(previouslyActive.not().container().hostnames(), + tester.nodeRepository().nodes().list(Node.State.inactive).owner(application1).hostnames()); 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().list(Node.State.active).owner(application2))); + assertEquals(state1App2.hostNames(), tester.nodeRepository().nodes().list(Node.State.active).owner(application2).hostnames()); // fail a node from app2 and make sure it does not get inactive nodes from first HostSpec failed = tester.removeOne(state1App2.allHosts); @@ -706,7 +706,7 @@ public class ProvisioningTest { tester.activate(application, tester.prepare(application, cluster, capacityCanFail)); assertEquals(0, tester.nodeRepository().nodes().list(Node.State.active).owner(application).retired().size()); - tester.patchNode(tester.nodeRepository().nodes().list().owner(application).stream().findAny().orElseThrow(), n -> n.withWantToRetire(true, Agent.system, tester.clock().instant())); + tester.patchNode(tester.nodeRepository().nodes().list().owner(application).first().orElseThrow(), n -> n.withWantToRetire(true, Agent.system, tester.clock().instant())); tester.activate(application, tester.prepare(application, cluster, capacityCanFail)); assertEquals(1, tester.nodeRepository().nodes().list(Node.State.active).owner(application).retired().size()); assertEquals(6, tester.nodeRepository().nodes().list(Node.State.active).owner(application).size()); @@ -807,11 +807,11 @@ public class ProvisioningTest { assertEquals(10, list.state(Node.State.active).nodeType(NodeType.host).size()); // Pick out 5 random nodes and retire those - Set<String> retiredHostnames = list.shuffle(new Random()).stream().map(Node::hostname).limit(5).collect(Collectors.toSet()); + Set<String> retiredHostnames = list.shuffle(new Random()).first(5).hostnames(); tester.patchNodes(node -> retiredHostnames.contains(node.hostname()), node -> node.withWantToRetire(true, Agent.system, tester.clock().instant())); tester.prepareAndActivateInfraApplication(tenantHostAppId, NodeType.host); - assertEquals(retiredHostnames, tester.nodeRepository().nodes().list().retired().stream().map(Node::hostname).collect(Collectors.toSet())); + assertEquals(retiredHostnames, tester.nodeRepository().nodes().list().retired().hostnames()); Set<String> unretiredHostnames = retiredHostnames.stream().limit(2).collect(Collectors.toSet()); tester.patchNodes(node -> unretiredHostnames.contains(node.hostname()), node -> node.withWantToRetire(false, Agent.system, tester.clock().instant())); 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 f987d796a3a..d2140055a63 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 @@ -156,7 +156,7 @@ public class ProvisioningTester { } public List<Node> patchNodes(Predicate<Node> filter, UnaryOperator<Node> patcher) { - return patchNodes(nodeRepository.nodes().list().stream().filter(filter).collect(Collectors.toList()), patcher); + return patchNodes(nodeRepository.nodes().list().matching(filter).asList(), patcher); } public List<Node> patchNodes(List<Node> nodes, UnaryOperator<Node> patcher) { @@ -180,14 +180,9 @@ public class ProvisioningTester { } public List<HostSpec> prepare(ApplicationId application, ClusterSpec cluster, Capacity capacity) { - Set<String> reservedBefore = toHostNames(nodeRepository.nodes().list(Node.State.reserved).owner(application)); - Set<String> inactiveBefore = toHostNames(nodeRepository.nodes().list(Node.State.inactive).owner(application)); 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().list(Node.State.reserved).owner(application)); - newlyActivated.removeAll(reservedBefore); - newlyActivated.removeAll(inactiveBefore); return hosts1; } @@ -223,7 +218,7 @@ public class ProvisioningTester { provisioner.activate(hosts, new ActivationContext(0), new ApplicationTransaction(lock, transaction)); transaction.commit(); } - assertEquals(toHostNames(hosts), toHostNames(nodeRepository.nodes().list(Node.State.active).owner(application))); + assertEquals(toHostNames(hosts), nodeRepository.nodes().list(Node.State.active).owner(application).hostnames()); return hosts; } @@ -264,10 +259,6 @@ public class ProvisioningTester { return hosts.stream().map(HostSpec::hostname).collect(Collectors.toSet()); } - public Set<String> toHostNames(NodeList nodes) { - return nodes.stream().map(Node::hostname).collect(Collectors.toSet()); - } - /** * Asserts that each active node in this application has a restart count equaling the * number of matches to the given filters |