summaryrefslogtreecommitdiffstats
path: root/controller-server
diff options
context:
space:
mode:
authorØyvind Grønnesby <oyving@yahooinc.com>2022-06-09 14:05:38 +0200
committerGitHub <noreply@github.com>2022-06-09 14:05:38 +0200
commit6baa739f6b38649327b7d8ababa0b844ca5ce8c2 (patch)
tree5bc5c8fa98cac01543df09077c38b077b9308b27 /controller-server
parent66d68781f9d8f3fee557514559f329a9070c10b3 (diff)
parent86720074e57ddddb91e03e4f22e0a47a91b02acc (diff)
Merge pull request #23024 from vespa-engine/ogronnesby/tombstone-idle-tenants
Tombstone idle tenants
Diffstat (limited to 'controller-server')
-rw-r--r--controller-server/src/main/java/com/yahoo/vespa/hosted/controller/maintenance/CloudTrialExpirer.java13
-rw-r--r--controller-server/src/test/java/com/yahoo/vespa/hosted/controller/maintenance/CloudTrialExpirerTest.java4
2 files changed, 7 insertions, 10 deletions
diff --git a/controller-server/src/main/java/com/yahoo/vespa/hosted/controller/maintenance/CloudTrialExpirer.java b/controller-server/src/main/java/com/yahoo/vespa/hosted/controller/maintenance/CloudTrialExpirer.java
index d482dedfdaa..b1b7e80e9a0 100644
--- a/controller-server/src/main/java/com/yahoo/vespa/hosted/controller/maintenance/CloudTrialExpirer.java
+++ b/controller-server/src/main/java/com/yahoo/vespa/hosted/controller/maintenance/CloudTrialExpirer.java
@@ -28,7 +28,8 @@ import java.util.stream.Collectors;
public class CloudTrialExpirer extends ControllerMaintainer {
private static final Logger log = Logger.getLogger(CloudTrialExpirer.class.getName());
- private static final Duration loginExpiry = Duration.ofDays(14);
+ private static final Duration nonePlanAfter = Duration.ofDays(14);
+ private static final Duration tombstoneAfter = Duration.ofDays(365);
private final ListFlag<String> extendedTrialTenants;
public CloudTrialExpirer(Controller controller, Duration interval) {
@@ -38,24 +39,20 @@ public class CloudTrialExpirer extends ControllerMaintainer {
@Override
protected double maintain() {
- if (controller().system().equals(SystemName.PublicCd)) {
- tombstoneNonePlanTenants();
- }
+ tombstoneNonePlanTenants();
moveInactiveTenantsToNonePlan();
return 1.0;
}
private void moveInactiveTenantsToNonePlan() {
- var predicate = tenantReadersNotLoggedIn(loginExpiry)
+ var predicate = tenantReadersNotLoggedIn(nonePlanAfter)
.and(this::tenantHasTrialPlan);
forTenant("'none' plan", predicate, this::setPlanNone);
}
private void tombstoneNonePlanTenants() {
- // tombstone tenants that are inactive 14 days after being set as 'none'
- var expiry = loginExpiry.plus(loginExpiry);
- var predicate = tenantReadersNotLoggedIn(expiry).and(this::tenantHasNonePlan);
+ var predicate = tenantReadersNotLoggedIn(tombstoneAfter).and(this::tenantHasNonePlan);
forTenant("tombstoned", predicate, this::tombstoneTenants);
}
diff --git a/controller-server/src/test/java/com/yahoo/vespa/hosted/controller/maintenance/CloudTrialExpirerTest.java b/controller-server/src/test/java/com/yahoo/vespa/hosted/controller/maintenance/CloudTrialExpirerTest.java
index 2e34c6511a7..df30b6b57ee 100644
--- a/controller-server/src/test/java/com/yahoo/vespa/hosted/controller/maintenance/CloudTrialExpirerTest.java
+++ b/controller-server/src/test/java/com/yahoo/vespa/hosted/controller/maintenance/CloudTrialExpirerTest.java
@@ -38,7 +38,7 @@ public class CloudTrialExpirerTest {
@Test
public void tombstone_inactive_none() {
- registerTenant("none-tenant", "none", Duration.ofDays(28).plusMillis(1));
+ registerTenant("none-tenant", "none", Duration.ofDays(365).plusMillis(1));
expirer.maintain();
assertEquals(Tenant.Type.deleted, tester.controller().tenants().get(TenantName.from("none-tenant"), true).get().type());
}
@@ -75,7 +75,7 @@ public class CloudTrialExpirerTest {
@Test
public void delete_tenants_with_applications_with_no_deployments() {
- registerTenant("with-apps", "trial", Duration.ofDays(30));
+ registerTenant("with-apps", "trial", Duration.ofDays(366));
tester.createApplication("with-apps", "app1", "instance1");
expirer.maintain();
assertPlan("with-apps", "none");