summaryrefslogtreecommitdiffstats
path: root/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/maintenance/DynamicProvisioningMaintainerTest.java
diff options
context:
space:
mode:
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.java116
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());
}
}