From acb7d12b33e3a2b981c34fd3b85c89b0f3ecec18 Mon Sep 17 00:00:00 2001 From: Aryan Date: Fri, 14 Aug 2026 10:47:24 +0100 Subject: [PATCH] Add DRA and gpu partition mode for GPU --- .../kubernetes/models/amd_gpu_dra_driver.yml | 8 ++++++++ .../resources/kubernetes/models/cluster.yml | 6 ++++++ .../resources/kubernetes/models/cluster_read.yml | 6 ++++++ .../kubernetes/models/cluster_update.yml | 6 ++++++ .../resources/kubernetes/models/node_pool.yml | 15 +++++++++++++++ .../kubernetes/models/nvidia_gpu_dra_driver.yml | 8 ++++++++ .../resources/kubernetes/responses/examples.yml | 16 ++++++++++++++++ 7 files changed, 65 insertions(+) create mode 100644 specification/resources/kubernetes/models/amd_gpu_dra_driver.yml create mode 100644 specification/resources/kubernetes/models/nvidia_gpu_dra_driver.yml diff --git a/specification/resources/kubernetes/models/amd_gpu_dra_driver.yml b/specification/resources/kubernetes/models/amd_gpu_dra_driver.yml new file mode 100644 index 000000000..f77a92269 --- /dev/null +++ b/specification/resources/kubernetes/models/amd_gpu_dra_driver.yml @@ -0,0 +1,8 @@ +type: object +nullable: true +description: An object specifying whether the AMD GPU DRA Driver should be enabled in the Kubernetes cluster. Mutually exclusive with `amd_gpu_device_plugin`. +properties: + enabled: + type: boolean + description: Indicates whether the AMD GPU DRA Driver is enabled. + example: true diff --git a/specification/resources/kubernetes/models/cluster.yml b/specification/resources/kubernetes/models/cluster.yml index 26b174039..d9b76ecc6 100644 --- a/specification/resources/kubernetes/models/cluster.yml +++ b/specification/resources/kubernetes/models/cluster.yml @@ -203,6 +203,12 @@ properties: nvidia_gpu_device_plugin: $ref: "nvidia_gpu_device_plugin.yml" + nvidia_gpu_dra_driver: + $ref: "nvidia_gpu_dra_driver.yml" + + amd_gpu_dra_driver: + $ref: "amd_gpu_dra_driver.yml" + rdma_shared_dev_plugin: $ref: "rdma_shared_dev_plugin.yml" diff --git a/specification/resources/kubernetes/models/cluster_read.yml b/specification/resources/kubernetes/models/cluster_read.yml index 968dd9d53..6d6126e3c 100644 --- a/specification/resources/kubernetes/models/cluster_read.yml +++ b/specification/resources/kubernetes/models/cluster_read.yml @@ -207,6 +207,12 @@ properties: nvidia_gpu_device_plugin: $ref: "nvidia_gpu_device_plugin.yml" + nvidia_gpu_dra_driver: + $ref: "nvidia_gpu_dra_driver.yml" + + amd_gpu_dra_driver: + $ref: "amd_gpu_dra_driver.yml" + rdma_shared_dev_plugin: $ref: "rdma_shared_dev_plugin.yml" diff --git a/specification/resources/kubernetes/models/cluster_update.yml b/specification/resources/kubernetes/models/cluster_update.yml index 1f7c486af..1dcb081ec 100644 --- a/specification/resources/kubernetes/models/cluster_update.yml +++ b/specification/resources/kubernetes/models/cluster_update.yml @@ -71,6 +71,12 @@ properties: nvidia_gpu_device_plugin: $ref: "nvidia_gpu_device_plugin.yml" + nvidia_gpu_dra_driver: + $ref: "nvidia_gpu_dra_driver.yml" + + amd_gpu_dra_driver: + $ref: "amd_gpu_dra_driver.yml" + rdma_shared_dev_plugin: $ref: "rdma_shared_dev_plugin.yml" diff --git a/specification/resources/kubernetes/models/node_pool.yml b/specification/resources/kubernetes/models/node_pool.yml index c88b15887..2c179128c 100644 --- a/specification/resources/kubernetes/models/node_pool.yml +++ b/specification/resources/kubernetes/models/node_pool.yml @@ -3,6 +3,7 @@ kubernetes_node_pool: allOf: - $ref: "#/kubernetes_node_pool_size" - $ref: "#/kubernetes_node_pool_base" + - $ref: "#/kubernetes_node_pool_gpu_partition" required: - name @@ -27,6 +28,20 @@ kubernetes_node_pool_size: description: The slug identifier for the type of Droplet used as workers in the node pool. +kubernetes_node_pool_gpu_partition: + type: object + properties: + gpu_partition_mode: + type: string + enum: + - AMD_PARTITION_MODE_SPX_NPS1 + - AMD_PARTITION_MODE_DPX_NPS2 + example: AMD_PARTITION_MODE_SPX_NPS1 + description: The AMD GPU partition mode for this node pool. Only applicable + to AMD GPU sizes that support partitioning. Immutable after the node + pool is created. When omitted, the GPUs in the pool are left + unpartitioned. + kubernetes_node_pool_base: type: object properties: diff --git a/specification/resources/kubernetes/models/nvidia_gpu_dra_driver.yml b/specification/resources/kubernetes/models/nvidia_gpu_dra_driver.yml new file mode 100644 index 000000000..e859f29ac --- /dev/null +++ b/specification/resources/kubernetes/models/nvidia_gpu_dra_driver.yml @@ -0,0 +1,8 @@ +type: object +nullable: true +description: An object specifying whether the NVIDIA GPU DRA Driver should be enabled in the Kubernetes cluster. Mutually exclusive with `nvidia_gpu_device_plugin`. +properties: + enabled: + type: boolean + description: Indicates whether the NVIDIA GPU DRA Driver is enabled. + example: true diff --git a/specification/resources/kubernetes/responses/examples.yml b/specification/resources/kubernetes/responses/examples.yml index 298516536..3cbe70768 100644 --- a/specification/resources/kubernetes/responses/examples.yml +++ b/specification/resources/kubernetes/responses/examples.yml @@ -126,6 +126,10 @@ kubernetes_clusters_all: enabled: false nvidia_gpu_device_plugin: enabled: false + nvidia_gpu_dra_driver: + enabled: false + amd_gpu_dra_driver: + enabled: false rdma_shared_dev_plugin: enabled: false coredns_autoscaler: @@ -263,6 +267,10 @@ kubernetes_single: enabled: false nvidia_gpu_device_plugin: enabled: false + nvidia_gpu_dra_driver: + enabled: false + amd_gpu_dra_driver: + enabled: false rdma_shared_dev_plugin: enabled: false coredns_autoscaler: @@ -397,6 +405,10 @@ kubernetes_updated: enabled: false nvidia_gpu_device_plugin: enabled: false + nvidia_gpu_dra_driver: + enabled: false + amd_gpu_dra_driver: + enabled: false rdma_shared_dev_plugin: enabled: false coredns_autoscaler: @@ -496,6 +508,10 @@ kubernetes_clusters_create_basic_response: enabled: false nvidia_gpu_device_plugin: enabled: false + nvidia_gpu_dra_driver: + enabled: false + amd_gpu_dra_driver: + enabled: false rdma_shared_dev_plugin: enabled: false coredns_autoscaler: