GCP Windows launch vanishes silently
Found by the Dev oracle run (Task 8781, report artifact 8129), Operator org, (default) plan Windows switch ON. Supersedes draft #8880.
Observed:
1. Your Cloud › GCP connection › OS Windows offered e2-standard-2/4; Create refused "Windows needs an x86 instance type with nested virtualization or metal."
2. With n2-standard-2 the order was accepted (audit "Create node order" 201, 00:09 UTC 2026-10-22); node t8781-gcpwin (01a160f0-73d9-7837-b48d-8f7fb131b024) showed status "?", its page said "Hidden by the org filter (Operator)", and within ~25 min the row disappeared with no error, notification or audit entry. A GCP VM may be left behind.
3. Products › Instance types: "Allowed (N)" stayed stale after Allow; GCP rows show no on-demand price; no Cloud column.
Cause (picker): apps/api/app/gcp/catalog.py:97 sets `windows_capable = arch == "x86_64"`, ignoring `nested_capable` (catalog.py:81-87), while the API refuses at apps/api/app/routes/nodes/cloud.py:200-201 using the AWS-style rule (apps/api/app/instance_types.py:70-76). Check Azure's catalog for the same mismatch. Vanishing node: cause unknown — trace the durable cloud-node flow (apps/api/app/durable/cloud_node.py) for the failed/cleanup path that deletes the row without recording why.
Requirements:
- windows_capable for GCP (and Azure) matches the server's Windows rule, so the picker lists only types the API accepts.
- A Windows GCP launch reaches online (Jaah service connected) or fails with a readable reason kept on the node/order and an audit entry; a failed launch never deletes the row silently and never leaves a billed VM.
- A node just created in the current org opens without the "Hidden by the org filter" screen.
- Instance types › Allowed shows each type's cloud and an on-demand price for GCP/Azure; the Allowed count updates after Allow.
Out of scope: macOS, Jaah Hosted, Linux launch path (works).
Done means:
- On dev, a GCP Windows node launches, its service connects and it runs a task (screenshot); with the switch OFF no OS control is shown.
- Unit tests pin GCP windows_capable and the failed-launch record; quick gate green.
- Any test VM is deleted through the console.
Outcome
PR #6591 merged (c5d4d3e67) and deployed to dev; quick gate green, lane full gate green. Live on dev: the picker offers only Windows-capable types, a failed launch keeps its reason and an audit entry, and Allowed shows cloud and prices. The GCP Windows node never connected (unverified, operator skipped) — draft #8929; GCP second-region subnet bug — draft #8894. Memory: none applied.
Artifacts
Activity
- Ready
- Runner started
- Awaiting response
- Awaiting response
- Runner resumed
- Runner ended (done)