diff options
Diffstat (limited to 'node-repository/src/test/java/com/yahoo/vespa/hosted/provision/maintenance/DynamicProvisioningMaintainerTest.java')
-rw-r--r-- | node-repository/src/test/java/com/yahoo/vespa/hosted/provision/maintenance/DynamicProvisioningMaintainerTest.java | 116 |
1 files changed, 58 insertions, 58 deletions
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 c67f6657c7f..2f735742ed5 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 @@ -62,9 +62,9 @@ public class DynamicProvisioningMaintainerTest { var tester = new DynamicProvisioningTester().addInitialNodes(); tester.hostProvisioner.with(Behaviour.failDeprovisioning); // To avoid deleting excess nodes - Node host3 = tester.nodeRepository.getNode("host3").orElseThrow(); - Node host4 = tester.nodeRepository.getNode("host4").orElseThrow(); - Node host41 = tester.nodeRepository.getNode("host4-1").orElseThrow(); + Node host3 = tester.nodeRepository.nodes().getNode("host3").orElseThrow(); + Node host4 = tester.nodeRepository.nodes().getNode("host4").orElseThrow(); + Node host41 = tester.nodeRepository.nodes().getNode("host4-1").orElseThrow(); assertTrue("No IP addresses assigned", Stream.of(host3, host4, host41).map(node -> node.ipConfig().primary()).allMatch(Set::isEmpty)); @@ -73,9 +73,9 @@ public class DynamicProvisioningMaintainerTest { Node host41new = host41.with(host41.ipConfig().withPrimary(Set.of("::4:1", "::4:2"))); tester.maintainer.maintain(); - assertEquals(host3new, tester.nodeRepository.getNode("host3").get()); - assertEquals(host4new, tester.nodeRepository.getNode("host4").get()); - assertEquals(host41new, tester.nodeRepository.getNode("host4-1").get()); + assertEquals(host3new, tester.nodeRepository.nodes().getNode("host3").get()); + assertEquals(host4new, tester.nodeRepository.nodes().getNode("host4").get()); + assertEquals(host41new, tester.nodeRepository.nodes().getNode("host4-1").get()); } @Test @@ -88,29 +88,29 @@ public class DynamicProvisioningMaintainerTest { tester.maintainer.maintain(); assertEquals(Set.of("host4", "host4-1"), - tester.nodeRepository.getNodes(Node.State.failed).stream().map(Node::hostname).collect(Collectors.toSet())); + tester.nodeRepository.nodes().getNodes(Node.State.failed).stream().map(Node::hostname).collect(Collectors.toSet())); } @Test public void finds_nodes_that_need_deprovisioning_without_pre_provisioning() { var tester = new DynamicProvisioningTester().addInitialNodes(); - assertTrue(tester.nodeRepository.getNode("host2").isPresent()); - assertTrue(tester.nodeRepository.getNode("host3").isPresent()); + assertTrue(tester.nodeRepository.nodes().getNode("host2").isPresent()); + assertTrue(tester.nodeRepository.nodes().getNode("host3").isPresent()); tester.maintainer.maintain(); - assertTrue(tester.nodeRepository.getNode("host2").isEmpty()); - assertTrue(tester.nodeRepository.getNode("host3").isEmpty()); + assertTrue(tester.nodeRepository.nodes().getNode("host2").isEmpty()); + assertTrue(tester.nodeRepository.nodes().getNode("host3").isEmpty()); } @Test public void does_not_deprovision_when_preprovisioning_enabled() { var tester = new DynamicProvisioningTester().addInitialNodes(); tester.flagSource.withListFlag(PermanentFlags.PREPROVISION_CAPACITY.id(), List.of(new ClusterCapacity(1, 1, 3, 2, 1.0)), ClusterCapacity.class); - Optional<Node> failedHost = tester.nodeRepository.getNode("host2"); + Optional<Node> failedHost = tester.nodeRepository.nodes().getNode("host2"); assertTrue(failedHost.isPresent()); tester.maintainer.maintain(); - assertTrue("Failed host is deprovisioned", tester.nodeRepository.getNode(failedHost.get().hostname()).isEmpty()); + assertTrue("Failed host is deprovisioned", tester.nodeRepository.nodes().getNode(failedHost.get().hostname()).isEmpty()); assertEquals(1, tester.hostProvisioner.deprovisionedHosts); } @@ -123,24 +123,24 @@ public class DynamicProvisioningMaintainerTest { ClusterCapacity.class); assertEquals(0, tester.hostProvisioner.provisionedHosts.size()); - assertEquals(11, tester.nodeRepository.getNodes().size()); - assertTrue(tester.nodeRepository.getNode("host2").isPresent()); - assertTrue(tester.nodeRepository.getNode("host2-1").isPresent()); - assertTrue(tester.nodeRepository.getNode("host3").isPresent()); - assertTrue(tester.nodeRepository.getNode("hostname100").isEmpty()); - assertTrue(tester.nodeRepository.getNode("hostname101").isEmpty()); + assertEquals(11, tester.nodeRepository.nodes().getNodes().size()); + assertTrue(tester.nodeRepository.nodes().getNode("host2").isPresent()); + assertTrue(tester.nodeRepository.nodes().getNode("host2-1").isPresent()); + assertTrue(tester.nodeRepository.nodes().getNode("host3").isPresent()); + assertTrue(tester.nodeRepository.nodes().getNode("hostname100").isEmpty()); + assertTrue(tester.nodeRepository.nodes().getNode("hostname101").isEmpty()); tester.maintainer.maintain(); assertEquals(2, tester.hostProvisioner.provisionedHosts.size()); assertEquals(2, tester.provisionedHostsMatching(new NodeResources(48, 128, 1000, 10))); - List<Node> nodesAfter = tester.nodeRepository.getNodes(); + List<Node> nodesAfter = tester.nodeRepository.nodes().getNodes(); assertEquals(11, nodesAfter.size()); // 2 removed, 2 added - assertTrue("Failed host 'host2' is deprovisioned", tester.nodeRepository.getNode("host2").isEmpty()); - assertTrue("Node on deprovisioned host removed", tester.nodeRepository.getNode("host2-1").isEmpty()); - assertTrue("Host satisfying 16-24-100-1 is kept", tester.nodeRepository.getNode("host3").isPresent()); - assertTrue("New 48-128-1000-10 host added", tester.nodeRepository.getNode("hostname100").isPresent()); - assertTrue("New 48-128-1000-10 host added", tester.nodeRepository.getNode("hostname101").isPresent()); + assertTrue("Failed host 'host2' is deprovisioned", tester.nodeRepository.nodes().getNode("host2").isEmpty()); + assertTrue("Node on deprovisioned host removed", tester.nodeRepository.nodes().getNode("host2-1").isEmpty()); + assertTrue("Host satisfying 16-24-100-1 is kept", tester.nodeRepository.nodes().getNode("host3").isPresent()); + assertTrue("New 48-128-1000-10 host added", tester.nodeRepository.nodes().getNode("hostname100").isPresent()); + assertTrue("New 48-128-1000-10 host added", tester.nodeRepository.nodes().getNode("hostname101").isPresent()); } @Test @@ -154,11 +154,11 @@ public class DynamicProvisioningMaintainerTest { ClusterCapacity.class); assertEquals(0, tester.hostProvisioner.provisionedHosts.size()); - assertEquals(11, tester.nodeRepository.getNodes().size()); - assertTrue(tester.nodeRepository.getNode("host2").isPresent()); - assertTrue(tester.nodeRepository.getNode("host2-1").isPresent()); - assertTrue(tester.nodeRepository.getNode("host3").isPresent()); - assertTrue(tester.nodeRepository.getNode("hostname100").isEmpty()); + assertEquals(11, tester.nodeRepository.nodes().getNodes().size()); + assertTrue(tester.nodeRepository.nodes().getNode("host2").isPresent()); + assertTrue(tester.nodeRepository.nodes().getNode("host2-1").isPresent()); + assertTrue(tester.nodeRepository.nodes().getNode("host3").isPresent()); + assertTrue(tester.nodeRepository.nodes().getNode("hostname100").isEmpty()); // The first cluster will be allocated to host3 and a new host hostname100. // hostname100 will be a large shared host specified above. @@ -194,10 +194,10 @@ public class DynamicProvisioningMaintainerTest { assertEquals(2, tester.hostProvisioner.provisionedHosts.size()); assertEquals(2, tester.provisionedHostsMatching(new NodeResources(48, 128, 1000, 10))); - assertEquals(10, tester.nodeRepository.getNodes().size()); // 3 removed, 2 added - assertTrue("preprovision capacity is prefered on shared hosts", tester.nodeRepository.getNode("host3").isEmpty()); - assertTrue(tester.nodeRepository.getNode("hostname100").isPresent()); - assertTrue(tester.nodeRepository.getNode("hostname101").isPresent()); + assertEquals(10, tester.nodeRepository.nodes().getNodes().size()); // 3 removed, 2 added + assertTrue("preprovision capacity is prefered on shared hosts", tester.nodeRepository.nodes().getNode("host3").isEmpty()); + assertTrue(tester.nodeRepository.nodes().getNode("hostname100").isPresent()); + assertTrue(tester.nodeRepository.nodes().getNode("hostname101").isPresent()); // If the preprovision capacity is reduced, we should see shared hosts deprovisioned. @@ -210,13 +210,13 @@ public class DynamicProvisioningMaintainerTest { assertEquals("one provisioned host has been deprovisioned, so there are 2 -> 1 provisioned hosts", 1, tester.hostProvisioner.provisionedHosts.size()); assertEquals(1, tester.provisionedHostsMatching(new NodeResources(48, 128, 1000, 10))); - assertEquals(9, tester.nodeRepository.getNodes().size()); // 4 removed, 2 added - if (tester.nodeRepository.getNode("hostname100").isPresent()) { + assertEquals(9, tester.nodeRepository.nodes().getNodes().size()); // 4 removed, 2 added + if (tester.nodeRepository.nodes().getNode("hostname100").isPresent()) { assertTrue("hostname101 is superfluous and should have been deprovisioned", - tester.nodeRepository.getNode("hostname101").isEmpty()); + tester.nodeRepository.nodes().getNode("hostname101").isEmpty()); } else { assertTrue("hostname101 is required for preprovision capacity", - tester.nodeRepository.getNode("hostname101").isPresent()); + tester.nodeRepository.nodes().getNode("hostname101").isPresent()); } } @@ -224,11 +224,11 @@ public class DynamicProvisioningMaintainerTest { private void verifyFirstMaintain(DynamicProvisioningTester tester) { assertEquals(1, tester.hostProvisioner.provisionedHosts.size()); assertEquals(1, tester.provisionedHostsMatching(new NodeResources(48, 128, 1000, 10))); - assertEquals(10, tester.nodeRepository.getNodes().size()); // 2 removed, 1 added - assertTrue("Failed host 'host2' is deprovisioned", tester.nodeRepository.getNode("host2").isEmpty()); - assertTrue("Node on deprovisioned host removed", tester.nodeRepository.getNode("host2-1").isEmpty()); - assertTrue("One 1-30-20-3 node fits on host3", tester.nodeRepository.getNode("host3").isPresent()); - assertTrue("New 48-128-1000-10 host added", tester.nodeRepository.getNode("hostname100").isPresent()); + assertEquals(10, tester.nodeRepository.nodes().getNodes().size()); // 2 removed, 1 added + assertTrue("Failed host 'host2' is deprovisioned", tester.nodeRepository.nodes().getNode("host2").isEmpty()); + assertTrue("Node on deprovisioned host removed", tester.nodeRepository.nodes().getNode("host2-1").isEmpty()); + assertTrue("One 1-30-20-3 node fits on host3", tester.nodeRepository.nodes().getNode("host3").isPresent()); + assertTrue("New 48-128-1000-10 host added", tester.nodeRepository.nodes().getNode("hostname100").isPresent()); } @Test @@ -282,7 +282,7 @@ public class DynamicProvisioningMaintainerTest { tester.hostProvisioner.with(Behaviour.failDeprovisioning); tester.maintainer.maintain(); - assertTrue(tester.nodeRepository.getNode(host2.hostname()).isPresent()); + assertTrue(tester.nodeRepository.nodes().getNode(host2.hostname()).isPresent()); } @Test @@ -317,8 +317,8 @@ public class DynamicProvisioningMaintainerTest { tester.assertNodesUnchanged(); // Activate hosts - List<Node> provisioned = tester.nodeRepository.list().state(Node.State.provisioned).asList(); - tester.nodeRepository.setReady(provisioned, Agent.system, this.getClass().getSimpleName()); + List<Node> provisioned = tester.nodeRepository.nodes().list().state(Node.State.provisioned).asList(); + tester.nodeRepository.nodes().setReady(provisioned, Agent.system, this.getClass().getSimpleName()); tester.provisioningTester.activateTenantHosts(); // Allocating nodes to a host does not result in provisioning of additional capacity @@ -326,7 +326,7 @@ public class DynamicProvisioningMaintainerTest { NodeResources applicationNodeResources = new NodeResources(4, 8, 50, 0.1); tester.provisioningTester.deploy(application, Capacity.from(new ClusterResources(2, 1, applicationNodeResources))); - assertEquals(2, tester.nodeRepository.list().owner(application).size()); + assertEquals(2, tester.nodeRepository.nodes().list().owner(application).size()); tester.assertNodesUnchanged(); // Clearing flag does nothing @@ -338,10 +338,10 @@ public class DynamicProvisioningMaintainerTest { List.of(new ClusterCapacity(3, 0, 0, 0, 0.0)), ClusterCapacity.class); assertEquals(0, tester.provisionedHostsMatching(sharedHostNodeResources)); - assertTrue(tester.nodeRepository.getNode("hostname102").isEmpty()); + assertTrue(tester.nodeRepository.nodes().getNode("hostname102").isEmpty()); tester.maintainer.maintain(); assertEquals(1, tester.provisionedHostsMatching(sharedHostNodeResources)); - assertTrue(tester.nodeRepository.getNode("hostname102").isPresent()); + assertTrue(tester.nodeRepository.nodes().getNode("hostname102").isPresent()); // Next maintenance run does nothing tester.assertNodesUnchanged(); @@ -366,14 +366,14 @@ public class DynamicProvisioningMaintainerTest { ClusterCapacity.class); assertEquals(1, tester.provisionedHostsMatching(sharedHostNodeResources)); - assertTrue(tester.nodeRepository.getNode("hostname102").isPresent()); - assertTrue(tester.nodeRepository.getNode("hostname103").isEmpty()); - assertTrue(tester.nodeRepository.getNode("hostname104").isEmpty()); + assertTrue(tester.nodeRepository.nodes().getNode("hostname102").isPresent()); + assertTrue(tester.nodeRepository.nodes().getNode("hostname103").isEmpty()); + assertTrue(tester.nodeRepository.nodes().getNode("hostname104").isEmpty()); tester.maintainer.maintain(); assertEquals(3, tester.provisionedHostsMatching(sharedHostNodeResources)); - assertTrue(tester.nodeRepository.getNode("hostname102").isPresent()); - assertTrue(tester.nodeRepository.getNode("hostname103").isPresent()); - assertTrue(tester.nodeRepository.getNode("hostname104").isPresent()); + assertTrue(tester.nodeRepository.nodes().getNode("hostname102").isPresent()); + assertTrue(tester.nodeRepository.nodes().getNode("hostname103").isPresent()); + assertTrue(tester.nodeRepository.nodes().getNode("hostname104").isPresent()); } @Test @@ -381,7 +381,7 @@ public class DynamicProvisioningMaintainerTest { var tester = new DynamicProvisioningTester().addInitialNodes(); tester.hostProvisioner.with(Behaviour.failDnsUpdate); - Supplier<List<Node>> provisioning = () -> tester.nodeRepository.getNodes(NodeType.host, Node.State.provisioned); + Supplier<List<Node>> provisioning = () -> tester.nodeRepository.nodes().getNodes(NodeType.host, Node.State.provisioned); assertEquals(2, provisioning.get().size()); tester.maintainer.maintain(); @@ -482,9 +482,9 @@ public class DynamicProvisioningMaintainerTest { } private void assertNodesUnchanged() { - List<Node> nodes = nodeRepository.getNodes(); + List<Node> nodes = nodeRepository.nodes().getNodes(); maintainer.maintain(); - assertEquals("Nodes are unchanged after maintenance run", nodes, nodeRepository.getNodes()); + assertEquals("Nodes are unchanged after maintenance run", nodes, nodeRepository.nodes().getNodes()); } } |