diff options
author | Jon Bratseth <bratseth@gmail.com> | 2022-11-17 22:37:48 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2022-11-17 22:37:48 +0100 |
commit | 2872e68c64605c04147fbf930d76f09078ce5550 (patch) | |
tree | 23e074299e8f28bbd4d2c339acf9d289fe621576 /node-repository | |
parent | de2362a8a5559c4944a198712796bf458d758b97 (diff) | |
parent | de749a8872fd1d96b7ae7b194b80764abe2768ed (diff) |
Merge pull request #24909 from vespa-engine/mpolden/gpu-resources
Support GPU in node specification
Diffstat (limited to 'node-repository')
-rw-r--r-- | node-repository/src/main/java/com/yahoo/vespa/hosted/provision/restapi/NodeResourcesSerializer.java | 73 |
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 + "'"); + }; } } |