G P U Cluster Service

Update a GPU cluster

PUT
/compute/clusters/{cluster_id}

Update the configuration of an existing GPU cluster.

Authorization

bearerAuth
AuthorizationBearer <token>

In: header

Path Parameters

cluster_id*string

The ID of the cluster to update

Request Body

application/json

cluster_type?unknown

Type of cluster to update.

Value in

  • "KUBERNETES"
  • "SLURM"
num_gpus?integer

Target GPU count for the cluster. When omitted, the server keeps the current GPU count from cluster metadata (use for config-only or decommission-time-only updates).

reservation_end_time?string

Timestamp at which the cluster should be decommissioned. Only accepted for prepaid clusters.

Formatdate-time
cluster_config?
num_reserved_gpus?integer

Number of reserved GPUs to update to. This field is only applicable for clusters with RESERVED billing type.

num_preemptible_gpus?integer

Updated desired number of preemptible GPUs for the cluster. When omitted, the current value is preserved. Must be a multiple of 8.

num_capacity_pool_gpus?integer

Number of GPUs to draw from the cluster's capacity pool. Only valid for clusters created with a capacity_pool_id. Must be a multiple of 8 and not exceed num_gpus. When omitted, the current value is preserved.

Formatint32
add_ons?array<>

Add-ons to update on the cluster. Each entry identifies an existing add-on by name and provides the new external config to merge.

Response Body

application/json

