node_capacity over-reports free slots: UI says room for more testers but provision fails (SSD-bound) #21

Open
opened 2026-06-08 16:16:32 +00:00 by mik-tf · 0 comments
Owner

The deployer Users page and deployer.node_capacity report free capacity as a slot count, for example "Node 0001: room for 2 more testers (4 of 20 slots free)". But actual VM placement is bound by the scarcest resource, which in practice is SSD, so a provision can be rejected even when the slot count looks free. Concretely, with that "room for 2 more" banner showing, provision_vm failed with: insufficient capacity on tfnode-5: requested 2 slices but only 1 can be placed now (free 4 vCPU / 89 GB RAM / 24 GB SSD, incl. 10 percent headroom). So the banner overstates available capacity and an operator hits a confusing failure right after the UI said there was room. The fix is to compute the displayed free capacity from the real binding constraint (the same placement math the compute deploy uses, SSD included) so the "room for N more" count matches what can actually be provisioned, rather than a raw slot count.

The deployer Users page and deployer.node_capacity report free capacity as a slot count, for example "Node 0001: room for 2 more testers (4 of 20 slots free)". But actual VM placement is bound by the scarcest resource, which in practice is SSD, so a provision can be rejected even when the slot count looks free. Concretely, with that "room for 2 more" banner showing, provision_vm failed with: insufficient capacity on tfnode-5: requested 2 slices but only 1 can be placed now (free 4 vCPU / 89 GB RAM / 24 GB SSD, incl. 10 percent headroom). So the banner overstates available capacity and an operator hits a confusing failure right after the UI said there was room. The fix is to compute the displayed free capacity from the real binding constraint (the same placement math the compute deploy uses, SSD included) so the "room for N more" count matches what can actually be provisioned, rather than a raw slot count.
Sign in to join this conversation.
No labels
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
lhumina_code/hero_os_tfgrid_deployer#21
No description provided.