summaryrefslogtreecommitdiffstats
path: root/controller-api
diff options
context:
space:
mode:
authorOla Aunrønning <olaa@yahooinc.com>2023-04-14 14:17:28 +0200
committerGitHub <noreply@github.com>2023-04-14 14:17:28 +0200
commit4f2f29e1459b900d4b074f5cfc4c126837c54bfd (patch)
treeeed503e6a02ce385909b9423ae55b343d4ee2c7f /controller-api
parent9bd0bfaf4b7c5a5403cb14cb40b74778ecdfff7a (diff)
parentc4fa4f3911e816876fe2f9e79cf0a08d1881b22d (diff)
Merge pull request #26739 from vespa-engine/olaa/dont-rewrite-cmr-report
Automatically approve CMR impacting proxy node
Diffstat (limited to 'controller-api')
-rw-r--r--controller-api/src/main/java/com/yahoo/vespa/hosted/controller/api/integration/vcmr/HostAction.java1
-rw-r--r--controller-api/src/main/java/com/yahoo/vespa/hosted/controller/api/integration/vcmr/VcmrReport.java63
2 files changed, 9 insertions, 55 deletions
diff --git a/controller-api/src/main/java/com/yahoo/vespa/hosted/controller/api/integration/vcmr/HostAction.java b/controller-api/src/main/java/com/yahoo/vespa/hosted/controller/api/integration/vcmr/HostAction.java
index f3bee721343..85c7f78eabc 100644
--- a/controller-api/src/main/java/com/yahoo/vespa/hosted/controller/api/integration/vcmr/HostAction.java
+++ b/controller-api/src/main/java/com/yahoo/vespa/hosted/controller/api/integration/vcmr/HostAction.java
@@ -67,6 +67,7 @@ public class HostAction {
OUT_OF_SYNC,
NONE,
RETIRING,
+ READY,
RETIRED,
COMPLETE
}
diff --git a/controller-api/src/main/java/com/yahoo/vespa/hosted/controller/api/integration/vcmr/VcmrReport.java b/controller-api/src/main/java/com/yahoo/vespa/hosted/controller/api/integration/vcmr/VcmrReport.java
index 969e6fb1e01..660f3c50556 100644
--- a/controller-api/src/main/java/com/yahoo/vespa/hosted/controller/api/integration/vcmr/VcmrReport.java
+++ b/controller-api/src/main/java/com/yahoo/vespa/hosted/controller/api/integration/vcmr/VcmrReport.java
@@ -11,7 +11,6 @@ import java.time.ZonedDateTime;
import java.util.HashMap;
import java.util.HashSet;
import java.util.Map;
-import java.util.Objects;
import java.util.Set;
import static com.yahoo.yolean.Exceptions.uncheck;
@@ -47,18 +46,18 @@ public class VcmrReport {
/**
* @return true if list of VCMRs is changed
*/
- public boolean addVcmr(String id, ZonedDateTime plannedStartTime, ZonedDateTime plannedEndtime) {
- var vcmr = new Vcmr(id, plannedStartTime, plannedEndtime);
+ public boolean addVcmr(ChangeRequestSource source) {
+ var vcmr = new Vcmr(source.getId(), source.getStatus().name(), source.getPlannedStartTime(), source.getPlannedEndTime());
if (vcmrs.contains(vcmr))
return false;
// Remove to catch any changes in start/end time
- removeVcmr(id);
+ removeVcmr(source.getId());
return vcmrs.add(vcmr);
}
public boolean removeVcmr(String id) {
- return vcmrs.removeIf(vcmr -> id.equals(vcmr.getId()));
+ return vcmrs.removeIf(vcmr -> id.equals(vcmr.id()));
}
public static String getReportId() {
@@ -93,55 +92,9 @@ public class VcmrReport {
return "VCMRReport{" + vcmrs + "}";
}
- public static class Vcmr {
-
- private String id;
- private ZonedDateTime plannedStartTime;
- private ZonedDateTime plannedEndTime;
-
- Vcmr(@JsonProperty("id") String id,
- @JsonProperty("plannedStartTime") ZonedDateTime plannedStartTime,
- @JsonProperty("plannedEndTime") ZonedDateTime plannedEndTime) {
- this.id = id;
- this.plannedStartTime = plannedStartTime;
- this.plannedEndTime = plannedEndTime;
- }
-
- public String getId() {
- return id;
- }
-
- public ZonedDateTime getPlannedStartTime() {
- return plannedStartTime;
- }
-
- public ZonedDateTime getPlannedEndTime() {
- return plannedEndTime;
- }
-
- @Override
- public boolean equals(Object o) {
- if (this == o) return true;
- if (o == null || getClass() != o.getClass()) return false;
- Vcmr vcmr = (Vcmr) o;
- return Objects.equals(id, vcmr.id) &&
- Objects.equals(plannedStartTime, vcmr.plannedStartTime) &&
- Objects.equals(plannedEndTime, vcmr.plannedEndTime);
- }
-
- @Override
- public int hashCode() {
- return Objects.hash(id, plannedStartTime, plannedEndTime);
- }
-
- @Override
- public String toString() {
- return "VCMR{" +
- "id='" + id + '\'' +
- ", plannedStartTime=" + plannedStartTime +
- ", plannedEndTime=" + plannedEndTime +
- '}';
- }
- }
+ public record Vcmr (@JsonProperty("id") String id,
+ @JsonProperty("status") String status,
+ @JsonProperty("plannedStartTime") ZonedDateTime plannedStartTime,
+ @JsonProperty("plannedEndTime") ZonedDateTime plannedEndTime) {}
}