Repository navigation
Conversation
Validate each replica before applying any allocations. Preserve unmanaged optional mappings and reject invalid later replicas before Kubernetes submission. Signed-off-by: shin0343 <shin0343@mail.hongik.ac.kr>
shin0343
requested a deployment
to
manual-approval
October 25, 2026 16:07 — with
GitHub Actions
Waiting
Author
|
The current head is Could a maintainer approve CI for this head? Local validation recorded in the PR includes 1,269 passing unit tests on Python 3.11 and 22 regression cases covering replica-specific allocation and atomic validation. No live AWS/EKS validation was performed. |
This branch is waiting to be deployed
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
What's changing and why?
Resolve and validate training resources for every
ReplicaSpec, then apply all allocations together. Previously only the first replica was processed, leaving later replicas with unresolved accelerator aliases and no instance-specific resource calculation or validation.Handle optional resource mappings without suppressing other replicas' allocations. Unmanaged replicas retain their input; managed replicas can use instance defaults. Validation errors propagate before job submission or partial mutation.
Before/After UX
Before: A g5 chief plus p4d workers only allocated the chief; invalid worker accelerator counts bypassed SDK validation. An omitted resource mapping on an additional replica could also suppress the chief's allocation.
After: Each managed replica receives its own CPU/memory/GPU/EFA allocation. Invalid later replicas reject the job before API submission, and optional mappings are supported.
How was this change tested?
create()payloads/rejection with Kubernetes and telemetry mocked.git-secretsandgit diff --check.PYTHONPATH=src python -m pytest --confcutdir=test/unit_tests -o addopts='' -q test/unit_testsusing the prepared environment. The flag avoids the parent template-install hook; default coverage options are separated.Are unit tests added?
Yes, 22 public allocation and mocked creation cases.
Are integration tests added?
No live AWS/EKS tests. The public creation boundary is exercised with a mocked Kubernetes API.
Reviewer Guidelines