aboutsummaryrefslogtreecommitdiffstats
path: root/node-repository/src/test
diff options
context:
space:
mode:
authorMartin Polden <mpolden@mpolden.no>2020-05-28 11:04:11 +0200
committerMartin Polden <mpolden@mpolden.no>2020-05-28 11:16:19 +0200
commit8903332a7a6ce57c7777b2f6976c1da781d8b52e (patch)
treeaaff9464f617de4cc537a2d2f14816b9cd2ba6ed /node-repository/src/test
parent31c19ba00cd80f1b83edb11cba06d8e4d0a7428b (diff)
Ensure that capacity reduction does not remove non-empty hosts
Diffstat (limited to 'node-repository/src/test')
-rw-r--r--node-repository/src/test/java/com/yahoo/vespa/hosted/provision/maintenance/DynamicProvisioningMaintainerTest.java23
1 files changed, 14 insertions, 9 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 6b61c1b2774..ba859655ab7 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
@@ -160,9 +160,7 @@ public class DynamicProvisioningMaintainerTest {
assertEquals(2, tester.provisionedHostsMatching(resources2));
// Next maintenance run does nothing
- List<Node> nodes = tester.nodeRepository.getNodes();
- tester.maintainer.maintain();
- assertEquals(nodes, tester.nodeRepository.getNodes());
+ tester.assertNodesUnchanged();
// Target capacity is changed
NodeResources resources3 = new NodeResources(48, 128, 1000, 1);
@@ -188,15 +186,16 @@ public class DynamicProvisioningMaintainerTest {
tester.provisioningTester.deploy(application,
Capacity.from(new ClusterResources(2, 1, new NodeResources(4, 8, 50, 0.1))));
assertEquals(2, tester.nodeRepository.list().owner(application).size());
- nodes = tester.nodeRepository.getNodes();
- tester.maintainer.maintain();
- assertEquals(nodes, tester.nodeRepository.getNodes());
+ tester.assertNodesUnchanged();
// Clearing flag does nothing
tester.flagSource.withListFlag(Flags.TARGET_CAPACITY.id(), List.of(), HostCapacity.class);
- nodes = tester.nodeRepository.getNodes();
- tester.maintainer.maintain();
- assertEquals(nodes, tester.nodeRepository.getNodes());
+ tester.assertNodesUnchanged();
+
+ // Capacity reduction does not remove host with children
+ tester.flagSource.withListFlag(Flags.TARGET_CAPACITY.id(), List.of(new HostCapacity(resources1.vcpu(), resources1.memoryGb(), resources1.diskGb(), 1)),
+ HostCapacity.class);
+ tester.assertNodesUnchanged();
}
private static class DynamicProvisioningTester {
@@ -282,6 +281,12 @@ public class DynamicProvisioningMaintainerTest {
.count();
}
+ private void assertNodesUnchanged() {
+ List<Node> nodes = nodeRepository.getNodes();
+ maintainer.maintain();
+ assertEquals("Nodes are unchanged after maintenance run", nodes, nodeRepository.getNodes());
+ }
+
}
static class MockHostProvisioner implements HostProvisioner {