aboutsummaryrefslogtreecommitdiffstats
path: root/node-repository/src/test
diff options
context:
space:
mode:
authorJon Marius Venstad <jvenstad@yahoo-inc.com>2019-03-08 11:56:39 +0100
committerJon Marius Venstad <jvenstad@yahoo-inc.com>2019-03-08 11:56:39 +0100
commit4fae6a128bd55facaa9a79bb448a3e7165567432 (patch)
tree4929e35ac684a5d434cc363b3d2b3f3d592d4f7b /node-repository/src/test
parent511cdf2bea96cb39c7aee78b720fb9f05ba0a780 (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.java27
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());
+
+ }
+
}