diff options
author | Håkon Hallingstad <hakon@verizonmedia.com> | 2021-03-11 12:28:13 +0100 |
---|---|---|
committer | Håkon Hallingstad <hakon@verizonmedia.com> | 2021-03-11 12:28:13 +0100 |
commit | 913fba48bc73c5af5123beb5f1ece6dc3cf93a9c (patch) | |
tree | d0d3f1efa85abfe59223b0aacc48b095365c4c62 /node-admin/src | |
parent | b310bcb0d382dcb2f5c481902772c591a77197d8 (diff) |
Allow patching of openstackId
Diffstat (limited to 'node-admin/src')
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); |