feat(slurm): add profile setup and image lifecycle wiring - #933
Conversation
|
|
Thanks for putting this together, @andreatnvidia! SummaryThis adds production profile initialization/validation and wires the existing structured image lifecycle into the public service and CLI, matching the PR's stated intent. I independently confirmed the three existing Greptile findings around partitionless GPU discovery, cancellation/cleanup ordering, and dangling-symlink overwrite protection, so I have not duplicated them below; they remain blocking. FindingsWarnings — Worth addressing
Suggestions — Take it or leave it
What Looks Good
Residual RiskThe real-cluster checks in the PR are valuable, but failure and cancellation timing remains scheduler-dependent; the existing cleanup-race finding should be covered with a terminal-confirmation test as part of its fix. VerdictNeeds changes — Please resolve the three existing P1 findings and correct the launcher-error classification before merge. The test-helper cleanup is non-blocking. This review was generated by an AI assistant. |
|
Thanks for the follow-up, @andreatnvidia. I re-reviewed the complete PR at SummaryThe current head resolves all previously blocking behavior: implicit GPU discovery is restricted to the default partition, cancellation cleanup waits for terminal accounting evidence, dangling destination symlinks cannot bypass no-overwrite behavior, and malformed Slurm output is classified as an availability failure. The avoidable nested test helper and missing return annotation were also cleaned up. FindingsNo new blocking or warning-level findings. What Looks Good
Residual RiskThe five-minute cancellation/accounting behavior remains scheduler-dependent and should still receive the documented real-cluster acceptance coverage. VerdictShip it. The previously blocking findings are fixed and the uncertain cancellation path now fails safely by retaining state. This review was generated by an AI assistant. |
|
@nabinchha Thanks for the re-review and for confirming the fixes. Agreed that the five-minute cancellation/accounting path remains the main real-cluster acceptance case. |
Summary
profile initandprofile validateservices with deterministic mode-0600 no-overwrite creation, ordinary catalog selection, effective workspace checks, and Slurm GPU resolutionimage addunavailable stub with the existing structured lifecycle prepare, render, submit, scheduler-observation, inspection, publication, and atomic registry pathValidation
.venv/bin/ruff check --fix ..venv/bin/ruff format .make check-slurmmake test-slurm(1,572 tests)make test-slurm-wheel-installgpus_per_node: autoresolved to 86924629completed0:0; a fresh process resolved the published alias and found zero residual lifecycle jobsPart of #874