> ## Documentation Index
> Fetch the complete documentation index at: https://docs.coreweave.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Node Pool status

> Understand Node Pool status fields, conditions, and events to diagnose scaling and capacity problems

This page explains the Node Pool status fields. Understanding a Node Pool's status helps when troubleshooting common capacity and quota issues.

For the complete field and event schema, see the [Node Pool reference](/products/cks/reference/node-pool).

## Node Pool fields

The Node Pool fields show the desired state and status of the Nodes in a Node Pool.

To see these fields, run `kubectl get nodepool`.

| Column       | Value                                                                                                                                                                                 | Where it's defined                                                           |
| ------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------- |
| `TARGET`     | The number of Nodes you want in the Node Pool. You set this value, or the autoscaler sets it within `minNodes` and `maxNodes`.                                                        | [`spec.targetNodes`](/products/cks/reference/node-pool#node-pool-spec)       |
| `CURRENT`    | The number of Nodes that have been booted and registered with the Node Pool and are present in the cluster.                                                                           | [`status.currentNodes`](/products/cks/reference/node-pool#node-pool-status)  |
| `PREFILL`    | The number of Nodes in the Node Pool that are marked for prefill and being replaced. Populated when [prefill](/products/cks/nodes/nodes-and-node-pools#node-pool-prefill) is enabled. | [`status.prefillNodes`](/products/cks/reference/node-pool#node-pool-status)  |
| `INPROGRESS` | The number of Nodes that have been assigned to the Node Pool but haven't yet booted or registered with the Node Pool.                                                                 | [`status.inProgress`](/products/cks/reference/node-pool#node-pool-status)    |
| `QUEUED`     | The number of Nodes that have been requested but not yet assigned, because they are waiting for capacity.                                                                             | [`status.queuedNodes`](/products/cks/reference/node-pool#node-pool-status)   |
| `VALIDATED`  | The result of the most recent Node Pool configuration validation.                                                                                                                     | [`status.conditions`](/products/cks/reference/node-pool#condition-validated) |
| `CAPACITY`   | The result of the most recent capacity check for the instance type.                                                                                                                   | [`status.conditions`](/products/cks/reference/node-pool#condition-capacity)  |
| `QUOTA`      | The result of the most recent quota check for the instance type and zone.                                                                                                             | [`status.conditions`](/products/cks/reference/node-pool#condition-quota)     |

### Example output

The following is an example output from running `kubectl get nodepool`.

```text title="Example output" theme={"system"}
NAME               INSTANCE TYPE      TARGET   QUEUED   INPROGRESS   CURRENT   PREFILL   VALIDATED   CAPACITY                 QUOTA   AGE
example-nodepool   gd-8xg100-i128     2        0        0            2         0         Valid       Sufficient               Under   24h
nodepool-2         cd-hp-a96-genoa    2        1        0            1         0         Valid       QueuedAwaitingCapacity   Under   2d22h
nodepool-3         gd-8xh100ib-i128   3        0        1            2         0         Valid       Sufficient               Under   2d15h
```

The following table outlines each Node Pool's state:

| Node Pool          | State                | What the status shows                                                                |
| ------------------ | -------------------- | ------------------------------------------------------------------------------------ |
| `example-nodepool` | Healthy              | `CURRENT` matches `TARGET`, and capacity and quota are both satisfied.               |
| `nodepool-2`       | Waiting for capacity | Short one Node. One Node is `QUEUED`, and `CAPACITY` shows `QueuedAwaitingCapacity`. |
| `nodepool-3`       | Delivering           | Short one Node. One Node is `INPROGRESS` and still booting.                          |

* The `VALIDATED`, `CAPACITY`, and `QUOTA` columns summarize the Node Pool's conditions.
* In a healthy, fully delivered Node Pool, `CURRENT` equals `TARGET`, and both `INPROGRESS` and `QUEUED` are `0`.
* `PREFILL` counts the Nodes marked for prefill and being replaced. It is `0` unless [prefill](/products/cks/nodes/nodes-and-node-pools#node-pool-prefill) is enabled and one or more Nodes are being replaced. To see the prefill state of an individual Node, check its `Prefill` condition. See [Prefill condition reasons](/products/cks/reference/node-pool#prefill-condition-reasons).
* While a Node Pool is scaling up, the difference between `CURRENT` and `TARGET` is split between `INPROGRESS` (Nodes that are booting) and `QUEUED` (Nodes that are waiting for capacity). Note that a new Node can take up to 20 minutes to boot before it counts toward `CURRENT`.

### Rack-based Node Pool fields

For [rack-based instance types](/products/cks/nodes/create#rack-based-node-pools) such as GB200 and GB300, the Node Pool also tracks rack counts, where each rack contains 18 Nodes. These fields are populated only for rack-based instance types and appear only in the wide output. To see them, use `kubectl get nodepool -o wide`:

| Column          | Value                                                                      | Where it's defined                                                          |
| --------------- | -------------------------------------------------------------------------- | --------------------------------------------------------------------------- |
| `TARGET-RACKS`  | The number of racks requested for the Node Pool.                           | [`status.rackStatus.target`](/products/cks/reference/node-pool#rackstatus)  |
| `CURRENT-RACKS` | The number of racks present in the cluster for the Node Pool.              | [`status.rackStatus.current`](/products/cks/reference/node-pool#rackstatus) |
| `QUEUED-RACKS`  | The number of racks queued and waiting for capacity to join the Node Pool. | [`status.rackStatus.queued`](/products/cks/reference/node-pool#rackstatus)  |

### Node Pool full status

For the full status of a single Node Pool, including its conditions and recent events, use `describe`:

```bash title="Example command" theme={"system"}
kubectl describe nodepool [NODE-POOL-NAME]
```

Replace `[NODE-POOL-NAME]` with the name of your Node Pool.

Each condition answers one question about the Node Pool. The conditions most useful for diagnosing missing Nodes are the following.

| Condition   | Status values you act on                                           | What it tells you                                                                                                     |
| ----------- | ------------------------------------------------------------------ | --------------------------------------------------------------------------------------------------------------------- |
| `Validated` | `Valid`, `Invalid`                                                 | Whether the Node Pool configuration is accepted. `Invalid` blocks delivery, for example an unsupported instance type. |
| `Capacity`  | `Sufficient`, `Partial`, `NoneAvailable`, `QueuedAwaitingCapacity` | Whether enough Nodes of the requested instance type are available to fill the request.                                |
| `Quota`     | `Under`, `Over`, `NotSet`                                          | Whether the request fits within your organization's quota for the instance type and zone.                             |
| `AtTarget`  | `TargetMet`, `UnderTarget`, `OverTarget`                           | Whether the Node Pool has the requested number of Nodes.                                                              |

A healthy Node Pool shows `Validated: Valid`, `Capacity: Sufficient`, `Quota: Under`, and `AtTarget: TargetMet`.
For the complete list of conditions and every possible status value, see [Node Pool conditions](/products/cks/reference/node-pool#node-pool-conditions).

## Common capacity and quota states

The bottom of `kubectl describe nodepool [NODE-POOL-NAME]` lists recent events. The following events and condition states explain most cases where a Node Pool does not reach its target.

| Event or condition                            | What it means                                                                                                                                                                                                                                                                                                                                                                                                                                                             | What to do                                                                                                                                                                                                              |
| --------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `QueuedAwaitingCapacity` (Capacity condition) | The Node Pool requested more Nodes than are currently free in the zone, so the request is queued. CKS fills queued requests automatically as capacity becomes available. `Quota: Under` means you are allowed to request more Nodes, not that they are available right now. For rack-scale instance types such as GB200 and GB300, Nodes deliver in complete rack units, so the pool can queue while it waits for a full rack even when some capacity exists in the zone. | Confirm the `Quota` condition is `Under`. If the queued count does not change for an extended period after you scale, [contact support](/support).                                                                      |
| `CWInsufficientCapacity` (event)              | Not enough Nodes of the requested instance type are available in the zone to fully satisfy `targetNodes`. CKS keeps the Nodes it could assign, continues retrying, and assigns the rest automatically as capacity returns. The `Capacity` condition shows `Partial` or `NoneAvailable`.                                                                                                                                                                                   | Confirm the `Quota` condition is `Under`. If you have a reservation for this instance type and zone and capacity does not arrive, [contact support](/support).                                                          |
| `CWOverQuota` (event)                         | Your `targetNodes` request exceeds your organization's quota for that instance type and zone. The Node Pool is filled up to the quota limit, and the rest of the request is not queued. The `Quota` condition shows `Over`. Quota applies per organization, per instance type, per zone, so every Node Pool that uses the same instance type in the same zone counts against the same quota.                                                                              | Lower `targetNodes` to within quota, or [contact support](/support) to request more quota. When moving Nodes between Node Pools, scale down the source pool before you scale up the destination to avoid `CWOverQuota`. |
| `CWNodeDeliverFail` (event)                   | A Node failed to be allocated to the Node Pool because of a misconfiguration or an internal issue. This is a delivery problem, not a capacity shortage, even when `CWInsufficientCapacity` also appears. CKS retries delivery automatically.                                                                                                                                                                                                                              | Repeated delivery failures can disable the Node Pool, which produces a `CWNodePoolDisabled` event. If delivery failures persist or the Node Pool is disabled, [contact support](/support).                              |
