diff options
Diffstat (limited to 'controller-server')
4 files changed, 17 insertions, 9 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 9baa1ad37a1..18ef47759f4 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,7 @@ public class CloudTrialExpirer extends ControllerMaintainer { private static final Logger log = Logger.getLogger(CloudTrialExpirer.class.getName()); private static final Duration nonePlanAfter = Duration.ofDays(14); - private static final Duration tombstoneAfter = Duration.ofDays(365); + private static final Duration tombstoneAfter = Duration.ofDays(183); private final ListFlag<String> extendedTrialTenants; public CloudTrialExpirer(Controller controller, Duration interval) { diff --git a/controller-server/src/main/java/com/yahoo/vespa/hosted/controller/maintenance/OsUpgradeScheduler.java b/controller-server/src/main/java/com/yahoo/vespa/hosted/controller/maintenance/OsUpgradeScheduler.java index 644a8c6c1ed..5fa90d98c18 100644 --- a/controller-server/src/main/java/com/yahoo/vespa/hosted/controller/maintenance/OsUpgradeScheduler.java +++ b/controller-server/src/main/java/com/yahoo/vespa/hosted/controller/maintenance/OsUpgradeScheduler.java @@ -62,9 +62,10 @@ public class OsUpgradeScheduler extends ControllerMaintainer { } else if (!wantedVersion.isAfter(currentVersion)) { return Optional.empty(); // No change right now, and we cannot predict the next change for this kind of release } - // Find trigger time + // Find the earliest possible trigger time on this day + instant = instant.truncatedTo(ChronoUnit.DAYS); while (!canTriggerAt(instant)) { - instant = instant.truncatedTo(ChronoUnit.HOURS).plus(Duration.ofHours(1)); + instant = instant.plus(Duration.ofHours(1)); } return Optional.of(new Change(wantedVersion, release.upgradeBudget(), instant)); } 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 8022067b29f..c5c70998624 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 @@ -37,7 +37,7 @@ public class CloudTrialExpirerTest { @Test void tombstone_inactive_none() { - registerTenant("none-tenant", "none", Duration.ofDays(365).plusMillis(1)); + registerTenant("none-tenant", "none", Duration.ofDays(183).plusMillis(1)); assertEquals(1.0, expirer.maintain()); assertEquals(Tenant.Type.deleted, tester.controller().tenants().get(TenantName.from("none-tenant"), true).get().type()); } @@ -74,7 +74,7 @@ public class CloudTrialExpirerTest { @Test void delete_tenants_with_applications_with_no_deployments() { - registerTenant("with-apps", "trial", Duration.ofDays(366)); + registerTenant("with-apps", "trial", Duration.ofDays(184)); tester.createApplication("with-apps", "app1", "instance1"); assertEquals(1.0, expirer.maintain()); assertPlan("with-apps", "none"); @@ -84,7 +84,7 @@ public class CloudTrialExpirerTest { @Test void keep_tenants_without_applications_that_are_idle() { - registerTenant("active", "none", Duration.ofDays(364)); + registerTenant("active", "none", Duration.ofDays(182)); assertEquals(1.0, expirer.maintain()); assertPlan("active", "none"); } diff --git a/controller-server/src/test/java/com/yahoo/vespa/hosted/controller/maintenance/OsUpgradeSchedulerTest.java b/controller-server/src/test/java/com/yahoo/vespa/hosted/controller/maintenance/OsUpgradeSchedulerTest.java index fac15cd23c4..ddd2163b426 100644 --- a/controller-server/src/test/java/com/yahoo/vespa/hosted/controller/maintenance/OsUpgradeSchedulerTest.java +++ b/controller-server/src/test/java/com/yahoo/vespa/hosted/controller/maintenance/OsUpgradeSchedulerTest.java @@ -62,7 +62,11 @@ public class OsUpgradeSchedulerTest { assertEquals(version0, tester.controller().osVersionTarget(cloud).get().osVersion().version(), "Target is unchanged because we're outside trigger period"); - tester.clock().advance(Duration.ofHours(7).plusMinutes(5)); // Put us inside the trigger period + tester.clock().advance(Duration.ofHours(9).plusMinutes(5)); // Put us inside the trigger period + assertEquals("2022-03-17T09:05:00", formatInstant(tester.clock().instant())); + Optional<OsUpgradeScheduler.Change> change = scheduler.changeIn(cloud); + assertTrue(change.isPresent()); + assertEquals("2022-03-17T07:00:00", formatInstant(change.get().scheduleAt())); scheduler.maintain(); assertEquals(version1, tester.controller().osVersionTarget(cloud).get().osVersion().version(), @@ -77,8 +81,7 @@ public class OsUpgradeSchedulerTest { Optional<OsUpgradeScheduler.Change> nextChange = scheduler.changeIn(cloud); assertTrue(nextChange.isPresent()); assertEquals("7.0.0.20220425", nextChange.get().version().toFullString()); - assertEquals("2022-05-02T07:00:00", LocalDateTime.ofInstant(nextChange.get().scheduleAt(), ZoneOffset.UTC) - .format(DateTimeFormatter.ISO_DATE_TIME)); + assertEquals("2022-05-02T07:00:00", formatInstant(nextChange.get().scheduleAt())); } @Test @@ -163,4 +166,8 @@ public class OsUpgradeSchedulerTest { return ZoneApiMock.newBuilder().withId(id).with(cloud).build(); } + private static String formatInstant(Instant instant) { + return LocalDateTime.ofInstant(instant, ZoneOffset.UTC).format(DateTimeFormatter.ISO_DATE_TIME); + } + } |