diff options
author | Martin Polden <mpolden@mpolden.no> | 2020-05-28 11:04:11 +0200 |
---|---|---|
committer | Martin Polden <mpolden@mpolden.no> | 2020-05-28 11:16:19 +0200 |
commit | 8903332a7a6ce57c7777b2f6976c1da781d8b52e (patch) | |
tree | aaff9464f617de4cc537a2d2f14816b9cd2ba6ed /node-repository/src/test | |
parent | 31c19ba00cd80f1b83edb11cba06d8e4d0a7428b (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.java | 23 |
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 { |