Summary
New VM orders in the Dev VPS zone (Cherryvale, Kansas) are accepted but never leave provisioning_state=pending. They do not transition to provisioning, never reach ready, and never receive an IP. The NVMe zone (Katy, Texas) is healthy as a control, so this looks specific to the Cherryvale site / Dev VPS scheduler, not the API or account.
Reproduction
Two separate runs today (2026-07-31), ordering the smallest Dev VPS:
pkg 80 (Dev VPS - Starter), pricing_id 241, order_form_id 11, $0.24/day
Via SHCClient.submit_order(...) — order succeeds in ~6s, returns a service_id, but get_vm(sid).provisioning_state stays pending / service_status=pending forever.
Evidence
| Run |
sid |
Zone |
pkg |
Ordered |
Final state after wait |
Wait |
Outcome |
| 1 |
1911 |
Cherryvale, KS |
80 |
21:31:20 |
pending/pending |
300s |
timeout → cancel |
| 2 |
1912 |
Cherryvale, KS |
80 |
21:38:23 |
pending/pending |
600s+ |
timeout → cancel |
| 2 |
1913 |
Katy, TX (control) |
23 |
21:38:26 |
ready/active, IP 23.182.128.217 |
~100s |
✅ working → cancel |
Both Dev-zone orders were cancelled immediately on timeout (clean, prorated). NVMe control VM provisioned normally and was cancelled once ready.
Expected vs actual
- Expected:
pending → provisioning → ready within the documented ~100s, like the Katy TX control.
- Actual: Dev-zone orders stall at
pending for 10+ minutes with no state change and no IP assignment. No error is surfaced through the API.
Impact
- Blocks the
ansible-ease.yml weekly E2E (runs against the SHC Dev VPS).
- Blocks ephemeral GitHub-runner provisioning on Dev VPS plans (
docs/github-ephemeral-runners.md, docs/firecracker-pool-mode.md — both rely on pkg 80–84).
- The
vm session fixture in tests/conftest.py (pkg 81) will pytest.skip after 300s, masking real regressions behind a skip.
Ask
- Is this a known Cherryvale site outage / host-scheduler issue on the SHC side?
- Is there a workaround? e.g. a different Dev package, a node pin, a status channel to check before ordering, or an ETA if the site is being drained.
- Should the toolkit add a Dev-zone health probe (e.g. order + ready-within-120s smoke check) so CI fails loudly instead of silently skipping?
Environment
- shc-toolkit v2.4.15.1, REST transport (
SHC_TRANSPORT=rest)
- API v2.4.15 reachable; account balance OK; orders accepted and cancellable cleanly
- Reproduced from
main (commit fdf79f3)
Summary
New VM orders in the Dev VPS zone (Cherryvale, Kansas) are accepted but never leave
provisioning_state=pending. They do not transition toprovisioning, never reachready, and never receive an IP. The NVMe zone (Katy, Texas) is healthy as a control, so this looks specific to the Cherryvale site / Dev VPS scheduler, not the API or account.Reproduction
Two separate runs today (2026-07-31), ordering the smallest Dev VPS:
Via
SHCClient.submit_order(...)— order succeeds in ~6s, returns aservice_id, butget_vm(sid).provisioning_statestayspending/service_status=pendingforever.Evidence
pending/pendingpending/pendingready/active, IP23.182.128.217Both Dev-zone orders were cancelled immediately on timeout (clean, prorated). NVMe control VM provisioned normally and was cancelled once
ready.Expected vs actual
pending→provisioning→readywithin the documented ~100s, like the Katy TX control.pendingfor 10+ minutes with no state change and no IP assignment. No error is surfaced through the API.Impact
ansible-ease.ymlweekly E2E (runs against the SHC Dev VPS).docs/github-ephemeral-runners.md,docs/firecracker-pool-mode.md— both rely on pkg 80–84).vmsession fixture intests/conftest.py(pkg 81) willpytest.skipafter 300s, masking real regressions behind a skip.Ask
Environment
SHC_TRANSPORT=rest)main(commit fdf79f3)