summaryrefslogtreecommitdiffstats
path: root/controller-api
diff options
context:
space:
mode:
authorHarald Musum <musum@verizonmedia.com>2022-02-25 11:36:13 +0100
committerGitHub <noreply@github.com>2022-02-25 11:36:13 +0100
commit484861ffd79e943ec9dcacd5b02aab8e6b91709d (patch)
tree0c088aac8c5c90d86bd2d29b515fa63b08464a2c /controller-api
parent9fa74366994fa991c21db246df97377149fc37b9 (diff)
parent408ccb0e90f46ad702c175cc91912a4e2d6d6a88 (diff)
Merge pull request #21382 from vespa-engine/hmusum/add-architecture-to-node-repo-rest-api
Add architecture to node repo rest api
Diffstat (limited to 'controller-api')
-rw-r--r--controller-api/src/main/java/com/yahoo/vespa/hosted/controller/api/integration/noderepository/NodeResources.java23
1 files changed, 22 insertions, 1 deletions
diff --git a/controller-api/src/main/java/com/yahoo/vespa/hosted/controller/api/integration/noderepository/NodeResources.java b/controller-api/src/main/java/com/yahoo/vespa/hosted/controller/api/integration/noderepository/NodeResources.java
index 2673e855751..ccd1a9a745b 100644
--- a/controller-api/src/main/java/com/yahoo/vespa/hosted/controller/api/integration/noderepository/NodeResources.java
+++ b/controller-api/src/main/java/com/yahoo/vespa/hosted/controller/api/integration/noderepository/NodeResources.java
@@ -24,6 +24,8 @@ public class NodeResources {
private String diskSpeed;
@JsonProperty
private String storageType;
+ @JsonProperty
+ private String architecture = "x86_64"; // TODO: Remove default value for architecture
public Double getVcpu() {
return vcpu;
@@ -73,10 +75,19 @@ public class NodeResources {
this.storageType = storageType;
}
+ public String getArchitecture() {
+ return architecture;
+ }
+
+ public void setArchitecture(String architecture) {
+ this.architecture = architecture;
+ }
+
public com.yahoo.config.provision.NodeResources toNodeResources() {
return new com.yahoo.config.provision.NodeResources(vcpu, memoryGb, diskGb, bandwidthGbps,
toDiskSpeed(diskSpeed),
- toStorageType(storageType));
+ toStorageType(storageType),
+ toArchitecture(architecture));
}
private com.yahoo.config.provision.NodeResources.DiskSpeed toDiskSpeed(String diskSpeed) {
@@ -97,6 +108,15 @@ public class NodeResources {
}
}
+ private com.yahoo.config.provision.NodeResources.Architecture toArchitecture(String architecture) {
+ switch (architecture) {
+ case "arm64" : return com.yahoo.config.provision.NodeResources.Architecture.arm64;
+ case "x86_64" : return com.yahoo.config.provision.NodeResources.Architecture.x86_64;
+ case "any" : return com.yahoo.config.provision.NodeResources.Architecture.any;
+ default : throw new IllegalArgumentException("Unknown architecture '" + architecture + "'");
+ }
+ }
+
@Override
public String toString() {
return "NodeResources{" +
@@ -106,6 +126,7 @@ public class NodeResources {
", bandwidthGbps=" + bandwidthGbps +
", diskSpeed='" + diskSpeed + '\'' +
", storageType='" + storageType + '\'' +
+ ", architecture='" + architecture + '\'' +
'}';
}
}