Skip to content

Document Skypilot cluster teardown behaviour (#483) - #590

Open
CodersAcademy006 wants to merge 1 commit into
NVIDIA-NeMo:mainfrom
CodersAcademy006:docs/483-skypilot-teardown
Open

Document Skypilot cluster teardown behaviour (#483)#590
CodersAcademy006 wants to merge 1 commit into
NVIDIA-NeMo:mainfrom
CodersAcademy006:docs/483-skypilot-teardown

Conversation

@CodersAcademy006

Copy link
Copy Markdown
Contributor

Addresses #483.

@jesintharnold asked whether the pod staying alive after the workload finishes is SkyPilot behaviour or a NeMo Run integration gap. It is the former, but the reason it reads as a gap is that the two fields that control it are undocumented: SkypilotExecutor.autodown and SkypilotExecutor.idle_minutes_to_autostop (nemo_run/core/execution/skypilot.py:120-121) are passed straight into sky.launch as down= and idle_minutes_to_autostop=, both default to off, and SkypilotExecutor.cleanup() only downloads logs. So the default is a cluster that outlives the job with its GPUs still allocated, and nothing in docs/ said so. grep -rn "autodown" docs/ returned nothing before this change.

This adds the two parameters to the key-parameters table and a short "Cluster lifecycle and teardown" section that covers the four cases worth knowing: autodown=True alone tearing down once jobs reach a terminal state, combining it with an idle timeout, idle_minutes_to_autostop with autodown=False to stop rather than delete, and the provisioning/setup-failure case that SkyPilot deliberately leaves up for debugging. The semantics are quoted from the down and idle_minutes_to_autostop docstrings in sky/client/sdk.py in skypilot 0.12.3, not guessed.

Docs only, no code change. If you would rather nemo_run also called sky.down from cleanup(), or defaulted autodown to True, that is a behaviour change for existing users and I would want your call before writing it.

@ko3n1g

SkypilotExecutor exposes `autodown` and `idle_minutes_to_autostop`, which
map onto `sky.launch(down=..., idle_minutes_to_autostop=...)`, but neither
appeared anywhere in the docs. Both default to off and `cleanup()` only
downloads logs, so a Kubernetes pod stays up holding its GPUs after the
workload finishes, which reads as a NeMo Run bug rather than the SkyPilot
default it is.

Add the two parameters to the table and a short lifecycle section covering
autodown alone, autodown with an idle timeout, stop-without-delete, and the
case SkyPilot deliberately leaves up after a provisioning failure.

Addresses NVIDIA-NeMo#483

Signed-off-by: Srijan Upadhyay <srjnupadhyay@gmail.com>
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