diff options
author | Jon Marius Venstad <jvenstad@yahoo-inc.com> | 2019-03-08 11:56:39 +0100 |
---|---|---|
committer | Jon Marius Venstad <jvenstad@yahoo-inc.com> | 2019-03-08 11:56:39 +0100 |
commit | 4fae6a128bd55facaa9a79bb448a3e7165567432 (patch) | |
tree | 4929e35ac684a5d434cc363b3d2b3f3d592d4f7b /node-repository/src/test | |
parent | 511cdf2bea96cb39c7aee78b720fb9f05ba0a780 (diff) |
Tester nodes are expired whenever inactive
Diffstat (limited to 'node-repository/src/test')
-rw-r--r-- | node-repository/src/test/java/com/yahoo/vespa/hosted/provision/maintenance/InactiveAndFailedExpirerTest.java | 27 |
1 files changed, 27 insertions, 0 deletions
diff --git a/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/maintenance/InactiveAndFailedExpirerTest.java b/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/maintenance/InactiveAndFailedExpirerTest.java index bb396026a43..35225f8abac 100644 --- a/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/maintenance/InactiveAndFailedExpirerTest.java +++ b/node-repository/src/test/java/com/yahoo/vespa/hosted/provision/maintenance/InactiveAndFailedExpirerTest.java @@ -163,4 +163,31 @@ public class InactiveAndFailedExpirerTest { new InactiveExpirer(tester.nodeRepository(), tester.clock(), Duration.ofMinutes(10), new JobControl(tester.nodeRepository().database())).run(); assertEquals(1, tester.nodeRepository().getNodes(Node.State.parked).size()); } + + @Test + public void testersExpireImmediately() { + ApplicationId testerId = ApplicationId.from(applicationId.tenant().value(), + applicationId.application().value(), + applicationId.instance().value() + "-t"); + + // Allocate then deallocate a node + ProvisioningTester tester = new ProvisioningTester.Builder().zone(new Zone(Environment.prod, RegionName.from("us-east"))).build(); + tester.makeReadyNodes(1, "default"); + ClusterSpec cluster = ClusterSpec.request(ClusterSpec.Type.content, ClusterSpec.Id.from("test"), Version.fromString("6.42"), false, Collections.emptySet()); + List<HostSpec> preparedNodes = tester.prepare(testerId, cluster, Capacity.fromNodeCount(2), 1); + tester.activate(testerId, new HashSet<>(preparedNodes)); + assertEquals(1, tester.getNodes(testerId, Node.State.active).size()); + tester.deactivate(testerId); + List<Node> inactiveNodes = tester.getNodes(testerId, Node.State.inactive).asList(); + assertEquals(1, inactiveNodes.size()); + + // See that nodes are moved to dirty immediately. + new InactiveExpirer(tester.nodeRepository(), tester.clock(), Duration.ofMinutes(10), new JobControl(tester.nodeRepository().database())).run(); + assertEquals(0, tester.nodeRepository().getNodes(Node.State.inactive).size()); + List<Node> dirty = tester.nodeRepository().getNodes(Node.State.dirty); + assertEquals(1, dirty.size()); + assertFalse(dirty.get(0).allocation().isPresent()); + + } + } |