diff options
author | Martin Polden <mpolden@mpolden.no> | 2022-07-12 09:41:07 +0200 |
---|---|---|
committer | Martin Polden <mpolden@mpolden.no> | 2022-07-12 09:41:07 +0200 |
commit | 3e4ec608f84cdb73b394b4d468e5d575016b51d7 (patch) | |
tree | 6751769679647cfa3a5dde23045565a0b7ff33e6 /node-repository/src/test/java/com/yahoo | |
parent | e65c9d4cc7d4950f309b50b8d5443e97188d6321 (diff) |
Reapply "Allow deprovision of parked host & node w/alloc when node has wantToDeprovision"
This reverts commit d097cb3bf2808bb05f2dc4fc2e7cf771246ba1a9.
Diffstat (limited to 'node-repository/src/test/java/com/yahoo')
-rw-r--r-- | node-repository/src/test/java/com/yahoo/vespa/hosted/provision/maintenance/DynamicProvisioningMaintainerTest.java | 19 |
1 files changed, 19 insertions, 0 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 905fdc57813..7f4171ee8c0 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 @@ -570,6 +570,25 @@ public class DynamicProvisioningMaintainerTest { assertEquals(2, provisioningTester.activate(applicationId, prepared).size()); } + @Test + public void deprovision_parked_node_with_allocation() { + var tester = new DynamicProvisioningTester(); + tester.hostProvisioner.with(Behaviour.failProvisioning); + Node host4 = tester.addNode("host4", Optional.empty(), NodeType.host, Node.State.parked); + Node host41 = tester.addNode("host4-1", Optional.of("host4"), NodeType.tenant, Node.State.parked, DynamicProvisioningTester.tenantApp); + tester.nodeRepository.nodes().deprovision("host4", Agent.operator, Instant.now()); + + assertEquals(Optional.of(true), tester.nodeRepository.nodes().node("host4").map(n -> n.status().wantToDeprovision())); + assertEquals(Optional.of(Node.State.parked), tester.nodeRepository.nodes().node("host4").map(Node::state)); + assertEquals(Optional.of(true), tester.nodeRepository.nodes().node("host4-1").map(n -> n.status().wantToDeprovision())); + assertEquals(Optional.of(Node.State.parked), tester.nodeRepository.nodes().node("host4-1").map(Node::state)); + + tester.maintainer.maintain(); + + assertEquals(Optional.empty(), tester.nodeRepository.nodes().node("host4")); + assertEquals(Optional.empty(), tester.nodeRepository.nodes().node("host4-1")); + } + private void assertCfghost3IsActive(DynamicProvisioningTester tester) { assertEquals(5, tester.nodeRepository.nodes().list(Node.State.active).size()); assertEquals(3, tester.nodeRepository.nodes().list(Node.State.active).nodeType(NodeType.confighost).size()); |