Skip to content

cli: tear a head run's learners down from the head and confirm every cluster at the cloud (re-land #61 on main) - #67

Merged
michaellchung merged 9 commits into
mainfrom
pr13/head-run-teardown
Sep 29, 2026
Merged

michaellchung merged 9 commits into
mainfrom
pr13/head-run-teardown

Conversation

@michaellchung

Copy link
Copy Markdown
Contributor

#61 was merged into its stacked base branch after that branch had already landed on main, so its changes never reached main. This PR carries the same branch onto main; its diff against main is exactly #61's changes.

🤖 Generated with Claude Code

michaellchung and others added 9 commits September 25, 2026 05:30
…cloud

Merges prB/head-side-teardown onto the stack (its Modal-vs-head conflict in
cmd_down is resolved by classifying clusters first: Modal islands stop with
the app, a head run's learners are torn down from the head, the rest go
through this machine's sky) and closes the gaps that still leaked H100s:

- a local sky.down error other than "does not exist" no longer counts as
  gone; a head run's learners never take the local path at all
- every cluster this machine downs is confirmed at the cloud through
  terminate_and_verify (which now takes a down hook and, without a probe,
  trusts only a clean down or "does not exist"); the head-side script
  verifies learners the same way before the head is deleted
- Modal islands are confirmed via the app's state (stopped, 0 tasks)
- "run is down" and exit 0 appear only when everything is confirmed;
  otherwise the run is marked TEARDOWN_INCOMPLETE with the unconfirmed
  clusters so yeto status shows it and a rerun picks up
sky's StatusVersion enum defines only __ge__, so the '<' in
_cloud_live_instances_probe raised and every cluster fell back to
'trusting sky.down' with a one-line warning; cloud verification had never
actually run. Verified read-only against a stopped Nebius head: the probe
now returns its instance id.
Picks up the relocation of the external-router test, which removes
the conflict with #59.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
@michaellchung
michaellchung merged commit 09de5c2 into main Sep 29, 2026
2 of 6 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant