Skip to content

Delete a Node

DELETE
/apis/nodus.dev/v1/nodes/{name}
curl --request DELETE \
--url https://example.com/apis/nodus.dev/v1/nodes/example
name
required
string

The object’s name.

dryRun
string
fieldValidation
string
fieldManager
string
propagationPolicy
string
Idempotency-Key
string
If-Match
string

OK

Media type application/json

Node is a customer host enrolled into a Pool with an EnrollmentToken. It is read-only except for metadata.labels and the nodus.dev/drain-requested-at annotation; DELETE unenrolls the host.

object
apiVersion
string
kind
string
metadata
object
annotations
object
key
additional properties
string
creationTimestamp
string
deletionGracePeriodSeconds
integer format: int64
deletionTimestamp
string
finalizers
Array<string>
nullable
generateName
string
generation
integer format: int64
labels
object
key
additional properties
string
managedFields
Array<object>
nullable
object
apiVersion
string
fieldsType
string
fieldsV1
object
key
additional properties
manager
string
operation
string
subresource
string
time
string
name
string
namespace
string
ownerReferences
Array<object>
nullable
object
apiVersion
required
string
blockOwnerDeletion
boolean
controller
boolean
kind
required
string
name
required
string
uid
required
string
resourceVersion
string
selfLink
string
uid
string
status

NodeStatus is what nodusd reports about the host.

object
allocatable

NodeAllocatable is the placeable share of the host.

object
cpu
required

CPU is the free CPU count.

integer format: int32
gpus

GPUs counts free GPUs per accelerator model.

object
key
additional properties
integer format: int32
memoryMiB
required

MemoryMiB is the free memory in MiB.

integer format: int64
cloudAccount

CloudAccount is the CloudAccount the host was observed in, when it was enrolled from one.

string
conditions

Conditions carries Ready.

Array<object>
nullable
object
lastTransitionTime
required
string
message
required
string
observedGeneration
integer format: int64
reason
required
string
status
required
string
type
required
string
drainedTime

DrainedTime is when the current drain began.

string
inventory

NodeInventory is the host’s hardware and software.

object
cpu
required

CPU is the host’s CPU count.

integer format: int32
diskGiB
required

DiskGiB is the host’s free disk in GiB.

integer format: int64
gpus

GPUs are the host’s GPUs.

Array<object>
nullable

NodeGPU is one device on the host.

object
driver

Driver is the GPU driver version.

string
memoryMiB
required

MemoryMiB is the GPU’s memory in MiB.

integer format: int64
type
required

Accelerator model, “h100-sxm-80g”

string
memoryMiB
required

MemoryMiB is the host’s memory in MiB.

integer format: int64
nodusdVersion

NodusdVersion is the nodusd release on the host.

string
os

OS is the host’s operating system.

string
lastHeartbeatTime

LastHeartbeatTime is nodusd’s latest heartbeat.

string
pool
required

Pool is the Pool the host belongs to.

string
running
required

Running counts the Nodus-scheduled attempts on the host.

integer format: int32
utilization

NodeUtilization is the host’s latest utilization.

object
gpuPercent
required

GPUPercent is the GPU busy share, in percent.

integer format: int32
memoryPercent
required

MemoryPercent is the memory in use, in percent.

integer format: int32
Example generated
{
"apiVersion": "example",
"kind": "example",
"metadata": {
"annotations": {
"additionalProperty": "example"
},
"creationTimestamp": "example",
"deletionGracePeriodSeconds": 1,
"deletionTimestamp": "example",
"finalizers": [
"example"
],
"generateName": "example",
"generation": 1,
"labels": {
"additionalProperty": "example"
},
"managedFields": [
{
"apiVersion": "example",
"fieldsType": "example",
"fieldsV1": {
"additionalProperty": "example"
},
"manager": "example",
"operation": "example",
"subresource": "example",
"time": "example"
}
],
"name": "example",
"namespace": "example",
"ownerReferences": [
{
"apiVersion": "example",
"blockOwnerDeletion": true,
"controller": true,
"kind": "example",
"name": "example",
"uid": "example"
}
],
"resourceVersion": "example",
"selfLink": "example",
"uid": "example"
},
"status": {
"allocatable": {
"cpu": 1,
"gpus": {
"additionalProperty": 1
},
"memoryMiB": 1
},
"cloudAccount": "example",
"conditions": [
{
"lastTransitionTime": "example",
"message": "example",
"observedGeneration": 1,
"reason": "example",
"status": "example",
"type": "example"
}
],
"drainedTime": "example",
"inventory": {
"cpu": 1,
"diskGiB": 1,
"gpus": [
{
"driver": "example",
"memoryMiB": 1,
"type": "example"
}
],
"memoryMiB": 1,
"nodusdVersion": "example",
"os": "example"
},
"lastHeartbeatTime": "example",
"pool": "example",
"running": 1,
"utilization": {
"gpuPercent": 1,
"memoryPercent": 1
}
}
}

An error: a metav1.Status whose reason is a registered code.

Media type application/json

Status is the error body of every API response: a Kubernetes metav1.Status (so kubectl and client-go understand it) plus three top-level extensions that those clients ignore (ADR-028).

object
apiVersion
string
code
integer format: int32
details
object
causes
Array<object>
nullable
object
field
string
message
string
reason
string
group
string
kind
string
name
string
retryAfterSeconds
integer format: int32
uid
string
docs

Docs is the URL of the code’s docs page.

string
fix

Fix says what to do next, for example a CLI command or the field to change.

string
kind
string
message
string
metadata
object
continue
string
remainingItemCount
integer format: int64
resourceVersion
string
selfLink
string
shardInfo
object
selector
required
string
reason
string
requestId

RequestID identifies the request in logs and support tickets.

string
status
string
Example generated
{
"apiVersion": "example",
"code": 1,
"details": {
"causes": [
{
"field": "example",
"message": "example",
"reason": "example"
}
],
"group": "example",
"kind": "example",
"name": "example",
"retryAfterSeconds": 1,
"uid": "example"
},
"docs": "example",
"fix": "example",
"kind": "example",
"message": "example",
"metadata": {
"continue": "example",
"remainingItemCount": 1,
"resourceVersion": "example",
"selfLink": "example",
"shardInfo": {
"selector": "example"
}
},
"reason": "example",
"requestId": "example",
"status": "example"
}