summaryrefslogtreecommitdiffstats
path: root/node-admin
diff options
context:
space:
mode:
authorValerij Fredriksen <valerijf@oath.com>2018-08-14 13:53:53 +0200
committerValerij Fredriksen <valerijf@oath.com>2018-08-14 14:20:21 +0200
commitdf4fbad1afed80eecd124781f048a6c2f2fe2475 (patch)
tree6e19df6a530b652cafdb0e6ae4774a36fd3be01c /node-admin
parentb043c75f3173f6184c73ca96c5f21ba8096a8d04 (diff)
Extend NodeAttributes to include hardwareFailureDescription and wantToDeprovision
Diffstat (limited to 'node-admin')
-rw-r--r--node-admin/src/main/java/com/yahoo/vespa/hosted/node/admin/configserver/noderepository/NodeAttributes.java31
-rw-r--r--node-admin/src/main/java/com/yahoo/vespa/hosted/node/admin/configserver/noderepository/RealNodeRepository.java2
2 files changed, 30 insertions, 3 deletions
diff --git a/node-admin/src/main/java/com/yahoo/vespa/hosted/node/admin/configserver/noderepository/NodeAttributes.java b/node-admin/src/main/java/com/yahoo/vespa/hosted/node/admin/configserver/noderepository/NodeAttributes.java
index 3b17972db6d..cb0e1042ad3 100644
--- a/node-admin/src/main/java/com/yahoo/vespa/hosted/node/admin/configserver/noderepository/NodeAttributes.java
+++ b/node-admin/src/main/java/com/yahoo/vespa/hosted/node/admin/configserver/noderepository/NodeAttributes.java
@@ -15,6 +15,8 @@ public class NodeAttributes {
private Optional<DockerImage> dockerImage = Optional.empty();
private Optional<String> vespaVersion = Optional.empty();
private Optional<String> hardwareDivergence = Optional.empty();
+ private Optional<String> hardwareFailureDescription = Optional.empty();
+ private Optional<Boolean> wantToDeprovision = Optional.empty();
public NodeAttributes() { }
@@ -43,6 +45,16 @@ public class NodeAttributes {
return this;
}
+ public NodeAttributes withHardwareFailureDescription(String hardwareFailureDescription) {
+ this.hardwareFailureDescription = Optional.of(hardwareFailureDescription);
+ return this;
+ }
+
+ public NodeAttributes withWantToDeprovision(boolean wantToDeprovision) {
+ this.wantToDeprovision = Optional.of(wantToDeprovision);
+ return this;
+ }
+
public Optional<Long> getRestartGeneration() {
return restartGeneration;
@@ -64,9 +76,18 @@ public class NodeAttributes {
return hardwareDivergence;
}
+ public Optional<String> getHardwareFailureDescription() {
+ return hardwareFailureDescription;
+ }
+
+ public Optional<Boolean> getWantToDeprovision() {
+ return wantToDeprovision;
+ }
+
@Override
public int hashCode() {
- return Objects.hash(restartGeneration, rebootGeneration, dockerImage, vespaVersion, hardwareDivergence);
+ return Objects.hash(restartGeneration, rebootGeneration, dockerImage, vespaVersion, hardwareDivergence,
+ hardwareFailureDescription, wantToDeprovision);
}
@Override
@@ -80,7 +101,9 @@ public class NodeAttributes {
&& Objects.equals(rebootGeneration, other.rebootGeneration)
&& Objects.equals(dockerImage, other.dockerImage)
&& Objects.equals(vespaVersion, other.vespaVersion)
- && Objects.equals(hardwareDivergence, other.hardwareDivergence);
+ && Objects.equals(hardwareDivergence, other.hardwareDivergence)
+ && Objects.equals(hardwareFailureDescription, other.hardwareFailureDescription)
+ && Objects.equals(wantToDeprovision, other.wantToDeprovision);
}
@Override
@@ -90,7 +113,9 @@ public class NodeAttributes {
rebootGeneration.map(gen -> "rebootGeneration=" + gen),
dockerImage.map(img -> "dockerImage=" + img.asString()),
vespaVersion.map(ver -> "vespaVersion=" + ver),
- hardwareDivergence.map(hwDivg -> "hardwareDivergence=" + hwDivg))
+ hardwareDivergence.map(hwDivg -> "hardwareDivergence=" + hwDivg),
+ hardwareFailureDescription.map(hwDesc -> "hardwareFailureDescription=" + hwDesc),
+ wantToDeprovision.map(depr -> "wantToDeprovision=" + depr))
.filter(Optional::isPresent)
.map(Optional::get)
.collect(Collectors.joining(", ", "NodeAttributes{", "}"));
diff --git a/node-admin/src/main/java/com/yahoo/vespa/hosted/node/admin/configserver/noderepository/RealNodeRepository.java b/node-admin/src/main/java/com/yahoo/vespa/hosted/node/admin/configserver/noderepository/RealNodeRepository.java
index fb2a1e3f890..858209da18e 100644
--- a/node-admin/src/main/java/com/yahoo/vespa/hosted/node/admin/configserver/noderepository/RealNodeRepository.java
+++ b/node-admin/src/main/java/com/yahoo/vespa/hosted/node/admin/configserver/noderepository/RealNodeRepository.java
@@ -209,6 +209,8 @@ public class RealNodeRepository implements NodeRepository {
node.currentRebootGeneration = nodeAttributes.getRebootGeneration().orElse(null);
node.vespaVersion = nodeAttributes.getVespaVersion().orElse(null);
node.hardwareDivergence = nodeAttributes.getHardwareDivergence().orElse(null);
+ node.hardwareFailureDescription = nodeAttributes.getHardwareFailureDescription().orElse(null);
+ node.wantToDeprovision = nodeAttributes.getWantToDeprovision().orElse(null);
return node;
}
}