diff options
author | Ola Aunrønning <olaa@yahooinc.com> | 2023-04-14 14:17:28 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2023-04-14 14:17:28 +0200 |
commit | 4f2f29e1459b900d4b074f5cfc4c126837c54bfd (patch) | |
tree | eed503e6a02ce385909b9423ae55b343d4ee2c7f /controller-api | |
parent | 9bd0bfaf4b7c5a5403cb14cb40b74778ecdfff7a (diff) | |
parent | c4fa4f3911e816876fe2f9e79cf0a08d1881b22d (diff) |
Merge pull request #26739 from vespa-engine/olaa/dont-rewrite-cmr-report
Automatically approve CMR impacting proxy node
Diffstat (limited to 'controller-api')
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) {} } |