Skip to content

feat(nvca): add grove and kai-scheduler Karta defns - #726

Merged
estroz merged 1 commit into
mainfrom
estroczynski/feat/grove-kai-kartas
Aug 10, 2026
Merged

feat(nvca): add grove and kai-scheduler Karta defns#726
estroz merged 1 commit into
mainfrom
estroczynski/feat/grove-kai-kartas

Conversation

@estroz

@estroz estroz commented Aug 7, 2026

Copy link
Copy Markdown
Contributor

TL;DR

Add new Dynamo DGD version, Grove PodCliqueSet, and KAI Scheduler PodGroup Karta types to miniservice controller as follow-up to #603

Additional Details (optional for docs, build, test, refactor, ci, chore, style, and revert PRs)

For the Reviewer

For QA (optional for docs, build, test, refactor, ci, chore, style, and revert PRs)

Issues

Relates to #598

Checklist

  • I am familiar with the Contributing Guidelines.
  • I have signed off my commits for Developer Certificate of Origin (DCO) compliance.
  • New or existing tests cover these changes.
  • The documentation is up to date with these changes.

Summary by CodeRabbit

  • New Features
    • Added support for managing DynamoGraphDeployment resources, including status tracking, component discovery, scaling, and gang scheduling.
    • Added support for Grove PodCliqueSet resources with lifecycle tracking, scaling, pod discovery, and gang-scheduling optimization.
    • Added scheduling support for PodGroup resources, including replica scaling, condition tracking, pod association, and gang scheduling.

@estroz
estroz requested a review from a team as a code owner August 7, 2026 19:15
@estroz
estroz requested a review from balajinvda August 7, 2026 19:15
@coderabbitai

coderabbitai Bot commented Aug 7, 2026

Copy link
Copy Markdown

Review Change Stack

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: CHILL

Plan: Enterprise

Run ID: a97710a6-cac2-4b76-b656-df33a367bb40

📥 Commits

Reviewing files that changed from the base of the PR and between a0add2c and e7505c6.

📒 Files selected for processing (1)
  • src/compute-plane-services/nvca/internal/miniservice/karta/kai-scheduler/scheduling-run-ai-podgroup-v2alpha2.yaml
🚧 Files skipped from review as they are similar to previous changes (1)
  • src/compute-plane-services/nvca/internal/miniservice/karta/kai-scheduler/scheduling-run-ai-podgroup-v2alpha2.yaml

📝 Walkthrough

Walkthrough

The PR adds Karta configurations for DynamoGraphDeployment, PodCliqueSet, and Kai Scheduler PodGroup resources. The configurations map lifecycle states, discover child resources, define scaling and pod selectors, register supported kinds, and configure gang-scheduling groups.

Changes

Karta resource mappings

Layer / File(s) Summary
DynamoGraphDeployment mappings
src/compute-plane-services/nvca/internal/miniservice/karta/dynamo/*
The v1alpha1 and v1beta1 definitions map lifecycle states, discover component resources, calculate replicas, select pods, register child kinds, and group pods by the Dynamo component label.
PodCliqueSet mappings
src/compute-plane-services/nvca/internal/miniservice/karta/grove/*
The PodCliqueSet definition maps lifecycle conditions, configures PodClique and PodCliqueScalingGroup components, registers child kinds, and groups members by application ownership and replica index.
Kai Scheduler PodGroup mapping
src/compute-plane-services/nvca/internal/miniservice/karta/kai-scheduler/*
The PodGroup definition configures scaling, status detection, Pod ownership and selectors, and gang-scheduling membership based on the pod-group annotation.

Estimated code review effort: 3 (Moderate) | ~20 minutes

Suggested reviewers: balajinvda

🚥 Pre-merge checks | ✅ 5
✅ Passed checks (5 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title uses valid Conventional Commits syntax and accurately describes the primary feature of adding Karta definitions, although it omits Dynamo.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch estroczynski/feat/grove-kai-kartas

Comment @coderabbitai help to get the list of available commands.

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 3

🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

Inline comments:
In
`@src/compute-plane-services/nvca/internal/miniservice/karta/dynamo/nvidia.com_dynamographdeployment_v1beta1.yaml`:
- Around line 16-26: Add repository-native validation tests for both Dynamo
mappings: in
src/compute-plane-services/nvca/internal/miniservice/karta/dynamo/nvidia.com_dynamographdeployment_v1beta1.yaml:16-26,
cover initializing, running, and failed phases; in :49-75, cover child kinds and
normalized gang group keys; in
src/compute-plane-services/nvca/internal/miniservice/karta/dynamo/nvidia.com_dynamographdeployment_v1alpha1.yaml:21,
cover the initializing mapping; and in :52-78, cover child kinds and gang group
keys. Run the repository-native test runner before committing.

In
`@src/compute-plane-services/nvca/internal/miniservice/karta/grove/grove_io_podcliqueset_v1alpha1.yaml`:
- Around line 4-101: Add regression coverage for the Karta mapping defined by
the root component and child components clique and scalinggroup, validating
status mappings, resource discovery, scaling paths, pod selectors, and
gangScheduling configuration; if this repository has no applicable test
mechanism for YAML mappings, document that justification in the PR instead.

In
`@src/compute-plane-services/nvca/internal/miniservice/karta/kai-scheduler/scheduling-run-ai-podgroup-v2alpha2.yaml`:
- Around line 16-17: The scaleDefinition replicasPath mapping is incorrect for
hierarchical PodGroups because it reports scheduling thresholds as the current
replica count. Update the hierarchical PodGroup configuration to use a
Karta-compatible replica-count mapping, or remove scale reporting for this
unsupported mode; preserve the existing flat PodGroup behavior and add
regression coverage for both modes, or document why tests are not applicable.
🪄 Autofix

Fix all unresolved CodeRabbit comments on this PR:

  • Push a commit to this branch (recommended)
  • Create a new PR with the fixes

ℹ️ Review info
⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: CHILL

Plan: Enterprise

Run ID: 68e96a02-17ec-4601-9f44-7e9740733e73

📥 Commits

Reviewing files that changed from the base of the PR and between 2d4a828 and a0add2c.

📒 Files selected for processing (4)
  • src/compute-plane-services/nvca/internal/miniservice/karta/dynamo/nvidia.com_dynamographdeployment_v1alpha1.yaml
  • src/compute-plane-services/nvca/internal/miniservice/karta/dynamo/nvidia.com_dynamographdeployment_v1beta1.yaml
  • src/compute-plane-services/nvca/internal/miniservice/karta/grove/grove_io_podcliqueset_v1alpha1.yaml
  • src/compute-plane-services/nvca/internal/miniservice/karta/kai-scheduler/scheduling-run-ai-podgroup-v2alpha2.yaml

@estroz
estroz force-pushed the estroczynski/feat/grove-kai-kartas branch from a0add2c to e7505c6 Compare August 10, 2026 18:15
Signed-off-by: Eric Stroczynski <estroczynski@nvidia.com>
@estroz
estroz force-pushed the estroczynski/feat/grove-kai-kartas branch from e7505c6 to 44e5f12 Compare August 10, 2026 18:17
@estroz
estroz enabled auto-merge August 10, 2026 18:17
@estroz
estroz added this pull request to the merge queue Aug 10, 2026
Merged via the queue into main with commit d251d32 Aug 10, 2026
16 checks passed
@estroz
estroz deleted the estroczynski/feat/grove-kai-kartas branch August 10, 2026 19:10
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.

2 participants