diff options
author | olaaun <olaa@oath.com> | 2019-02-13 14:35:30 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2019-02-13 14:35:30 +0100 |
commit | cd586570d4ee78be18f6f19d27d167993281882c (patch) | |
tree | 26a6bd9a3aa424a36da1384e319bb09dee8f57bd /node-admin | |
parent | af9e6a485a69ce0a39a1e94f0915189d360b1291 (diff) |
Added patchable model Id field. (#8442)
* Added patchable modelId field.
* Fixed some tests
* Misc fixes
Diffstat (limited to 'node-admin')
4 files changed, 20 insertions, 1 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 a5635507ab7..78938e9c5b2 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 @@ -30,6 +30,7 @@ public class NodeAttributes { private Optional<String> hardwareDivergence = Optional.empty(); private Optional<String> hardwareFailureDescription = Optional.empty(); private Optional<Boolean> wantToDeprovision = Optional.empty(); + private Optional<String> modelId = Optional.empty(); /** The list of reports to patch. A null value is used to remove the report. */ private Map<String, JsonNode> reports = new TreeMap<>(); @@ -84,6 +85,11 @@ public class NodeAttributes { return this; } + public NodeAttributes withModelId(String modelId) { + this.modelId = Optional.of(modelId); + return this; + } + public NodeAttributes withReports(Map<String, JsonNode> nodeReports) { this.reports = new TreeMap<>(nodeReports); return this; 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 edba4956e90..858088d23e2 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 @@ -41,6 +41,8 @@ public class NodeSpec { private final Optional<Instant> wantedFirmwareCheck; private final Optional<Instant> currentFirmwareCheck; + private final Optional<String> modelId; + private final Optional<Boolean> allowedToBeDown; private final Optional<Boolean> wantToDeprovision; private final Optional<Owner> owner; @@ -82,6 +84,7 @@ public class NodeSpec { long currentRebootGeneration, Optional<Instant> wantedFirmwareCheck, Optional<Instant> currentFirmwareCheck, + Optional<String> modelId, double minCpuCores, double minMainMemoryAvailableGb, double minDiskAvailableGb, @@ -99,6 +102,7 @@ public class NodeSpec { this.nodeType = Objects.requireNonNull(nodeType); this.flavor = Objects.requireNonNull(flavor); this.canonicalFlavor = canonicalFlavor; + this.modelId = modelId; this.wantedVespaVersion = Objects.requireNonNull(wantedVespaVersion); this.vespaVersion = Objects.requireNonNull(vespaVersion); this.wantedOsVersion = Objects.requireNonNull(wantedOsVersion); @@ -193,6 +197,10 @@ public class NodeSpec { return currentFirmwareCheck; } + public Optional<String> getModelId() { + return modelId; + } + public Optional<Boolean> getAllowedToBeDown() { return allowedToBeDown; } @@ -511,6 +519,7 @@ public class NodeSpec { private long currentRebootGeneration; private Optional<Instant> wantedFirmwareCheck = Optional.empty(); private Optional<Instant> currentFirmwareCheck = Optional.empty(); + private Optional<String> modelId = Optional.empty(); private double minCpuCores; private double minMainMemoryAvailableGb; private double minDiskAvailableGb; @@ -860,7 +869,7 @@ public class NodeSpec { owner, membership, wantedRestartGeneration, currentRestartGeneration, wantedRebootGeneration, currentRebootGeneration, - wantedFirmwareCheck, currentFirmwareCheck, + wantedFirmwareCheck, currentFirmwareCheck, modelId, minCpuCores, minMainMemoryAvailableGb, minDiskAvailableGb, fastDisk, bandwidth, ipAddresses, hardwareDivergence, hardwareFailureDescription, reports, parentHostname); 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 45e57ae2e67..ccc1693546e 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 @@ -207,6 +207,7 @@ public class RealNodeRepository implements NodeRepository { node.currentRebootGeneration, Optional.ofNullable(node.wantedFirmwareCheck).map(Instant::ofEpochMilli), Optional.ofNullable(node.currentFirmwareCheck).map(Instant::ofEpochMilli), + Optional.ofNullable(node.modelId), node.minCpuCores, node.minMainMemoryAvailableGb, node.minDiskAvailableGb, diff --git a/node-admin/src/main/java/com/yahoo/vespa/hosted/node/admin/configserver/noderepository/bindings/NodeRepositoryNode.java b/node-admin/src/main/java/com/yahoo/vespa/hosted/node/admin/configserver/noderepository/bindings/NodeRepositoryNode.java index 777d60de17d..a74a2809bab 100644 --- a/node-admin/src/main/java/com/yahoo/vespa/hosted/node/admin/configserver/noderepository/bindings/NodeRepositoryNode.java +++ b/node-admin/src/main/java/com/yahoo/vespa/hosted/node/admin/configserver/noderepository/bindings/NodeRepositoryNode.java @@ -54,6 +54,8 @@ public class NodeRepositoryNode { public Long currentFirmwareCheck; @JsonProperty("wantedFirmwareCheck") public Long wantedFirmwareCheck; + @JsonProperty("modelId") + public String modelId; @JsonProperty("failCount") public Integer failCount; @JsonProperty("fastDisk") @@ -100,6 +102,7 @@ public class NodeRepositoryNode { ", ipAddresses=" + ipAddresses + ", additionalIpAddresses=" + additionalIpAddresses + ", openStackId='" + openStackId + '\'' + + ", modelId='" + modelId + '\'' + ", flavor='" + flavor + '\'' + ", canonicalFlavor='" + canonicalFlavor + '\'' + ", membership=" + membership + |