curl -X PUT "https://example.com/compute/clusters/string" \  -H "Content-Type: application/json" \  -d '{}'
{  "cluster_id": "string",  "cluster_type": "KUBERNETES",  "region": "string",  "gpu_type": "H100_SXM",  "cluster_name": "string",  "duration_hours": 0,  "volumes": [    {      "volume_id": "string",      "volume_name": "string",      "size_tib": 0,      "status": "string"    }  ],  "status": "WaitingForControlPlaneNodes",  "control_plane_nodes": [    {      "node_id": "string",      "status": "string",      "host_name": "string",      "num_cpu_cores": 0,      "memory_gib": 0,      "network": "string",      "phase_transitions": [        {          "phase": "NODE_PHASE_PENDING",          "transition_time": "2019-08-24T14:15:22Z"        }      ],      "public_ipv4": "string"    }  ],  "gpu_worker_nodes": [    {      "node_id": "string",      "status": "string",      "host_name": "string",      "num_cpu_cores": 0,      "num_gpus": 0,      "memory_gib": 0,      "networks": [        "string"      ],      "instance_id": "string",      "latest_remediation": {        "id": "string",        "cluster_id": "string",        "instance_id": "string",        "mode": "REMEDIATION_MODE_VM_ONLY",        "trigger": "REMEDIATION_TRIGGER_MANUAL",        "state": "PENDING_APPROVAL",        "reason": "string",        "active_health_check_run_id": "string",        "passive_health_check_event_id": "string",        "requested_by": "string",        "create_time": "2019-08-24T14:15:22Z",        "reviewed_by": "string",        "review_time": "2019-08-24T14:15:22Z",        "review_comment": "string",        "start_time": "2019-08-24T14:15:22Z",        "end_time": "2019-08-24T14:15:22Z",        "error_message": "string",        "update_time": "2019-08-24T14:15:22Z",        "instance_name": "string",        "linked_alerts": [          {            "passive_health_check_alert_id": "string",            "instance_id": "string",            "cluster_id": "string",            "target_vm": "string",            "alert_name": "string",            "severity": "PHC_SEVERITY_INFO",            "annotations": {              "property1": "string",              "property2": "string"            },            "started_at": "2019-08-24T14:15:22Z",            "resolved_at": "2019-08-24T14:15:22Z",            "node_remediation_intent_id": "string",            "annotation": {              "title": "string",              "description": "string",              "summary_line": "string",              "xid": {                "events": [                  {                    "xid_code": "string",                    "mnemonic": "string",                    "count": 0                  }                ]              },              "slurm_node_unavailable": {                "reason": "string"              }            }          }        ]      },      "slurm_worker_hostname": "string",      "phase_transitions": [        {          "phase": "NODE_PHASE_PENDING",          "transition_time": "2019-08-24T14:15:22Z"        }      ],      "marked_for_deletion": true,      "public_ipv4": "string",      "ib_hca_type": "string",      "ib_hca_count": 0,      "nvswitch_count": 0,      "nvswitch_type": "string",      "ephemeral_storage": "string",      "auto_remediation_enabled": true,      "deleted_at": "2019-08-24T14:15:22Z"    }  ],  "kube_config": "string",  "num_gpus": 0,  "slurm_shm_size_gib": 0,  "capacity_pool_id": "string",  "reservation_start_time": "2019-08-24T14:15:22Z",  "reservation_end_time": "2019-08-24T14:15:22Z",  "install_traefik": true,  "cuda_version": "string",  "nvidia_driver_version": "string",  "created_at": "2019-08-24T14:15:22Z",  "oidc_config": {    "issuer_url": "string",    "client_id": "string",    "username_claim": "string",    "username_prefix": "string",    "group_claim": "string",    "group_prefix": "string",    "ca_cert": "string"  },  "project_id": "string",  "cluster_config": {    "load_balancer": "NONE",    "kubernetes_dashboard_enabled": true,    "jumphost_enabled": true,    "slurm_startup_scripts": {      "worker_prolog": "string",      "worker_epilog": "string",      "controller_prolog": "string",      "controller_epilog": "string",      "login_init_script": "string",      "nodeset_init_script": "string",      "extra_slurm_conf": "string"    },    "ingress": {      "enabled": true    },    "observability": {      "enabled": true    },    "gpu_operator_version": "string",    "network_operator_version": "string",    "ssh_ca_enabled": true  },  "num_cpu_workers": 0,  "phase_transitions": [    {      "phase": "CLUSTER_PHASE_QUEUED",      "transition_time": "2019-08-24T14:15:22Z"    }  ],  "desired_preemptible_gpus": 0,  "allocated_preemptible_gpus": 0,  "billing_type": "RESERVED",  "add_ons": [    {      "name": "string",      "add_on_type": "string",      "config": {        "dashboard": {          "enabled": true        },        "ingress": {          "enabled": true        },        "torchpass": {          "enabled": true        },        "slurm_web": {          "enabled": true        },        "headlamp": {          "enabled": true        }      },      "state": {        "dashboard": {},        "ingress": {},        "torchpass": {},        "slurm_web": {},        "headlamp": {}      }    }  ],  "machine_cluster_id": "string",  "first_ready_at": "2019-08-24T14:15:22Z",  "is_in_substrate": true,  "control_plane_ready": true,  "ums_project_id": "string",  "ums_org_id": "string",  "os_image": "string",  "nvidia_driver_version_id": "string",  "num_capacity_pool_gpus": 0,  "num_reserved_gpus": 0,  "deleted_gpu_worker_nodes": [    {      "node_id": "string",      "status": "string",      "host_name": "string",      "num_cpu_cores": 0,      "num_gpus": 0,      "memory_gib": 0,      "networks": [        "string"      ],      "instance_id": "string",      "latest_remediation": {        "id": "string",        "cluster_id": "string",        "instance_id": "string",        "mode": "REMEDIATION_MODE_VM_ONLY",        "trigger": "REMEDIATION_TRIGGER_MANUAL",        "state": "PENDING_APPROVAL",        "reason": "string",        "active_health_check_run_id": "string",        "passive_health_check_event_id": "string",        "requested_by": "string",        "create_time": "2019-08-24T14:15:22Z",        "reviewed_by": "string",        "review_time": "2019-08-24T14:15:22Z",        "review_comment": "string",        "start_time": "2019-08-24T14:15:22Z",        "end_time": "2019-08-24T14:15:22Z",        "error_message": "string",        "update_time": "2019-08-24T14:15:22Z",        "instance_name": "string",        "linked_alerts": [          {            "passive_health_check_alert_id": "string",            "instance_id": "string",            "cluster_id": "string",            "target_vm": "string",            "alert_name": "string",            "severity": "PHC_SEVERITY_INFO",            "annotations": {              "property1": "string",              "property2": "string"            },            "started_at": "2019-08-24T14:15:22Z",            "resolved_at": "2019-08-24T14:15:22Z",            "node_remediation_intent_id": "string",            "annotation": {              "title": "string",              "description": "string",              "summary_line": "string",              "xid": {                "events": [                  {                    "xid_code": "string",                    "mnemonic": "string",                    "count": 0                  }                ]              },              "slurm_node_unavailable": {                "reason": "string"              }            }          }        ]      },      "slurm_worker_hostname": "string",      "phase_transitions": [        {          "phase": "NODE_PHASE_PENDING",          "transition_time": "2019-08-24T14:15:22Z"        }      ],      "marked_for_deletion": true,      "public_ipv4": "string",      "ib_hca_type": "string",      "ib_hca_count": 0,      "nvswitch_count": 0,      "nvswitch_type": "string",      "ephemeral_storage": "string",      "auto_remediation_enabled": true,      "deleted_at": "2019-08-24T14:15:22Z"    }  ],  "node_lifecycle_events": [    {      "node_id": "string",      "reason": "string",      "message": "string",      "timestamp": "2019-08-24T14:15:22Z"    }  ]}