diff --git a/specification/resources/kubernetes/examples.yml b/specification/resources/kubernetes/examples.yml index f7d614410..23809a00b 100644 --- a/specification/resources/kubernetes/examples.yml +++ b/specification/resources/kubernetes/examples.yml @@ -4,6 +4,7 @@ kubernetes_clusters_basic_request: region: nyc1 version: 1.18.6-do.0 isolated_workers: false + gpu_operator_ready: false node_pools: - size: s-1vcpu-2gb count: 3 @@ -19,6 +20,7 @@ kubernetes_clusters_multi_pool_request: region: nyc1 version: 1.18.6-do.0 isolated_workers: false + gpu_operator_ready: false tags: - production - web-team diff --git a/specification/resources/kubernetes/examples/curl/kubernetes_create_cluster.yml b/specification/resources/kubernetes/examples/curl/kubernetes_create_cluster.yml index 66850f426..f21532abe 100644 --- a/specification/resources/kubernetes/examples/curl/kubernetes_create_cluster.yml +++ b/specification/resources/kubernetes/examples/curl/kubernetes_create_cluster.yml @@ -3,5 +3,5 @@ source: |- curl -X POST \ -H "Content-Type: application/json" \ -H "Authorization: Bearer $DIGITALOCEAN_TOKEN" \ - -d '{"name": "prod-cluster-01","region": "nyc1","version": "1.14.1-do.4","vpc_uuid": "c33931f2-a26a-4e61-b85c-4e95a2ec431b","worker_subnet_uuid": "cbd79771-23eb-49be-b5ea-59cc56222622","isolated_workers": false,"tags": ["production","web-team"],"node_pools": [{"size": "s-1vcpu-2gb","count": 3,"name": "frontend-pool","tags": ["frontend"],"labels": {"service": "frontend", "priority": "high"}},{"size": "c-4","count": 2,"name": "backend-pool"}]}' \ + -d '{"name": "prod-cluster-01","region": "nyc1","version": "1.14.1-do.4","vpc_uuid": "c33931f2-a26a-4e61-b85c-4e95a2ec431b","worker_subnet_uuid": "cbd79771-23eb-49be-b5ea-59cc56222622","isolated_workers": false,"gpu_operator_ready": false,"tags": ["production","web-team"],"node_pools": [{"size": "s-1vcpu-2gb","count": 3,"name": "frontend-pool","tags": ["frontend"],"labels": {"service": "frontend", "priority": "high"}},{"size": "c-4","count": 2,"name": "backend-pool"}]}' \ "https://api.digitalocean.com/v2/kubernetes/clusters" diff --git a/specification/resources/kubernetes/examples/go/kubernetes_create_cluster.yml b/specification/resources/kubernetes/examples/go/kubernetes_create_cluster.yml index baaf512db..1f589f65e 100644 --- a/specification/resources/kubernetes/examples/go/kubernetes_create_cluster.yml +++ b/specification/resources/kubernetes/examples/go/kubernetes_create_cluster.yml @@ -18,6 +18,7 @@ source: |- RegionSlug: "nyc1", VersionSlug: "1.14.1-do.4", IsolatedWorkers: false, + GPUOperatorReady: false, Tags: []string{"production", "web-team"}, NodePools: []*godo.KubernetesNodePoolCreateRequest{ &godo.KubernetesNodePoolCreateRequest{ diff --git a/specification/resources/kubernetes/examples/python/kubernetes_create_cluster.yml b/specification/resources/kubernetes/examples/python/kubernetes_create_cluster.yml index 98adbe8c1..3bfb830a4 100644 --- a/specification/resources/kubernetes/examples/python/kubernetes_create_cluster.yml +++ b/specification/resources/kubernetes/examples/python/kubernetes_create_cluster.yml @@ -10,6 +10,7 @@ source: |- "region": "nyc1", "version": "1.18.6-do.0", "isolated_workers": False, + "gpu_operator_ready": False, "node_pools": [ { "size": "s-1vcpu-2gb", diff --git a/specification/resources/kubernetes/examples/ruby/kubernetes_create_cluster.yml b/specification/resources/kubernetes/examples/ruby/kubernetes_create_cluster.yml index 217bcf30a..7f6c43b9c 100644 --- a/specification/resources/kubernetes/examples/ruby/kubernetes_create_cluster.yml +++ b/specification/resources/kubernetes/examples/ruby/kubernetes_create_cluster.yml @@ -9,6 +9,7 @@ source: |- region: 'nyc1', version: '1.14.1-do.4', isolated_workers: false, + gpu_operator_ready: false, tags: ['production', 'web-team'], node_pools: [ { diff --git a/specification/resources/kubernetes/models/cluster.yml b/specification/resources/kubernetes/models/cluster.yml index c663fe0b4..e006be907 100644 --- a/specification/resources/kubernetes/models/cluster.yml +++ b/specification/resources/kubernetes/models/cluster.yml @@ -113,6 +113,16 @@ properties: value is false. When enabled, a NAT gateway must exist in the VPC where the cluster is created. + gpu_operator_ready: + type: boolean + default: false + example: false + description: A boolean value indicating whether GPU nodes in the cluster + are launched with images that do not include pre-installed GPU drivers, + allowing GPU drivers to be managed by a GPU operator instead. Mutually exclusive with other + GPU-related cluster options, such as `nvidia_gpu_dra_driver` and + `amd_gpu_dra_driver`. When omitted on create, the default value is false. + status: type: object readOnly: true @@ -176,8 +186,12 @@ properties: type: boolean readOnly: true example: true - description: A read-only boolean value indicating if a container registry is - integrated with the cluster. + description: A boolean value indicating whether GPU nodes in the cluster are + launched with images that do not include pre-installed GPU drivers, + allowing GPU drivers to be managed by a GPU operator instead. Mutually + exclusive with other GPU-related cluster options, such as + `nvidia_gpu_dra_driver` and `amd_gpu_dra_driver`. When omitted on create, + the default value is false. control_plane_firewall: $ref: "control_plane_firewall.yml" diff --git a/specification/resources/kubernetes/models/cluster_read.yml b/specification/resources/kubernetes/models/cluster_read.yml index 78495f6fd..8a9eb8a77 100644 --- a/specification/resources/kubernetes/models/cluster_read.yml +++ b/specification/resources/kubernetes/models/cluster_read.yml @@ -109,6 +109,16 @@ properties: value is false. When enabled, a NAT gateway must exist in the VPC where the cluster is created. + gpu_operator_ready: + type: boolean + default: false + example: false + description: A boolean value indicating whether GPU nodes in the cluster + are launched with images that do not include pre-installed GPU drivers, + allowing GPU drivers to be managed by a GPU operator instead. Mutually exclusive with other + GPU-related cluster options, such as `nvidia_gpu_dra_driver` and + `amd_gpu_dra_driver`. When omitted on create, the default value is false. + status: type: object readOnly: true @@ -184,7 +194,12 @@ properties: example: - registry-a - registry-b - description: An array of integrated DOCR registries. + description: A boolean value indicating whether GPU nodes in the cluster are + launched with images that do not include pre-installed GPU drivers, + allowing GPU drivers to be managed by a GPU operator instead. Mutually + exclusive with other GPU-related cluster options, such as + `nvidia_gpu_dra_driver` and `amd_gpu_dra_driver`. When omitted on create, + the default value is false. control_plane_firewall: $ref: "control_plane_firewall.yml" diff --git a/specification/resources/kubernetes/models/cluster_update.yml b/specification/resources/kubernetes/models/cluster_update.yml index f25dbe043..f239d10a1 100644 --- a/specification/resources/kubernetes/models/cluster_update.yml +++ b/specification/resources/kubernetes/models/cluster_update.yml @@ -47,6 +47,16 @@ properties: 1.36.0 and later, the default is true; for earlier versions, the default is false. + gpu_operator_ready: + type: boolean + example: false + description: A boolean value indicating whether GPU nodes in the cluster are + launched with images that do not include pre-installed GPU drivers, + allowing GPU drivers to be managed by a GPU operator instead. Mutually + exclusive with other GPU-related cluster options, such as + `nvidia_gpu_dra_driver` and `amd_gpu_dra_driver`. When omitted, the + current value is left unchanged. + control_plane_firewall: $ref: 'control_plane_firewall.yml' diff --git a/specification/resources/kubernetes/responses/examples.yml b/specification/resources/kubernetes/responses/examples.yml index 528b1fa58..561e7aee5 100644 --- a/specification/resources/kubernetes/responses/examples.yml +++ b/specification/resources/kubernetes/responses/examples.yml @@ -91,6 +91,7 @@ kubernetes_clusters_all: day: any auto_upgrade: false isolated_workers: false + gpu_operator_ready: false status: state: provisioning message: provisioning @@ -235,6 +236,7 @@ kubernetes_single: day: any auto_upgrade: false isolated_workers: false + gpu_operator_ready: false status: state: running created_at: '2018-11-15T16:00:11Z' @@ -375,6 +377,7 @@ kubernetes_updated: day: any auto_upgrade: true isolated_workers: false + gpu_operator_ready: false status: state: running created_at: '2018-11-15T16:00:11Z' @@ -479,6 +482,7 @@ kubernetes_clusters_create_basic_response: day: any auto_upgrade: false isolated_workers: false + gpu_operator_ready: false status: state: provisioning message: provisioning @@ -622,6 +626,7 @@ kubernetes_clusters_multi_pool_response: day: any auto_upgrade: false isolated_workers: false + gpu_operator_ready: false status: state: provisioning message: provisioning