diff options
author | Jon Marius Venstad <venstad@gmail.com> | 2020-01-24 20:44:16 +0100 |
---|---|---|
committer | Jon Marius Venstad <venstad@gmail.com> | 2020-01-24 20:44:16 +0100 |
commit | dcf38adc6fdafccd8c2a7e541ce034bbada75d9e (patch) | |
tree | 5312fbce92a1190c18a82e9a29810ffc19ac253e /controller-api/src | |
parent | 3eb2874fc865fe6daa9170f60dd2f13f37930b7e (diff) |
Add info about ongoing firmware checks as well
Diffstat (limited to 'controller-api/src')
3 files changed, 54 insertions, 4 deletions
diff --git a/controller-api/src/main/java/com/yahoo/vespa/hosted/controller/api/integration/configserver/Node.java b/controller-api/src/main/java/com/yahoo/vespa/hosted/controller/api/integration/configserver/Node.java index 684dc3cbc25..d8103c864df 100644 --- a/controller-api/src/main/java/com/yahoo/vespa/hosted/controller/api/integration/configserver/Node.java +++ b/controller-api/src/main/java/com/yahoo/vespa/hosted/controller/api/integration/configserver/Node.java @@ -32,6 +32,8 @@ public class Node { private final Version wantedOsVersion; private final ServiceState serviceState; private final Optional<Instant> suspendedSince; + private final Optional<Instant> currentFirmwareCheck; + private final Optional<Instant> wantedFirmwareCheck; private final long restartGeneration; private final long wantedRestartGeneration; private final long rebootGeneration; @@ -45,7 +47,8 @@ public class Node { private final Optional<TenantName> reservedTo; public Node(HostName hostname, Optional<HostName> parentHostname, State state, NodeType type, NodeResources resources, Optional<ApplicationId> owner, - Version currentVersion, Version wantedVersion, Version currentOsVersion, Version wantedOsVersion, ServiceState serviceState, + Version currentVersion, Version wantedVersion, Version currentOsVersion, Version wantedOsVersion, + Optional<Instant> currentFirmwareCheck, Optional<Instant> wantedFirmwareCheck, ServiceState serviceState, Optional<Instant> suspendedSince, long restartGeneration, long wantedRestartGeneration, long rebootGeneration, long wantedRebootGeneration, int cost, String flavor, String clusterId, ClusterType clusterType, boolean wantToRetire, boolean wantToDeprovision, Optional<TenantName> reservedTo) { @@ -59,6 +62,8 @@ public class Node { this.wantedVersion = wantedVersion; this.currentOsVersion = currentOsVersion; this.wantedOsVersion = wantedOsVersion; + this.currentFirmwareCheck = currentFirmwareCheck; + this.wantedFirmwareCheck = wantedFirmwareCheck; this.serviceState = serviceState; this.suspendedSince = suspendedSince; this.restartGeneration = restartGeneration; @@ -112,6 +117,14 @@ public class Node { return wantedOsVersion; } + public Optional<Instant> currentFirmwareCheck() { + return currentFirmwareCheck; + } + + public Optional<Instant> wantedFirmwareCheck() { + return wantedFirmwareCheck; + } + public ServiceState serviceState() { return serviceState; } @@ -215,6 +228,8 @@ public class Node { private Version wantedVersion; private Version currentOsVersion; private Version wantedOsVersion; + private Optional<Instant> currentFirmwareCheck = Optional.empty(); + private Optional<Instant> wantedFirmwareCheck = Optional.empty(); private ServiceState serviceState; private Optional<Instant> suspendedSince = Optional.empty(); private long restartGeneration; @@ -242,6 +257,8 @@ public class Node { this.wantedVersion = node.wantedVersion; this.currentOsVersion = node.currentOsVersion; this.wantedOsVersion = node.wantedOsVersion; + this.currentFirmwareCheck = node.currentFirmwareCheck; + this.wantedFirmwareCheck = node.wantedFirmwareCheck; this.serviceState = node.serviceState; this.suspendedSince = node.suspendedSince; this.restartGeneration = node.restartGeneration; @@ -307,6 +324,16 @@ public class Node { return this; } + public Builder currentFirmwareCheck(Instant currentFirmwareCheck) { + this.currentFirmwareCheck = Optional.ofNullable(currentFirmwareCheck); + return this; + } + + public Builder wantedFirmwareCheck(Instant wantedFirmwareCheck) { + this.wantedFirmwareCheck = Optional.ofNullable(wantedFirmwareCheck); + return this; + } + public Builder serviceState(ServiceState serviceState) { this.serviceState = serviceState; return this; @@ -373,9 +400,10 @@ public class Node { } public Node build() { - return new Node(hostname, parentHostname, state, type, resources, owner, currentVersion, wantedVersion, currentOsVersion, - wantedOsVersion, serviceState, suspendedSince, restartGeneration, wantedRestartGeneration, rebootGeneration, wantedRebootGeneration, - cost, flavor, clusterId, clusterType, wantToRetire, wantToDeprovision, reservedTo); + return new Node(hostname, parentHostname, state, type, resources, owner, currentVersion, wantedVersion, + currentOsVersion, wantedOsVersion, currentFirmwareCheck, wantedFirmwareCheck, serviceState, + suspendedSince, restartGeneration, wantedRestartGeneration, rebootGeneration, wantedRebootGeneration, + cost, flavor, clusterId, clusterType, wantToRetire, wantToDeprovision, reservedTo); } } diff --git a/controller-api/src/main/java/com/yahoo/vespa/hosted/controller/api/integration/configserver/NodeRepository.java b/controller-api/src/main/java/com/yahoo/vespa/hosted/controller/api/integration/configserver/NodeRepository.java index 43d8d1c5a6e..22c373e97ee 100644 --- a/controller-api/src/main/java/com/yahoo/vespa/hosted/controller/api/integration/configserver/NodeRepository.java +++ b/controller-api/src/main/java/com/yahoo/vespa/hosted/controller/api/integration/configserver/NodeRepository.java @@ -108,6 +108,8 @@ public interface NodeRepository { versionFrom(node.getWantedVespaVersion()), versionFrom(node.getCurrentOsVersion()), versionFrom(node.getWantedOsVersion()), + Optional.ofNullable(node.getCurrentFirmwareCheck()).map(Instant::ofEpochMilli), + Optional.ofNullable(node.getWantedFirmwareCheck()).map(Instant::ofEpochMilli), fromBoolean(node.getAllowedToBeDown()), Optional.ofNullable(node.suspendedSince()).map(Instant::ofEpochMilli), toInt(node.getCurrentRestartGeneration()), diff --git a/controller-api/src/main/java/com/yahoo/vespa/hosted/controller/api/integration/noderepository/NodeRepositoryNode.java b/controller-api/src/main/java/com/yahoo/vespa/hosted/controller/api/integration/noderepository/NodeRepositoryNode.java index 985b7e3a339..2abf40be527 100644 --- a/controller-api/src/main/java/com/yahoo/vespa/hosted/controller/api/integration/noderepository/NodeRepositoryNode.java +++ b/controller-api/src/main/java/com/yahoo/vespa/hosted/controller/api/integration/noderepository/NodeRepositoryNode.java @@ -56,6 +56,10 @@ public class NodeRepositoryNode { private String currentOsVersion; @JsonProperty("wantedOsVersion") private String wantedOsVersion; + @JsonProperty("currentFirmwareCheck") + private Long currentFirmwareCheck; + @JsonProperty("wantedFirmwareCheck") + private Long wantedFirmwareCheck; @JsonProperty("failCount") private Integer failCount; @JsonProperty("environment") @@ -337,6 +341,22 @@ public class NodeRepositoryNode { this.wantedOsVersion = wantedOsVersion; } + public Long getCurrentFirmwareCheck() { + return currentFirmwareCheck; + } + + public void setCurrentFirmwareCheck(Long currentFirmwareCheck) { + this.currentFirmwareCheck = currentFirmwareCheck; + } + + public Long getWantedFirmwareCheck() { + return wantedFirmwareCheck; + } + + public void setWantedFirmwareCheck(Long wantedFirmwareCheck) { + this.wantedFirmwareCheck = wantedFirmwareCheck; + } + public Map<String, JsonNode> getReports() { return reports; } |