Skip to content

feat(binder): add NvFractions binding plugin - #2042

Draft
davidLif wants to merge 1 commit into
codex/nvfractions-scheduler-accountingfrom
codex/nvfractions-binder
Draft

feat(binder): add NvFractions binding plugin#2042
davidLif wants to merge 1 commit into
codex/nvfractions-scheduler-accountingfrom
codex/nvfractions-binder

Conversation

@davidLif

Copy link
Copy Markdown
Collaborator

Description

Stack PR 3/9 for GPU sharing migration.

Base: codex/nvfractions-scheduler-accounting
Head: codex/nvfractions-binder

This adds the Binder-side NvFractions binding plugin and configuration wiring. It lets Binder translate scheduler allocation data into NvFractions runtime annotations/configuration, updates Binder API config, and adds plugin/unit coverage for the new binding path.

Related Issues

N/A

Checklist

Note: Ensure your PR title follows the Conventional Commits format (e.g., feat(scheduler): add new feature)

  • Self-reviewed
  • Added/updated tests (if needed)
  • Updated documentation (if needed)
  • Added a changelog fragment via make changelog (or applied the skip-changelog label). Do not edit CHANGELOG.md directly — pending fragments are folded into it at release time.

Breaking Changes

None.

Additional Notes

Validation run:

go test ./pkg/binder/binding ./pkg/binder/plugins ./pkg/binder/plugins/gpusharing ./pkg/binder/plugins/nvfractions ./pkg/operator/operands/binder ./pkg/apis/kai/v1/binder

@davidLif
davidLif force-pushed the codex/nvfractions-binder branch from 262c028 to e99ae45 Compare August 10, 2026 10:02
@davidLif
davidLif force-pushed the codex/nvfractions-binder branch 2 times, most recently from 5f66760 to f2c68ea Compare August 11, 2026 20:25
@davidLif
davidLif force-pushed the codex/nvfractions-binder branch from f2c68ea to 2e883d8 Compare August 11, 2026 21:23
@github-actions

github-actions Bot commented Aug 11, 2026

Copy link
Copy Markdown

Total coverage: 54.6% -> 54.8% (delta 0.20%)

Merging this branch changes the coverage (3 decrease, 4 increase)

Impacted Packages Coverage Δ 🤖
github.com/kai-scheduler/KAI-scheduler/pkg/apis/kai/v1/binder 32.73% (+0.41%) 👍
github.com/kai-scheduler/KAI-scheduler/pkg/binder/binding 67.31% (-0.62%) 👎
github.com/kai-scheduler/KAI-scheduler/pkg/binder/plugins 63.83% (-2.35%) 👎
github.com/kai-scheduler/KAI-scheduler/pkg/binder/plugins/gpusharing 54.76% (+11.43%) 🎉
github.com/kai-scheduler/KAI-scheduler/pkg/binder/plugins/nvfractions 74.36% (+74.36%) 🌟
github.com/kai-scheduler/KAI-scheduler/pkg/binder/plugins/state 0.00% (ø)
github.com/kai-scheduler/KAI-scheduler/pkg/env-tests/utils 0.00% (ø)
github.com/kai-scheduler/KAI-scheduler/pkg/operator/operands/binder 75.58% (+0.89%) 👍
github.com/kai-scheduler/KAI-scheduler/pkg/podgroupcontroller/controllers/resources 81.61% (-1.22%) 👎

Coverage by file

Changed files (no unit tests)

Changed File Coverage Δ Total Covered Missed 🤖
github.com/kai-scheduler/KAI-scheduler/pkg/apis/kai/v1/binder/binder.go 94.74% (+0.09%) 57 (+1) 54 (+1) 3 👍
github.com/kai-scheduler/KAI-scheduler/pkg/binder/binding/binder.go 67.31% (-0.62%) 52 (-1) 35 (-1) 17 👎
github.com/kai-scheduler/KAI-scheduler/pkg/binder/plugins/config.go 98.04% (ø) 51 50 1
github.com/kai-scheduler/KAI-scheduler/pkg/binder/plugins/factory.go 52.78% (-3.94%) 72 (+5) 38 34 (+5) 👎
github.com/kai-scheduler/KAI-scheduler/pkg/binder/plugins/gpusharing/gpu_sharing.go 54.76% (+11.43%) 84 (+24) 46 (+20) 38 (+4) 🎉
github.com/kai-scheduler/KAI-scheduler/pkg/binder/plugins/nvfractions/nv_fractions.go 74.36% (+74.36%) 39 (+39) 29 (+29) 10 (+10) 🌟
github.com/kai-scheduler/KAI-scheduler/pkg/binder/plugins/state/state.go 0.00% (ø) 0 0 0
github.com/kai-scheduler/KAI-scheduler/pkg/env-tests/utils/utils.go 0.00% (ø) 93 0 93
github.com/kai-scheduler/KAI-scheduler/pkg/operator/operands/binder/resources.go 76.82% (+0.93%) 151 (+10) 116 (+9) 35 (+1) 👍

Please note that the "Total", "Covered", and "Missed" counts above refer to code statements instead of lines of code. The value in brackets refers to the test coverage of that file in the old version of the code.

Changed unit test files

  • github.com/kai-scheduler/KAI-scheduler/pkg/apis/kai/v1/binder/binder_test.go
  • github.com/kai-scheduler/KAI-scheduler/pkg/binder/binding/default_binder_test.go
  • github.com/kai-scheduler/KAI-scheduler/pkg/binder/binding/fraction_binder_test.go
  • github.com/kai-scheduler/KAI-scheduler/pkg/binder/plugins/gpusharing/gpu_sharing_test.go
  • github.com/kai-scheduler/KAI-scheduler/pkg/binder/plugins/nvfractions/nv_fractions_test.go
  • github.com/kai-scheduler/KAI-scheduler/pkg/operator/operands/binder/binder_test.go
  • github.com/kai-scheduler/KAI-scheduler/pkg/podgroupcontroller/controllers/resources/fraction_test.go

@davidLif
davidLif force-pushed the codex/nvfractions-binder branch from 2e883d8 to ff5f598 Compare August 13, 2026 11:25
@davidLif
davidLif force-pushed the codex/nvfractions-binder branch from ff5f598 to bb45c3c Compare August 17, 2026 06:39
Signed-off-by: davidLif <davidshani12@gmail.com>
@davidLif
davidLif force-pushed the codex/nvfractions-binder branch from bb45c3c to 4dd2c92 Compare August 17, 2026 11:00
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