diff options
author | Øyvind Grønnesby <oyving@yahooinc.com> | 2022-06-09 14:05:38 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2022-06-09 14:05:38 +0200 |
commit | 6baa739f6b38649327b7d8ababa0b844ca5ce8c2 (patch) | |
tree | 5bc5c8fa98cac01543df09077c38b077b9308b27 /controller-server | |
parent | 66d68781f9d8f3fee557514559f329a9070c10b3 (diff) | |
parent | 86720074e57ddddb91e03e4f22e0a47a91b02acc (diff) |
Merge pull request #23024 from vespa-engine/ogronnesby/tombstone-idle-tenants
Tombstone idle tenants
Diffstat (limited to 'controller-server')
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"); |