summaryrefslogtreecommitdiffstats
path: root/controller-api
diff options
context:
space:
mode:
authorJon Marius Venstad <venstad@gmail.com>2020-01-24 20:44:16 +0100
committerJon Marius Venstad <venstad@gmail.com>2020-01-24 20:44:16 +0100
commitdcf38adc6fdafccd8c2a7e541ce034bbada75d9e (patch)
tree5312fbce92a1190c18a82e9a29810ffc19ac253e /controller-api
parent3eb2874fc865fe6daa9170f60dd2f13f37930b7e (diff)
Add info about ongoing firmware checks as well
Diffstat (limited to 'controller-api')
-rw-r--r--controller-api/src/main/java/com/yahoo/vespa/hosted/controller/api/integration/configserver/Node.java36
-rw-r--r--controller-api/src/main/java/com/yahoo/vespa/hosted/controller/api/integration/configserver/NodeRepository.java2
-rw-r--r--controller-api/src/main/java/com/yahoo/vespa/hosted/controller/api/integration/noderepository/NodeRepositoryNode.java20
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;
}