aboutsummaryrefslogtreecommitdiffstats
path: root/node-repository/src/main/java/com/yahoo/vespa/hosted/provision/restapi/NodeResourcesSerializer.java
diff options
context:
space:
mode:
authorMartin Polden <mpolden@mpolden.no>2022-11-16 15:36:09 +0100
committerMartin Polden <mpolden@mpolden.no>2022-11-17 11:57:56 +0100
commitde749a8872fd1d96b7ae7b194b80764abe2768ed (patch)
tree104addc41434e6ea169faf5d754bfd1dfba6212b /node-repository/src/main/java/com/yahoo/vespa/hosted/provision/restapi/NodeResourcesSerializer.java
parentd991ae45a85bf5520a5043ccc07d4d21424cba97 (diff)
Support GPU in node specification
Diffstat (limited to 'node-repository/src/main/java/com/yahoo/vespa/hosted/provision/restapi/NodeResourcesSerializer.java')
-rw-r--r--node-repository/src/main/java/com/yahoo/vespa/hosted/provision/restapi/NodeResourcesSerializer.java73
1 files changed, 37 insertions, 36 deletions
diff --git a/node-repository/src/main/java/com/yahoo/vespa/hosted/provision/restapi/NodeResourcesSerializer.java b/node-repository/src/main/java/com/yahoo/vespa/hosted/provision/restapi/NodeResourcesSerializer.java
index e094bc69735..0d21caa3a06 100644
--- a/node-repository/src/main/java/com/yahoo/vespa/hosted/provision/restapi/NodeResourcesSerializer.java
+++ b/node-repository/src/main/java/com/yahoo/vespa/hosted/provision/restapi/NodeResourcesSerializer.java
@@ -17,60 +17,61 @@ public class NodeResourcesSerializer {
object.setString("diskSpeed", toString(resources.diskSpeed()));
object.setString("storageType", toString(resources.storageType()));
object.setString("architecture", toString(resources.architecture()));
+ if (!resources.gpuResources().isDefault()) {
+ object.setLong("gpuCount", resources.gpuResources().count());
+ object.setDouble("gpuMemoryGb", resources.gpuResources().memoryGb());
+ }
}
public static NodeResources.DiskSpeed diskSpeedFrom(String diskSpeed) {
- switch (diskSpeed) {
- case "fast": return NodeResources.DiskSpeed.fast;
- case "slow": return NodeResources.DiskSpeed.slow;
- case "any" : return NodeResources.DiskSpeed.any;
- default: throw new IllegalArgumentException("Unknown disk speed '" + diskSpeed + "'");
- }
+ return switch (diskSpeed) {
+ case "fast" -> NodeResources.DiskSpeed.fast;
+ case "slow" -> NodeResources.DiskSpeed.slow;
+ case "any" -> NodeResources.DiskSpeed.any;
+ default -> throw new IllegalArgumentException("Unknown disk speed '" + diskSpeed + "'");
+ };
}
private static String toString(NodeResources.DiskSpeed diskSpeed) {
- switch (diskSpeed) {
- case fast : return "fast";
- case slow : return "slow";
- case any : return "any";
- default: throw new IllegalArgumentException("Unknown disk speed '" + diskSpeed.name() + "'");
- }
+ return switch (diskSpeed) {
+ case fast -> "fast";
+ case slow -> "slow";
+ case any -> "any";
+ };
}
public static NodeResources.StorageType storageTypeFrom(String storageType) {
- switch (storageType) {
- case "local" : return NodeResources.StorageType.local;
- case "remote": return NodeResources.StorageType.remote;
- case "any" : return NodeResources.StorageType.any;
- default: throw new IllegalArgumentException("Unknown storage type '" + storageType + "'");
- }
+ return switch (storageType) {
+ case "local" -> NodeResources.StorageType.local;
+ case "remote" -> NodeResources.StorageType.remote;
+ case "any" -> NodeResources.StorageType.any;
+ default -> throw new IllegalArgumentException("Unknown storage type '" + storageType + "'");
+ };
}
private static String toString(NodeResources.StorageType storageType) {
- switch (storageType) {
- case remote : return "remote";
- case local : return "local";
- case any : return "any";
- default: throw new IllegalArgumentException("Unknown storage type '" + storageType.name() + "'");
- }
+ return switch (storageType) {
+ case remote -> "remote";
+ case local -> "local";
+ case any -> "any";
+ };
}
private static String toString(NodeResources.Architecture architecture) {
- switch (architecture) {
- case arm64 : return "arm64";
- case x86_64: return "x86_64";
- case any : return "any";
- default: throw new IllegalArgumentException("Unknown architecture '" + architecture.name() + "'");
- }
+ return switch (architecture) {
+ case arm64 -> "arm64";
+ case x86_64 -> "x86_64";
+ case any -> "any";
+ };
}
public static NodeResources.Architecture architectureFrom(String architecture) {
- switch (architecture) {
- case "arm64" : return NodeResources.Architecture.arm64;
- case "x86_64": return NodeResources.Architecture.x86_64;
- case "any" : return NodeResources.Architecture.any;
- default: throw new IllegalArgumentException("Unknown architecture '" + architecture + "'");
- }
+ return switch (architecture) {
+ case "arm64" -> NodeResources.Architecture.arm64;
+ case "x86_64" -> NodeResources.Architecture.x86_64;
+ case "any" -> NodeResources.Architecture.any;
+ default -> throw new IllegalArgumentException("Unknown architecture '" + architecture + "'");
+ };
}
}