summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMartin Polden <mpolden@mpolden.no>2021-06-02 19:18:58 +0200
committerGitHub <noreply@github.com>2021-06-02 19:18:58 +0200
commita8b3591b02fa02520ceb1d00833215e4146a7a6b (patch)
treeacd5234dd93ac7345795ba0ddacd9a321b85ef06
parent2a8583e27654f17fde9d8fac12a01e0f8c86a3f8 (diff)
parent93b7472f67691b61ea48e487604000bc428d0a37 (diff)
Merge pull request #18094 from vespa-engine/freva/allow-later-upgrade
Allow raising confidence later during the day for public
-rw-r--r--controller-server/src/main/java/com/yahoo/vespa/hosted/controller/versions/VersionStatus.java4
-rw-r--r--controller-server/src/main/java/com/yahoo/vespa/hosted/controller/versions/VespaVersion.java9
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;
}