diff options
author | Ola Aunrønning <olaa@verizonmedia.com> | 2020-10-23 15:56:23 +0200 |
---|---|---|
committer | Ola Aunrønning <olaa@verizonmedia.com> | 2020-10-23 15:56:23 +0200 |
commit | 85609870b4efb0029c202ef2730547f8c3faa32f (patch) | |
tree | 6168f9843f9ba4ff17369d0cbdd3c9c4efb9a319 | |
parent | 5ceb3deefdafd77ce2dba976a5124faa8b7f75f1 (diff) |
Add lastUpdated field to report. Report ID uses camel case. Remove unnecessary JsonIgnore. Reverse String comparison
3 files changed, 15 insertions, 6 deletions
diff --git a/controller-api/src/main/java/com/yahoo/vespa/hosted/controller/api/integration/repair/RepairTicketReport.java b/controller-api/src/main/java/com/yahoo/vespa/hosted/controller/api/integration/repair/RepairTicketReport.java index c44e00706e2..c2425fe0f72 100644 --- a/controller-api/src/main/java/com/yahoo/vespa/hosted/controller/api/integration/repair/RepairTicketReport.java +++ b/controller-api/src/main/java/com/yahoo/vespa/hosted/controller/api/integration/repair/RepairTicketReport.java @@ -15,19 +15,22 @@ import static com.yahoo.yolean.Exceptions.uncheck; @JsonIgnoreProperties(ignoreUnknown = true) public class RepairTicketReport { - private static final String REPORT_ID = "repair-ticket"; - private static final ObjectMapper objectMapper = new ObjectMapper();@JsonIgnore + private static final String REPORT_ID = "repairTicket"; + private static final ObjectMapper objectMapper = new ObjectMapper(); public String status; public String ticketNumber; public long createdMillis; + public long updatedMillis; public RepairTicketReport(@JsonProperty("status") String status, @JsonProperty("ticketNumber") String ticketNumber, - @JsonProperty("createdMillis") long createdMillis) { + @JsonProperty("createdMillis") long createdMillis, + @JsonProperty("updatedMillis") long updatedMillis) { this.status = status; this.ticketNumber = ticketNumber; this.createdMillis = createdMillis; + this.updatedMillis = updatedMillis; } public String getStatus() { @@ -42,6 +45,10 @@ public class RepairTicketReport { return createdMillis; } + public long getUpdatedMillis() { + return updatedMillis; + } + public static String getReportId() { return REPORT_ID; } diff --git a/controller-server/src/main/java/com/yahoo/vespa/hosted/controller/maintenance/HostRepairMaintainer.java b/controller-server/src/main/java/com/yahoo/vespa/hosted/controller/maintenance/HostRepairMaintainer.java index c3c5f902dff..e3c6862384f 100644 --- a/controller-server/src/main/java/com/yahoo/vespa/hosted/controller/maintenance/HostRepairMaintainer.java +++ b/controller-server/src/main/java/com/yahoo/vespa/hosted/controller/maintenance/HostRepairMaintainer.java @@ -72,7 +72,7 @@ public class HostRepairMaintainer extends ControllerMaintainer { if (!reports.containsKey(RepairTicketReport.getReportId())) { return false; } - return getTicketReport(node).getStatus().equals("OPEN"); + return "OPEN".equals(getTicketReport(node).getStatus()); } private RepairTicketReport getTicketReport(Node node) { diff --git a/controller-server/src/test/java/com/yahoo/vespa/hosted/controller/maintenance/HostRepairMaintainerTest.java b/controller-server/src/test/java/com/yahoo/vespa/hosted/controller/maintenance/HostRepairMaintainerTest.java index 24094892640..556755581fe 100644 --- a/controller-server/src/test/java/com/yahoo/vespa/hosted/controller/maintenance/HostRepairMaintainerTest.java +++ b/controller-server/src/test/java/com/yahoo/vespa/hosted/controller/maintenance/HostRepairMaintainerTest.java @@ -10,6 +10,7 @@ import com.yahoo.vespa.hosted.controller.api.integration.repair.RepairTicketRepo import org.junit.Test; import java.time.Duration; +import java.time.Instant; import java.util.List; import static org.junit.Assert.*; @@ -27,8 +28,9 @@ public class HostRepairMaintainerTest { var zoneId = ZoneId.from("dev.us-east-1"); var hostname1 = HostName.from("node-1-tenant-host-dev.us-east-1"); var hostname2 = HostName.from("node-2-tenant-host-dev.us-east-1"); - var openTicket = new RepairTicketReport("OPEN", "ticket-1", 123l); - var closedTicket = new RepairTicketReport("CLOSED", "ticket-2", 123l); + var timestamp = Instant.now().toEpochMilli(); + var openTicket = new RepairTicketReport("OPEN", "ticket-1", timestamp, timestamp); + var closedTicket = new RepairTicketReport("CLOSED", "ticket-2", timestamp, timestamp); tester.configServer().nodeRepository().addReport( zoneId, |