feat: add NVIDIA Run:ai as platform-runai#955
Conversation
|
🌿 Preview your docs: https://nvidia-preview-feat-platform-runai.docs.buildwithfern.com/aicr |
|
No actionable comments were generated in the recent review. 🎉 ℹ️ Recent review info⚙️ Run configurationConfiguration used: Path: .coderabbit.yaml Review profile: ASSERTIVE Plan: Enterprise Run ID: 📒 Files selected for processing (2)
📝 WalkthroughWalkthroughAdds Estimated code review effort🎯 3 (Moderate) | ⏱️ ~20 minutes Possibly related PRs
Suggested labels
Suggested reviewers
🚥 Pre-merge checks | ✅ 4✅ Passed checks (4 passed)
✏️ Tip: You can configure your own custom pre-merge checks in the settings. ✨ Finishing Touches🧪 Generate unit tests (beta)
Warning Review ran into problems🔥 ProblemsStopped waiting for pipeline failures after 30000ms. One of your pipelines takes longer than our 30000ms fetch window to run, so review may not consider pipeline-failure results for inline comments if any failures occurred after the fetch window. Increase the timeout if you want to wait longer or run a Comment |
|
a minor issue: pkg/api/doc.go:72 still reads (dynamo, kubeflow, nim, any) — missing both slurm (pre-existing drift from #866) and the new runai. // - platform: Platform/framework (dynamo, kubeflow, nim, runai, slurm, any) |
Add `runai` as a platform value in AICR recipes, peer to `dynamo`, `kubeflow`, `nim`, and `slurm`. Mirrors the precedent set by NVIDIA#866 (slurm). Sites updated: - pkg/recipe/criteria.go: CriteriaPlatformRunai const, parser case, sorted slice in GetCriteriaPlatformTypes - pkg/recipe/criteria_test.go: table-driven cases for runai (lower + uppercase) and updated TestGetCriteriaPlatformTypes expectations - pkg/recipe/doc.go: Platform field docstring + bullet under "Platform types for workload frameworks" - api/aicr/v1/server.yaml: three platform enum sites - docs/user/{api,cli}-reference.md: platform value enumerations - docs/contributor/{api-server,validations}.md: platform value enumerations - docs/README.md: glossary Criteria row Run:ai recipe matrix and any operator/CRD plumbing are deferred to follow-up PRs.
Per review feedback on NVIDIA#955: pkg/api/doc.go:72 still listed the platform enum as (dynamo, kubeflow, nim, any) — missing both `slurm` (pre-existing drift from NVIDIA#866) and the new `runai` added in this PR. Updated to match the canonical list now used across server.yaml, pkg/recipe/criteria.go, and the user/contributor docs: platform: Platform/framework (dynamo, kubeflow, nim, runai, slurm, any) No behavioral change; godoc-only. Reported-by: @yuanchen8911 Signed-off-by: Rob Esker <resker@nvidia.com>
166c2e3 to
81e74f3
Compare
|
Thanks @yuanchen8911 — fixed in 81e74f3. This should also close out the |
Summary
Add
runaias a value for the recipeplatformcriteria field — peer to the existingdynamo,kubeflow,nim, andslurmvalues. Enum-plumbing only — no operator components or leaf overlays in this slice.Motivation / Context
Mirrors the precedent set by #866 (Slinky slurm-operator as
platform-slurm). Reserving the canonicalrunaienum value now lets a follow-up PR ship Run:ai-specific recipes / mixins without re-litigating the enum name. Detailed motivation, alternatives, and success criteria are in the linked issue.Fixes: #953
Related: #866
Type of Change
Component(s) Affected
cmd/aicr,pkg/cli)cmd/aicrd,pkg/api,pkg/server)pkg/recipe)pkg/bundler,pkg/component/*)pkg/collector,pkg/snapshotter)pkg/validator)pkg/errors,pkg/k8s)docs/,examples/)api/aicr/v1/server.yaml(OpenAPI enum sites)Implementation Notes
Sites updated (mirrors the slurm precedent surface)
pkg/recipe/criteria.goCriteriaPlatformRunaiconst,"runai"parser case, sorted slice entry inGetCriteriaPlatformTypespkg/recipe/criteria_test.gorunaiandRunai, updatedTestGetCriteriaPlatformTypesexpected listpkg/recipe/doc.goPlatformfield docstring and theCriteriaPlatform*bullet listapi/aicr/v1/server.yamlcomponents/schemas)docs/user/api-reference.mddocs/user/cli-reference.mddocs/contributor/api-server.mddocs/contributor/validations.mddocs/README.mdCriteriarowKey decisions
--platform runaienum valuerunai(no colon, no dash)dynamo,kubeflow,nim,slurm). Branding is "NVIDIA Run:ai"; the colon doesn't survive CLI/URL contextsrun-ai,run:ai)nimandslurmGetCriteriaPlatformTypes, OpenAPI enums, and every doc enumerationTesting
Risk Assessment
Rationale: Identical pattern to the recently-merged #866. Pure additive surface — existing recipes, criteria queries, and CLI/API invocations are unaffected. The new enum value is opt-in via
--platform runaiand has no effect on any existing matcher path.Rollout notes: N/A — additive change, no migration steps. Reversible by
git revert.Follow-ups (separate PRs, not blocking this one)
runai-*leaf overlays per CSP × accelerator × OS once a distribution model is agreed.Checklist
make testwith-race)make lint)git commit -S)