diff options
author | Martin Polden <mpolden@mpolden.no> | 2021-06-02 19:18:58 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2021-06-02 19:18:58 +0200 |
commit | a8b3591b02fa02520ceb1d00833215e4146a7a6b (patch) | |
tree | acd5234dd93ac7345795ba0ddacd9a321b85ef06 | |
parent | 2a8583e27654f17fde9d8fac12a01e0f8c86a3f8 (diff) | |
parent | 93b7472f67691b61ea48e487604000bc428d0a37 (diff) |
Merge pull request #18094 from vespa-engine/freva/allow-later-upgrade
Allow raising confidence later during the day for public
2 files changed, 8 insertions, 5 deletions
diff --git a/controller-server/src/main/java/com/yahoo/vespa/hosted/controller/versions/VersionStatus.java b/controller-server/src/main/java/com/yahoo/vespa/hosted/controller/versions/VersionStatus.java index 625154693da..c45cea29c33 100644 --- a/controller-server/src/main/java/com/yahoo/vespa/hosted/controller/versions/VersionStatus.java +++ b/controller-server/src/main/java/com/yahoo/vespa/hosted/controller/versions/VersionStatus.java @@ -229,7 +229,9 @@ public class VersionStatus { // Keep existing confidence if we cannot raise it at this moment in time if (!confidenceIsOverridden && - !existingVespaVersion.confidence().canChangeTo(confidence, controller.clock().instant())) { + !existingVespaVersion.confidence().canChangeTo(confidence, + controller.serviceRegistry().zoneRegistry().system(), + controller.clock().instant())) { confidence = existingVespaVersion.confidence(); } } diff --git a/controller-server/src/main/java/com/yahoo/vespa/hosted/controller/versions/VespaVersion.java b/controller-server/src/main/java/com/yahoo/vespa/hosted/controller/versions/VespaVersion.java index 593b1438856..3510a4f78cd 100644 --- a/controller-server/src/main/java/com/yahoo/vespa/hosted/controller/versions/VespaVersion.java +++ b/controller-server/src/main/java/com/yahoo/vespa/hosted/controller/versions/VespaVersion.java @@ -2,10 +2,10 @@ package com.yahoo.vespa.hosted.controller.versions; import com.yahoo.component.Version; +import com.yahoo.config.provision.SystemName; import com.yahoo.vespa.hosted.controller.Controller; import com.yahoo.vespa.hosted.controller.application.ApplicationList; import com.yahoo.vespa.hosted.controller.application.InstanceList; -import com.yahoo.vespa.hosted.controller.deployment.DeploymentStatus; import java.time.Instant; import java.time.ZoneOffset; @@ -147,14 +147,15 @@ public class VespaVersion implements Comparable<VespaVersion> { } /** Returns true if this can be changed to target at given instant */ - public boolean canChangeTo(Confidence target, Instant instant) { + public boolean canChangeTo(Confidence target, SystemName system, Instant instant) { if (this.equalOrHigherThan(normal)) return true; // Confidence can always change from >= normal if (!target.equalOrHigherThan(normal)) return true; // Confidence can always change to < normal var hourOfDay = instant.atZone(ZoneOffset.UTC).getHour(); var dayOfWeek = instant.atZone(ZoneOffset.UTC).getDayOfWeek(); - // Confidence can only be raised between 05:00:00 and 11:59:59 UTC, and not during weekends or Friday. - return hourOfDay >= 5 && hourOfDay <= 11 + var hourEnd = system == SystemName.Public ? 13 : 11; + // Confidence can only be raised between 05:00:00 and 11:59:59Z (13:59:59Z for public), and not during weekends or Friday. + return hourOfDay >= 5 && hourOfDay <= hourEnd && dayOfWeek.getValue() < 5; } |