> ## 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).                             |
| `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). |

Quota events and conditions:

| Event or status                      | Plain-language meaning                                                                                                                                                                   | Resolution                                                                                                                                                                                                              |
| ------------------------------------ | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `CWOverQuota` (event)                | Your `targetNodes` request exceeds your organization's quota for that instance type, compute class, and zone. CKS fills the Node Pool up to the quota limit and does not queue the rest. | 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`. |
| `CWNodePoolQuotaCheckFailed` (event) | An internal error occurred while CKS checked the quota. This is a system error, not a sign that you're over quota.                                                                       | Wait and let CKS retry the check. If the error persists, [contact support](/support).                                                                                                                                   |
| `Quota: Over` (condition)            | The most recent quota check found the organization over quota for the Node Pool's instance type, compute class, and zone. This is the condition that `CWOverQuota` reports.              | Lower `targetNodes` to within quota, or [contact support](/support) to request more quota.                                                                                                                              |
