summaryrefslogtreecommitdiffstats
path: root/node-admin/src
diff options
context:
space:
mode:
authorHåkon Hallingstad <hakon@verizonmedia.com>2021-03-11 12:28:13 +0100
committerHåkon Hallingstad <hakon@verizonmedia.com>2021-03-11 12:28:13 +0100
commit913fba48bc73c5af5123beb5f1ece6dc3cf93a9c (patch)
treed0d3f1efa85abfe59223b0aacc48b095365c4c62 /node-admin/src
parentb310bcb0d382dcb2f5c481902772c591a77197d8 (diff)
Allow patching of openstackId
Diffstat (limited to 'node-admin/src')
-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/NodeSpec.java1
-rw-r--r--node-admin/src/main/java/com/yahoo/vespa/hosted/node/admin/configserver/noderepository/RealNodeRepository.java1
3 files changed, 23 insertions, 10 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 94431f8ac57..2379659f74b 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
@@ -22,6 +22,7 @@ import java.util.stream.Stream;
*/
public class NodeAttributes {
+ private Optional<String> hostId = Optional.empty();
private Optional<Long> restartGeneration = Optional.empty();
private Optional<Long> rebootGeneration = Optional.empty();
private Optional<DockerImage> dockerImage = Optional.empty();
@@ -33,6 +34,11 @@ public class NodeAttributes {
public NodeAttributes() { }
+ public NodeAttributes withHostId(String hostId) {
+ this.hostId = Optional.of(hostId);
+ return this;
+ }
+
public NodeAttributes withRestartGeneration(Optional<Long> restartGeneration) {
this.restartGeneration = restartGeneration;
return this;
@@ -82,6 +88,10 @@ public class NodeAttributes {
return this;
}
+ public Optional<String> getHostId() {
+ return hostId;
+ }
+
public Optional<Long> getRestartGeneration() {
return restartGeneration;
}
@@ -112,7 +122,7 @@ public class NodeAttributes {
@Override
public int hashCode() {
- return Objects.hash(restartGeneration, rebootGeneration, dockerImage, vespaVersion, currentOsVersion,
+ return Objects.hash(hostId, restartGeneration, rebootGeneration, dockerImage, vespaVersion, currentOsVersion,
currentFirmwareCheck, reports);
}
@@ -127,7 +137,8 @@ public class NodeAttributes {
}
final NodeAttributes other = (NodeAttributes) o;
- return Objects.equals(restartGeneration, other.restartGeneration)
+ return Objects.equals(hostId, other.hostId)
+ && Objects.equals(restartGeneration, other.restartGeneration)
&& Objects.equals(rebootGeneration, other.rebootGeneration)
&& Objects.equals(dockerImage, other.dockerImage)
&& Objects.equals(vespaVersion, other.vespaVersion)
@@ -138,14 +149,14 @@ public class NodeAttributes {
@Override
public String toString() {
- return Stream.of(
- restartGeneration.map(gen -> "restartGeneration=" + gen),
- rebootGeneration.map(gen -> "rebootGeneration=" + gen),
- dockerImage.map(img -> "dockerImage=" + img.asString()),
- vespaVersion.map(ver -> "vespaVersion=" + ver.toFullString()),
- currentOsVersion.map(ver -> "currentOsVersion=" + ver.toFullString()),
- currentFirmwareCheck.map(at -> "currentFirmwareCheck=" + at),
- Optional.ofNullable(reports.isEmpty() ? null : "reports=" + reports))
+ return Stream.of(hostId.map(id -> "hostId=" + id),
+ restartGeneration.map(gen -> "restartGeneration=" + gen),
+ rebootGeneration.map(gen -> "rebootGeneration=" + gen),
+ dockerImage.map(img -> "dockerImage=" + img.asString()),
+ vespaVersion.map(ver -> "vespaVersion=" + ver.toFullString()),
+ currentOsVersion.map(ver -> "currentOsVersion=" + ver.toFullString()),
+ currentFirmwareCheck.map(at -> "currentFirmwareCheck=" + at),
+ Optional.ofNullable(reports.isEmpty() ? null : "reports=" + reports))
.filter(Optional::isPresent)
.map(Optional::get)
.collect(Collectors.joining(", ", "{", "}"));
diff --git a/node-admin/src/main/java/com/yahoo/vespa/hosted/node/admin/configserver/noderepository/NodeSpec.java b/node-admin/src/main/java/com/yahoo/vespa/hosted/node/admin/configserver/noderepository/NodeSpec.java
index 41f0932419b..7408041462c 100644
--- a/node-admin/src/main/java/com/yahoo/vespa/hosted/node/admin/configserver/noderepository/NodeSpec.java
+++ b/node-admin/src/main/java/com/yahoo/vespa/hosted/node/admin/configserver/noderepository/NodeSpec.java
@@ -599,6 +599,7 @@ public class NodeSpec {
}
public Builder updateFromNodeAttributes(NodeAttributes attributes) {
+ attributes.getHostId().ifPresent(this::id);
attributes.getDockerImage().ifPresent(this::currentDockerImage);
attributes.getCurrentOsVersion().ifPresent(this::currentOsVersion);
attributes.getRebootGeneration().ifPresent(this::currentRebootGeneration);
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 5069f02c6b7..8e069ab923b 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
@@ -253,6 +253,7 @@ public class RealNodeRepository implements NodeRepository {
public static NodeRepositoryNode nodeRepositoryNodeFromNodeAttributes(NodeAttributes nodeAttributes) {
NodeRepositoryNode node = new NodeRepositoryNode();
+ node.openStackId = nodeAttributes.getHostId().orElse(null);
node.currentDockerImage = nodeAttributes.getDockerImage().map(DockerImage::asString).orElse(null);
node.currentRestartGeneration = nodeAttributes.getRestartGeneration().orElse(null);
node.currentRebootGeneration = nodeAttributes.getRebootGeneration().orElse(null);