Skip to content

refactor: Change minMember for subgroups from int32 to pointer to int32#1340

Merged
davidLif merged 7 commits intomainfrom
DavidL/minSubgroups/minMemberToPointer
Apr 5, 2026
Merged

refactor: Change minMember for subgroups from int32 to pointer to int32#1340
davidLif merged 7 commits intomainfrom
DavidL/minSubgroups/minMemberToPointer

Conversation

@davidLif
Copy link
Copy Markdown
Collaborator

@davidLif davidLif commented Mar 28, 2026

Description

Change minMember for subgroups from int32 to pointer to int32

Related Issues

Fixes #

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)

Breaking Changes

Additional Notes

Summary by CodeRabbit

  • Breaking Changes
    • Removed backoffLimit, completions, and parallelism fields from PodGroup specification.
    • minMember is now required for all subgroups; subgroups must explicitly specify this field.
    • Subgroups can now have minMember set to zero, enabling flexible group member requirements.

@coderabbitai
Copy link
Copy Markdown
Contributor

coderabbitai Bot commented Mar 28, 2026

Important

Review skipped

Auto reviews are disabled on this repository. Please check the settings in the CodeRabbit UI or the .coderabbit.yaml file in this repository. To trigger a single review, invoke the @coderabbitai review command.

⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: CHILL

Plan: Pro

Run ID: e08c5e3c-816a-4136-9e3e-ef2a07c143b8

You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.

Use the checkbox below for a quick retry:

  • 🔍 Trigger review
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch DavidL/minSubgroups/minMemberToPointer

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

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

@github-actions
Copy link
Copy Markdown

Merging this branch will increase overall coverage

Impacted Packages Coverage Δ 🤖
github.com/kai-scheduler/KAI-scheduler/pkg/apis/scheduling/v2alpha2 15.25% (+0.39%) 👍
github.com/kai-scheduler/KAI-scheduler/pkg/podgrouper/podgroup 50.82% (ø)
github.com/kai-scheduler/KAI-scheduler/pkg/podgrouper/podgrouper/plugins/ray 79.08% (ø)
github.com/kai-scheduler/KAI-scheduler/pkg/scheduler/api/podgroup_info/subgroup_info 86.25% (+0.35%) 👍
github.com/kai-scheduler/KAI-scheduler/pkg/scheduler/cache/cluster_info 83.18% (ø)
github.com/kai-scheduler/KAI-scheduler/test/e2e/suites/allocate/subgroups 0.00% (ø)

Coverage by file

Changed files (no unit tests)

Changed File Coverage Δ Total Covered Missed 🤖
github.com/kai-scheduler/KAI-scheduler/pkg/apis/scheduling/v2alpha2/podgroup_types.go 7.69% (ø) 13 1 12
github.com/kai-scheduler/KAI-scheduler/pkg/apis/scheduling/v2alpha2/podgroup_webhook.go 62.69% (+1.15%) 67 (+2) 42 (+2) 25 👍
github.com/kai-scheduler/KAI-scheduler/pkg/apis/scheduling/v2alpha2/zz_generated.deepcopy.go 0.00% (ø) 201 (+4) 0 201 (+4)
github.com/kai-scheduler/KAI-scheduler/pkg/podgrouper/podgroup/handler.go 21.05% (ø) 38 8 30
github.com/kai-scheduler/KAI-scheduler/pkg/scheduler/api/podgroup_info/subgroup_info/factory.go 100.00% (ø) 61 (+4) 61 (+4) 0

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/scheduling/v2alpha2/podgroup_webhook_test.go
  • github.com/kai-scheduler/KAI-scheduler/pkg/podgrouper/podgroup/handler_test.go
  • github.com/kai-scheduler/KAI-scheduler/pkg/podgrouper/podgrouper/plugins/ray/ray_grouper_test.go
  • github.com/kai-scheduler/KAI-scheduler/pkg/scheduler/api/podgroup_info/subgroup_info/factory_test.go
  • github.com/kai-scheduler/KAI-scheduler/pkg/scheduler/cache/cluster_info/cluster_info_test.go
  • github.com/kai-scheduler/KAI-scheduler/test/e2e/suites/allocate/subgroups/subgroups_test.go

@github-actions
Copy link
Copy Markdown

github-actions Bot commented Mar 28, 2026

📊 Performance Benchmark Results

Comparing PR (DavidL/minSubgroups/minMemberToPointer) vs main branch — click to expand
goos: linux
goarch: amd64
pkg: github.com/kai-scheduler/KAI-scheduler/pkg/scheduler/actions
cpu: AMD EPYC 7763 64-Core Processor                
                                    │ main-bench.txt │           pr-bench.txt            │
                                    │     sec/op     │   sec/op     vs base              │
AllocateAction_SmallCluster-4           108.4m ±  0%   108.3m ± 7%       ~ (p=0.394 n=6)
AllocateAction_MediumCluster-4          137.0m ±  1%   137.0m ± 1%       ~ (p=0.937 n=6)
AllocateAction_LargeCluster-4           214.3m ± 11%   215.7m ± 6%       ~ (p=0.394 n=6)
ReclaimAction_SmallCluster-4            103.0m ±  0%   103.0m ± 0%  -0.03% (p=0.041 n=6)
ReclaimAction_MediumCluster-4           106.0m ±  1%   106.0m ± 0%       ~ (p=0.485 n=6)
PreemptAction_SmallCluster-4            103.8m ±  0%   103.8m ± 0%       ~ (p=0.699 n=6)
PreemptAction_MediumCluster-4           113.5m ±  1%   113.6m ± 0%       ~ (p=0.310 n=6)
ConsolidationAction_SmallCluster-4      114.6m ±  1%   114.4m ± 1%       ~ (p=0.394 n=6)
ConsolidationAction_MediumCluster-4     203.9m ±  1%   203.1m ± 2%       ~ (p=0.589 n=6)
FullSchedulingCycle_SmallCluster-4      105.7m ±  0%   105.6m ± 0%       ~ (p=0.180 n=6)
FullSchedulingCycle_MediumCluster-4     122.3m ±  1%   121.7m ± 0%       ~ (p=0.485 n=6)
FullSchedulingCycle_LargeCluster-4      165.6m ±  2%   163.3m ± 1%       ~ (p=0.093 n=6)
ManyQueues_MediumCluster-4              141.2m ±  1%   140.0m ± 1%       ~ (p=0.310 n=6)
GangScheduling_MediumCluster-4          161.6m ±  1%   161.1m ± 2%       ~ (p=0.699 n=6)
geomean                                 131.6m         131.3m       -0.23%

                                    │ main-bench.txt │            pr-bench.txt            │
                                    │      B/op      │     B/op      vs base              │
AllocateAction_SmallCluster-4           2.255Mi ± 0%   2.251Mi ± 1%       ~ (p=0.065 n=6)
AllocateAction_MediumCluster-4          12.20Mi ± 0%   12.19Mi ± 0%  -0.10% (p=0.002 n=6)
AllocateAction_LargeCluster-4           42.05Mi ± 0%   42.02Mi ± 0%  -0.07% (p=0.002 n=6)
ReclaimAction_SmallCluster-4            962.3Ki ± 1%   955.0Ki ± 0%       ~ (p=0.132 n=6)
ReclaimAction_MediumCluster-4           3.172Mi ± 0%   3.161Mi ± 0%  -0.33% (p=0.002 n=6)
PreemptAction_SmallCluster-4            1.065Mi ± 0%   1.062Mi ± 0%       ~ (p=0.132 n=6)
PreemptAction_MediumCluster-4           4.318Mi ± 0%   4.309Mi ± 0%  -0.19% (p=0.002 n=6)
ConsolidationAction_SmallCluster-4      5.559Mi ± 0%   5.554Mi ± 0%  -0.10% (p=0.026 n=6)
ConsolidationAction_MediumCluster-4     46.72Mi ± 0%   46.72Mi ± 0%       ~ (p=0.310 n=6)
FullSchedulingCycle_SmallCluster-4      1.457Mi ± 1%   1.454Mi ± 1%       ~ (p=0.240 n=6)
FullSchedulingCycle_MediumCluster-4     7.185Mi ± 0%   7.173Mi ± 0%  -0.17% (p=0.002 n=6)
FullSchedulingCycle_LargeCluster-4      23.51Mi ± 0%   23.48Mi ± 0%  -0.12% (p=0.002 n=6)
ManyQueues_MediumCluster-4              16.66Mi ± 0%   16.64Mi ± 0%  -0.11% (p=0.002 n=6)
GangScheduling_MediumCluster-4          17.78Mi ± 0%   17.77Mi ± 0%  -0.03% (p=0.002 n=6)
geomean                                 6.604Mi        6.592Mi       -0.19%

                                    │ main-bench.txt │           pr-bench.txt            │
                                    │   allocs/op    │  allocs/op   vs base              │
AllocateAction_SmallCluster-4            36.32k ± 0%   36.32k ± 0%       ~ (p=0.571 n=6)
AllocateAction_MediumCluster-4           317.9k ± 0%   317.9k ± 0%       ~ (p=0.790 n=6)
AllocateAction_LargeCluster-4            1.351M ± 0%   1.351M ± 0%       ~ (p=0.169 n=6)
ReclaimAction_SmallCluster-4             8.961k ± 0%   8.959k ± 0%       ~ (p=0.545 n=6)
ReclaimAction_MediumCluster-4            29.06k ± 0%   29.06k ± 0%       ~ (p=0.994 n=6)
PreemptAction_SmallCluster-4             11.68k ± 0%   11.68k ± 0%       ~ (p=0.998 n=6)
PreemptAction_MediumCluster-4            40.99k ± 0%   40.99k ± 0%       ~ (p=0.571 n=6)
ConsolidationAction_SmallCluster-4       71.64k ± 0%   71.63k ± 0%       ~ (p=0.485 n=6)
ConsolidationAction_MediumCluster-4      675.7k ± 0%   675.8k ± 0%       ~ (p=0.699 n=6)
FullSchedulingCycle_SmallCluster-4       21.70k ± 0%   21.70k ± 0%       ~ (p=0.740 n=6)
FullSchedulingCycle_MediumCluster-4      172.3k ± 0%   172.3k ± 0%       ~ (p=0.329 n=6)
FullSchedulingCycle_LargeCluster-4       708.8k ± 0%   708.8k ± 0%       ~ (p=0.426 n=6)
ManyQueues_MediumCluster-4               355.8k ± 0%   355.7k ± 0%       ~ (p=0.132 n=6)
GangScheduling_MediumCluster-4           581.7k ± 0%   581.7k ± 0%       ~ (p=0.784 n=6)
geomean                                  112.4k        112.4k       -0.00%

pkg: github.com/kai-scheduler/KAI-scheduler/pkg/scheduler/actions/integration_tests/reclaim
                            │ main-bench.txt │           pr-bench.txt            │
                            │     sec/op     │   sec/op     vs base              │
ReclaimLargeJobs_10Node-4        105.1m ± 0%   105.1m ± 0%       ~ (p=0.589 n=6)
ReclaimLargeJobs_50Node-4        141.4m ± 1%   141.9m ± 1%       ~ (p=0.180 n=6)
ReclaimLargeJobs_100Node-4       279.8m ± 1%   278.2m ± 1%       ~ (p=0.093 n=6)
ReclaimLargeJobs_200Node-4        1.126 ± 7%    1.113 ± 1%       ~ (p=0.093 n=6)
ReclaimLargeJobs_500Node-4        13.22 ± 1%    13.04 ± 2%       ~ (p=0.132 n=6)
ReclaimLargeJobs_1000Node-4       112.8 ± 0%    111.8 ± 1%  -0.93% (p=0.004 n=6)
geomean                           1.383         1.374       -0.63%

                            │ main-bench.txt │            pr-bench.txt            │
                            │      B/op      │     B/op      vs base              │
ReclaimLargeJobs_10Node-4       1.872Mi ± 3%   1.867Mi ± 3%       ~ (p=0.180 n=6)
ReclaimLargeJobs_50Node-4       17.62Mi ± 0%   17.61Mi ± 0%       ~ (p=0.240 n=6)
ReclaimLargeJobs_100Node-4      59.74Mi ± 0%   59.69Mi ± 0%       ~ (p=0.065 n=6)
ReclaimLargeJobs_200Node-4      233.9Mi ± 0%   233.8Mi ± 0%  -0.05% (p=0.004 n=6)
ReclaimLargeJobs_500Node-4      1.658Gi ± 0%   1.658Gi ± 0%       ~ (p=0.132 n=6)
ReclaimLargeJobs_1000Node-4     8.526Gi ± 0%   8.526Gi ± 0%       ~ (p=0.589 n=6)
geomean                         137.8Mi        137.6Mi       -0.08%

                            │ main-bench.txt │           pr-bench.txt            │
                            │   allocs/op    │  allocs/op   vs base              │
ReclaimLargeJobs_10Node-4        20.34k ± 2%   20.34k ± 2%       ~ (p=0.513 n=6)
ReclaimLargeJobs_50Node-4        234.3k ± 0%   234.4k ± 0%       ~ (p=0.132 n=6)
ReclaimLargeJobs_100Node-4       872.5k ± 0%   872.5k ± 0%       ~ (p=0.223 n=6)
ReclaimLargeJobs_200Node-4       3.691M ± 0%   3.691M ± 0%       ~ (p=0.937 n=6)
ReclaimLargeJobs_500Node-4       29.66M ± 0%   29.66M ± 0%       ~ (p=0.853 n=6)
ReclaimLargeJobs_1000Node-4      165.8M ± 0%   165.8M ± 0%       ~ (p=0.699 n=6)
geomean                          2.056M        2.056M       -0.00%

Legend

  • 📉 Negative delta = Performance improvement (faster)
  • 📈 Positive delta = Performance regression (slower)
  • p-value < 0.05 indicates statistically significant change
Raw benchmark data

PR branch:

goos: linux
goarch: amd64
pkg: github.com/kai-scheduler/KAI-scheduler/pkg/scheduler/actions
cpu: AMD EPYC 7763 64-Core Processor                
BenchmarkAllocateAction_SmallCluster-4         	       9	 116346529 ns/op	 2386876 B/op	   36324 allocs/op
BenchmarkAllocateAction_SmallCluster-4         	      10	 108225713 ns/op	 2359039 B/op	   36312 allocs/op
BenchmarkAllocateAction_SmallCluster-4         	      10	 108299307 ns/op	 2362226 B/op	   36319 allocs/op
BenchmarkAllocateAction_SmallCluster-4         	      10	 108280374 ns/op	 2359813 B/op	   36314 allocs/op
BenchmarkAllocateAction_SmallCluster-4         	      10	 108279709 ns/op	 2361820 B/op	   36317 allocs/op
BenchmarkAllocateAction_SmallCluster-4         	      10	 108728306 ns/op	 2359276 B/op	   36312 allocs/op
BenchmarkAllocateAction_MediumCluster-4        	       8	 136765070 ns/op	12786982 B/op	  317901 allocs/op
BenchmarkAllocateAction_MediumCluster-4        	       8	 136100475 ns/op	12780619 B/op	  317905 allocs/op
BenchmarkAllocateAction_MediumCluster-4        	       8	 137174289 ns/op	12777507 B/op	  317901 allocs/op
BenchmarkAllocateAction_MediumCluster-4        	       8	 136598809 ns/op	12777279 B/op	  317898 allocs/op
BenchmarkAllocateAction_MediumCluster-4        	       8	 137257946 ns/op	12777735 B/op	  317899 allocs/op
BenchmarkAllocateAction_MediumCluster-4        	       8	 137859473 ns/op	12777869 B/op	  317902 allocs/op
BenchmarkAllocateAction_LargeCluster-4         	       5	 215519585 ns/op	44069075 B/op	 1351096 allocs/op
BenchmarkAllocateAction_LargeCluster-4         	       5	 212889347 ns/op	44061345 B/op	 1351075 allocs/op
BenchmarkAllocateAction_LargeCluster-4         	       5	 223491746 ns/op	44060830 B/op	 1351065 allocs/op
BenchmarkAllocateAction_LargeCluster-4         	       5	 228769157 ns/op	44061489 B/op	 1351070 allocs/op
BenchmarkAllocateAction_LargeCluster-4         	       5	 215915631 ns/op	44061838 B/op	 1351072 allocs/op
BenchmarkAllocateAction_LargeCluster-4         	       5	 213019076 ns/op	44067180 B/op	 1351068 allocs/op
BenchmarkReclaimAction_SmallCluster-4          	      10	 102945080 ns/op	  974029 B/op	    8938 allocs/op
BenchmarkReclaimAction_SmallCluster-4          	      10	 102964686 ns/op	  974116 B/op	    8950 allocs/op
BenchmarkReclaimAction_SmallCluster-4          	      10	 102992924 ns/op	  977613 B/op	    8958 allocs/op
BenchmarkReclaimAction_SmallCluster-4          	      10	 102975552 ns/op	  982114 B/op	    8961 allocs/op
BenchmarkReclaimAction_SmallCluster-4          	      10	 102959980 ns/op	  978237 B/op	    8960 allocs/op
BenchmarkReclaimAction_SmallCluster-4          	      10	 102984207 ns/op	  982255 B/op	    8961 allocs/op
BenchmarkReclaimAction_MediumCluster-4         	      10	 106345990 ns/op	 3314857 B/op	   29064 allocs/op
BenchmarkReclaimAction_MediumCluster-4         	      10	 105995407 ns/op	 3319615 B/op	   29064 allocs/op
BenchmarkReclaimAction_MediumCluster-4         	      10	 105959366 ns/op	 3310578 B/op	   29062 allocs/op
BenchmarkReclaimAction_MediumCluster-4         	      10	 105948835 ns/op	 3314562 B/op	   29063 allocs/op
BenchmarkReclaimAction_MediumCluster-4         	      10	 105835480 ns/op	 3314597 B/op	   29064 allocs/op
BenchmarkReclaimAction_MediumCluster-4         	      10	 105974252 ns/op	 3314567 B/op	   29063 allocs/op
BenchmarkPreemptAction_SmallCluster-4          	      10	 103747380 ns/op	 1113663 B/op	   11677 allocs/op
BenchmarkPreemptAction_SmallCluster-4          	      10	 103746416 ns/op	 1109688 B/op	   11676 allocs/op
BenchmarkPreemptAction_SmallCluster-4          	      10	 103848659 ns/op	 1113695 B/op	   11678 allocs/op
BenchmarkPreemptAction_SmallCluster-4          	      10	 103812178 ns/op	 1113567 B/op	   11677 allocs/op
BenchmarkPreemptAction_SmallCluster-4          	      10	 103791748 ns/op	 1113748 B/op	   11678 allocs/op
BenchmarkPreemptAction_SmallCluster-4          	      10	 103662051 ns/op	 1109597 B/op	   11675 allocs/op
BenchmarkPreemptAction_MediumCluster-4         	       9	 113872137 ns/op	 4510678 B/op	   40993 allocs/op
BenchmarkPreemptAction_MediumCluster-4         	       9	 113477392 ns/op	 4514604 B/op	   40993 allocs/op
BenchmarkPreemptAction_MediumCluster-4         	       9	 113527815 ns/op	 4521797 B/op	   40993 allocs/op
BenchmarkPreemptAction_MediumCluster-4         	       9	 113980240 ns/op	 4518976 B/op	   40995 allocs/op
BenchmarkPreemptAction_MediumCluster-4         	       9	 113527864 ns/op	 4518680 B/op	   40994 allocs/op
BenchmarkPreemptAction_MediumCluster-4         	       9	 113654418 ns/op	 4519191 B/op	   40996 allocs/op
BenchmarkConsolidationAction_SmallCluster-4    	       9	 114814389 ns/op	 5828756 B/op	   71649 allocs/op
BenchmarkConsolidationAction_SmallCluster-4    	       9	 115013695 ns/op	 5821000 B/op	   71607 allocs/op
BenchmarkConsolidationAction_SmallCluster-4    	       9	 114016632 ns/op	 5823990 B/op	   71639 allocs/op
BenchmarkConsolidationAction_SmallCluster-4    	       9	 113732394 ns/op	 5823163 B/op	   71623 allocs/op

Main branch:

goos: linux
goarch: amd64
pkg: github.com/kai-scheduler/KAI-scheduler/pkg/scheduler/actions
cpu: AMD EPYC 7763 64-Core Processor                
BenchmarkAllocateAction_SmallCluster-4         	      10	 108594662 ns/op	 2367108 B/op	   36326 allocs/op
BenchmarkAllocateAction_SmallCluster-4         	      10	 108376140 ns/op	 2363824 B/op	   36319 allocs/op
BenchmarkAllocateAction_SmallCluster-4         	      10	 108546652 ns/op	 2365341 B/op	   36318 allocs/op
BenchmarkAllocateAction_SmallCluster-4         	      10	 108485659 ns/op	 2362482 B/op	   36313 allocs/op
BenchmarkAllocateAction_SmallCluster-4         	      10	 108359444 ns/op	 2363212 B/op	   36314 allocs/op
BenchmarkAllocateAction_SmallCluster-4         	      10	 108392210 ns/op	 2365052 B/op	   36316 allocs/op
BenchmarkAllocateAction_MediumCluster-4        	       8	 136849118 ns/op	12792150 B/op	  317910 allocs/op
BenchmarkAllocateAction_MediumCluster-4        	       8	 136705423 ns/op	12791221 B/op	  317904 allocs/op
BenchmarkAllocateAction_MediumCluster-4        	       8	 136845190 ns/op	12793623 B/op	  317906 allocs/op
BenchmarkAllocateAction_MediumCluster-4        	       8	 137099815 ns/op	12790369 B/op	  317896 allocs/op
BenchmarkAllocateAction_MediumCluster-4        	       8	 137077538 ns/op	12790707 B/op	  317899 allocs/op
BenchmarkAllocateAction_MediumCluster-4        	       8	 137682196 ns/op	12790699 B/op	  317899 allocs/op
BenchmarkAllocateAction_LargeCluster-4         	       5	 212449755 ns/op	44094768 B/op	 1351080 allocs/op
BenchmarkAllocateAction_LargeCluster-4         	       5	 211824649 ns/op	44094308 B/op	 1351080 allocs/op
BenchmarkAllocateAction_LargeCluster-4         	       5	 213776043 ns/op	44094014 B/op	 1351080 allocs/op
BenchmarkAllocateAction_LargeCluster-4         	       5	 215096771 ns/op	44115073 B/op	 1351075 allocs/op
BenchmarkAllocateAction_LargeCluster-4         	       5	 237012204 ns/op	44094257 B/op	 1351081 allocs/op
BenchmarkAllocateAction_LargeCluster-4         	       5	 214821409 ns/op	44092824 B/op	 1351070 allocs/op
BenchmarkReclaimAction_SmallCluster-4          	      10	 103000172 ns/op	  972490 B/op	    8929 allocs/op
BenchmarkReclaimAction_SmallCluster-4          	      10	 102995017 ns/op	  980720 B/op	    8951 allocs/op
BenchmarkReclaimAction_SmallCluster-4          	      10	 103052214 ns/op	  988677 B/op	    8961 allocs/op
BenchmarkReclaimAction_SmallCluster-4          	      10	 102999388 ns/op	  985464 B/op	    8961 allocs/op
BenchmarkReclaimAction_SmallCluster-4          	      10	 102972812 ns/op	  985412 B/op	    8961 allocs/op
BenchmarkReclaimAction_SmallCluster-4          	      10	 102981105 ns/op	  985320 B/op	    8961 allocs/op
BenchmarkReclaimAction_MediumCluster-4         	      10	 106636077 ns/op	 3327758 B/op	   29065 allocs/op
BenchmarkReclaimAction_MediumCluster-4         	      10	 106237982 ns/op	 3323702 B/op	   29063 allocs/op
BenchmarkReclaimAction_MediumCluster-4         	      10	 106042382 ns/op	 3332792 B/op	   29065 allocs/op
BenchmarkReclaimAction_MediumCluster-4         	      10	 106022958 ns/op	 3323528 B/op	   29062 allocs/op
BenchmarkReclaimAction_MediumCluster-4         	      10	 105948503 ns/op	 3327498 B/op	   29064 allocs/op
BenchmarkReclaimAction_MediumCluster-4         	      10	 105904593 ns/op	 3323384 B/op	   29062 allocs/op
BenchmarkPreemptAction_SmallCluster-4          	      10	 103892666 ns/op	 1116823 B/op	   11677 allocs/op
BenchmarkPreemptAction_SmallCluster-4          	      10	 103748332 ns/op	 1112975 B/op	   11677 allocs/op
BenchmarkPreemptAction_SmallCluster-4          	      10	 103817543 ns/op	 1116812 B/op	   11677 allocs/op
BenchmarkPreemptAction_SmallCluster-4          	      10	 103789101 ns/op	 1117092 B/op	   11679 allocs/op
BenchmarkPreemptAction_SmallCluster-4          	      10	 103714170 ns/op	 1116700 B/op	   11677 allocs/op
BenchmarkPreemptAction_SmallCluster-4          	      10	 103757416 ns/op	 1112874 B/op	   11675 allocs/op
BenchmarkPreemptAction_MediumCluster-4         	       9	 115043545 ns/op	 4527499 B/op	   40994 allocs/op
BenchmarkPreemptAction_MediumCluster-4         	       9	 113274230 ns/op	 4527137 B/op	   40991 allocs/op
BenchmarkPreemptAction_MediumCluster-4         	       9	 113565249 ns/op	 4531671 B/op	   40995 allocs/op
BenchmarkPreemptAction_MediumCluster-4         	       9	 113495950 ns/op	 4531776 B/op	   40995 allocs/op
BenchmarkPreemptAction_MediumCluster-4         	       9	 113465577 ns/op	 4522840 B/op	   40991 allocs/op
BenchmarkPreemptAction_MediumCluster-4         	       9	 113508728 ns/op	 4527477 B/op	   40993 allocs/op
BenchmarkConsolidationAction_SmallCluster-4    	       9	 114919490 ns/op	 5830504 B/op	   71648 allocs/op
BenchmarkConsolidationAction_SmallCluster-4    	       9	 114966272 ns/op	 5845316 B/op	   71644 allocs/op
BenchmarkConsolidationAction_SmallCluster-4    	       9	 114036326 ns/op	 5826144 B/op	   71632 allocs/op
BenchmarkConsolidationAction_SmallCluster-4    	       9	 113800364 ns/op	 5827702 B/op	   71637 allocs/op

@davidLif davidLif marked this pull request as ready for review March 30, 2026 08:30
SiorMeir
SiorMeir previously approved these changes Mar 30, 2026
@davidLif davidLif added this pull request to the merge queue Mar 30, 2026
@davidLif davidLif removed this pull request from the merge queue due to a manual request Mar 30, 2026
@davidLif davidLif added this pull request to the merge queue Mar 30, 2026
@davidLif davidLif removed this pull request from the merge queue due to a manual request Mar 30, 2026
Comment thread pkg/apis/scheduling/v2alpha2/podgroup_types.go Outdated
Comment thread pkg/apis/scheduling/v2alpha2/podgroup_types.go Outdated
Comment thread pkg/apis/scheduling/v2alpha2/podgroup_types.go Outdated
Comment thread pkg/apis/scheduling/v2alpha2/podgroup_types.go Outdated
@davidLif davidLif force-pushed the DavidL/minSubgroups/minMemberToPointer branch from 3b35f1e to 3752775 Compare March 30, 2026 18:57
@davidLif davidLif enabled auto-merge March 30, 2026 19:26
@davidLif davidLif force-pushed the DavidL/minSubgroups/minMemberToPointer branch from eceebd8 to 73399ca Compare March 30, 2026 20:43
@github-actions
Copy link
Copy Markdown

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

Impacted Packages Coverage Δ 🤖
github.com/kai-scheduler/KAI-scheduler/pkg/apis/scheduling/v2alpha2 15.03% (+0.18%) 👍
github.com/kai-scheduler/KAI-scheduler/pkg/binder/plugins 0.00% (ø)
github.com/kai-scheduler/KAI-scheduler/pkg/binder/plugins/mock 0.00% (ø)
github.com/kai-scheduler/KAI-scheduler/pkg/env-tests/utils 0.00% (ø)
github.com/kai-scheduler/KAI-scheduler/pkg/podgrouper/podgroup 50.82% (ø)
github.com/kai-scheduler/KAI-scheduler/pkg/podgrouper/podgrouper/plugins/ray 79.08% (ø)
github.com/kai-scheduler/KAI-scheduler/pkg/queuecontroller/controllers 84.00% (+2.00%) 👍
github.com/kai-scheduler/KAI-scheduler/pkg/scheduler/actions/common/solvers 22.22% (ø)
github.com/kai-scheduler/KAI-scheduler/pkg/scheduler/api/podgroup_info 59.71% (-0.52%) 👎
github.com/kai-scheduler/KAI-scheduler/pkg/scheduler/api/podgroup_info/subgroup_info 86.25% (+0.35%) 👍
github.com/kai-scheduler/KAI-scheduler/pkg/scheduler/cache 34.25% (ø)
github.com/kai-scheduler/KAI-scheduler/pkg/scheduler/cache/cluster_info 83.18% (ø)
github.com/kai-scheduler/KAI-scheduler/pkg/scheduler/plugins/snapshot 52.73% (ø)
github.com/kai-scheduler/KAI-scheduler/test/e2e/modules/resources/rd/pod_group 0.00% (ø)
github.com/kai-scheduler/KAI-scheduler/test/e2e/scale 0.00% (ø)
github.com/kai-scheduler/KAI-scheduler/test/e2e/suites/allocate/resources 0.00% (ø)
github.com/kai-scheduler/KAI-scheduler/test/e2e/suites/allocate/subgroups 0.00% (ø)
github.com/kai-scheduler/KAI-scheduler/test/e2e/suites/allocate/topology 0.00% (ø)
github.com/kai-scheduler/KAI-scheduler/test/e2e/suites/api/events 0.00% (ø)
github.com/kai-scheduler/KAI-scheduler/test/e2e/suites/integrations/third_party/jobset 0.00% (ø)
github.com/kai-scheduler/KAI-scheduler/test/e2e/suites/integrations/third_party/knative 0.00% (ø)
github.com/kai-scheduler/KAI-scheduler/test/e2e/suites/integrations/third_party/leader_worker_set 0.00% (ø)
github.com/kai-scheduler/KAI-scheduler/test/e2e/suites/preempt 0.00% (ø)

Coverage by file

Changed files (no unit tests)

Changed File Coverage Δ Total Covered Missed 🤖
github.com/kai-scheduler/KAI-scheduler/pkg/apis/scheduling/v2alpha2/podgroup_types.go 7.69% (ø) 13 1 12
github.com/kai-scheduler/KAI-scheduler/pkg/apis/scheduling/v2alpha2/podgroup_webhook.go 62.69% (+1.15%) 67 (+2) 42 (+2) 25 👍
github.com/kai-scheduler/KAI-scheduler/pkg/apis/scheduling/v2alpha2/zz_generated.deepcopy.go 0.00% (ø) 205 (+8) 0 205 (+8)
github.com/kai-scheduler/KAI-scheduler/pkg/binder/plugins/interface.go 0.00% (ø) 0 0 0
github.com/kai-scheduler/KAI-scheduler/pkg/binder/plugins/mock/plugins_mock.go 0.00% (ø) 26 0 26
github.com/kai-scheduler/KAI-scheduler/pkg/env-tests/utils/utils.go 0.00% (ø) 93 0 93
github.com/kai-scheduler/KAI-scheduler/pkg/podgrouper/podgroup/handler.go 21.05% (ø) 38 8 30
github.com/kai-scheduler/KAI-scheduler/pkg/scheduler/api/podgroup_info/job_info.go 40.93% (-0.58%) 215 (+3) 88 127 (+3) 👎
github.com/kai-scheduler/KAI-scheduler/pkg/scheduler/api/podgroup_info/subgroup_info/factory.go 100.00% (ø) 61 (+4) 61 (+4) 0
github.com/kai-scheduler/KAI-scheduler/test/e2e/modules/resources/rd/pod_group/distributed_job.go 0.00% (ø) 0 0 0
github.com/kai-scheduler/KAI-scheduler/test/e2e/modules/resources/rd/pod_group/pod_group.go 0.00% (ø) 0 0 0
github.com/kai-scheduler/KAI-scheduler/test/e2e/scale/kwok_job_creation.go 0.00% (ø) 0 0 0
github.com/kai-scheduler/KAI-scheduler/test/e2e/suites/api/events/events_specs.go 0.00% (ø) 0 0 0
github.com/kai-scheduler/KAI-scheduler/test/e2e/suites/integrations/third_party/knative/knative_specs.go 0.00% (ø) 0 0 0
github.com/kai-scheduler/KAI-scheduler/test/e2e/suites/preempt/preempt_distributed_specs.go 0.00% (ø) 0 0 0

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/scheduling/v2alpha2/podgroup_webhook_test.go
  • github.com/kai-scheduler/KAI-scheduler/pkg/podgrouper/podgroup/handler_test.go
  • github.com/kai-scheduler/KAI-scheduler/pkg/podgrouper/podgroup/updater_test.go
  • github.com/kai-scheduler/KAI-scheduler/pkg/podgrouper/podgrouper/plugins/ray/ray_grouper_test.go
  • github.com/kai-scheduler/KAI-scheduler/pkg/queuecontroller/controllers/suite_test.go
  • github.com/kai-scheduler/KAI-scheduler/pkg/scheduler/actions/common/solvers/pod_scenario_builder_test.go
  • github.com/kai-scheduler/KAI-scheduler/pkg/scheduler/api/podgroup_info/subgroup_info/factory_test.go
  • github.com/kai-scheduler/KAI-scheduler/pkg/scheduler/cache/cluster_info/cluster_info_test.go
  • github.com/kai-scheduler/KAI-scheduler/pkg/scheduler/cache/record_job_status_event_test.go
  • github.com/kai-scheduler/KAI-scheduler/pkg/scheduler/plugins/snapshot/snapshot_test.go
  • github.com/kai-scheduler/KAI-scheduler/test/e2e/suites/allocate/resources/dra_test.go
  • github.com/kai-scheduler/KAI-scheduler/test/e2e/suites/allocate/subgroups/subgroups_test.go
  • github.com/kai-scheduler/KAI-scheduler/test/e2e/suites/allocate/topology/topology_test.go
  • github.com/kai-scheduler/KAI-scheduler/test/e2e/suites/integrations/third_party/jobset/jobset_test.go
  • github.com/kai-scheduler/KAI-scheduler/test/e2e/suites/integrations/third_party/knative/knative_test.go
  • github.com/kai-scheduler/KAI-scheduler/test/e2e/suites/integrations/third_party/leader_worker_set/leader_worker_set_test.go

Comment thread pkg/apis/scheduling/v2alpha2/podgroup_types.go Outdated
@davidLif davidLif force-pushed the DavidL/minSubgroups/minMemberToPointer branch from 2f0c392 to 6ac5043 Compare April 1, 2026 11:24
@github-actions
Copy link
Copy Markdown

github-actions Bot commented Apr 1, 2026

Merging this branch changes the coverage (2 decrease, 2 increase)

Impacted Packages Coverage Δ 🤖
github.com/kai-scheduler/KAI-scheduler/pkg/apis/scheduling/v2alpha2 15.03% (+0.18%) 👍
github.com/kai-scheduler/KAI-scheduler/pkg/binder/plugins 0.00% (ø)
github.com/kai-scheduler/KAI-scheduler/pkg/binder/plugins/mock 0.00% (ø)
github.com/kai-scheduler/KAI-scheduler/pkg/env-tests/utils 0.00% (ø)
github.com/kai-scheduler/KAI-scheduler/pkg/podgrouper/podgroup 50.82% (ø)
github.com/kai-scheduler/KAI-scheduler/pkg/podgrouper/podgrouper/plugins/ray 79.08% (ø)
github.com/kai-scheduler/KAI-scheduler/pkg/queuecontroller/controllers 82.00% (-2.00%) 👎
github.com/kai-scheduler/KAI-scheduler/pkg/scheduler/actions/common/solvers 22.22% (ø)
github.com/kai-scheduler/KAI-scheduler/pkg/scheduler/api/podgroup_info 59.71% (-0.52%) 👎
github.com/kai-scheduler/KAI-scheduler/pkg/scheduler/api/podgroup_info/subgroup_info 86.25% (+0.35%) 👍
github.com/kai-scheduler/KAI-scheduler/pkg/scheduler/cache 34.25% (ø)
github.com/kai-scheduler/KAI-scheduler/pkg/scheduler/cache/cluster_info 83.18% (ø)
github.com/kai-scheduler/KAI-scheduler/pkg/scheduler/plugins/snapshot 52.73% (ø)
github.com/kai-scheduler/KAI-scheduler/test/e2e/modules/resources/rd/pod_group 0.00% (ø)
github.com/kai-scheduler/KAI-scheduler/test/e2e/scale 0.00% (ø)
github.com/kai-scheduler/KAI-scheduler/test/e2e/suites/allocate/resources 0.00% (ø)
github.com/kai-scheduler/KAI-scheduler/test/e2e/suites/allocate/subgroups 0.00% (ø)
github.com/kai-scheduler/KAI-scheduler/test/e2e/suites/allocate/topology 0.00% (ø)
github.com/kai-scheduler/KAI-scheduler/test/e2e/suites/api/events 0.00% (ø)
github.com/kai-scheduler/KAI-scheduler/test/e2e/suites/integrations/third_party/jobset 0.00% (ø)
github.com/kai-scheduler/KAI-scheduler/test/e2e/suites/integrations/third_party/knative 0.00% (ø)
github.com/kai-scheduler/KAI-scheduler/test/e2e/suites/integrations/third_party/leader_worker_set 0.00% (ø)
github.com/kai-scheduler/KAI-scheduler/test/e2e/suites/preempt 0.00% (ø)

Coverage by file

Changed files (no unit tests)

Changed File Coverage Δ Total Covered Missed 🤖
github.com/kai-scheduler/KAI-scheduler/pkg/apis/scheduling/v2alpha2/podgroup_types.go 7.69% (ø) 13 1 12
github.com/kai-scheduler/KAI-scheduler/pkg/apis/scheduling/v2alpha2/podgroup_webhook.go 62.69% (+1.15%) 67 (+2) 42 (+2) 25 👍
github.com/kai-scheduler/KAI-scheduler/pkg/apis/scheduling/v2alpha2/zz_generated.deepcopy.go 0.00% (ø) 205 (+8) 0 205 (+8)
github.com/kai-scheduler/KAI-scheduler/pkg/binder/plugins/interface.go 0.00% (ø) 0 0 0
github.com/kai-scheduler/KAI-scheduler/pkg/binder/plugins/mock/plugins_mock.go 0.00% (ø) 26 0 26
github.com/kai-scheduler/KAI-scheduler/pkg/env-tests/utils/utils.go 0.00% (ø) 93 0 93
github.com/kai-scheduler/KAI-scheduler/pkg/podgrouper/podgroup/handler.go 21.05% (ø) 38 8 30
github.com/kai-scheduler/KAI-scheduler/pkg/scheduler/api/podgroup_info/job_info.go 40.93% (-0.58%) 215 (+3) 88 127 (+3) 👎
github.com/kai-scheduler/KAI-scheduler/pkg/scheduler/api/podgroup_info/subgroup_info/factory.go 100.00% (ø) 61 (+4) 61 (+4) 0
github.com/kai-scheduler/KAI-scheduler/test/e2e/modules/resources/rd/pod_group/distributed_job.go 0.00% (ø) 0 0 0
github.com/kai-scheduler/KAI-scheduler/test/e2e/modules/resources/rd/pod_group/pod_group.go 0.00% (ø) 0 0 0
github.com/kai-scheduler/KAI-scheduler/test/e2e/scale/kwok_job_creation.go 0.00% (ø) 0 0 0
github.com/kai-scheduler/KAI-scheduler/test/e2e/suites/api/events/events_specs.go 0.00% (ø) 0 0 0
github.com/kai-scheduler/KAI-scheduler/test/e2e/suites/integrations/third_party/knative/knative_specs.go 0.00% (ø) 0 0 0
github.com/kai-scheduler/KAI-scheduler/test/e2e/suites/preempt/preempt_distributed_specs.go 0.00% (ø) 0 0 0

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/scheduling/v2alpha2/podgroup_webhook_test.go
  • github.com/kai-scheduler/KAI-scheduler/pkg/podgrouper/podgroup/handler_test.go
  • github.com/kai-scheduler/KAI-scheduler/pkg/podgrouper/podgroup/updater_test.go
  • github.com/kai-scheduler/KAI-scheduler/pkg/podgrouper/podgrouper/plugins/ray/ray_grouper_test.go
  • github.com/kai-scheduler/KAI-scheduler/pkg/queuecontroller/controllers/suite_test.go
  • github.com/kai-scheduler/KAI-scheduler/pkg/scheduler/actions/common/solvers/pod_scenario_builder_test.go
  • github.com/kai-scheduler/KAI-scheduler/pkg/scheduler/api/podgroup_info/subgroup_info/factory_test.go
  • github.com/kai-scheduler/KAI-scheduler/pkg/scheduler/cache/cluster_info/cluster_info_test.go
  • github.com/kai-scheduler/KAI-scheduler/pkg/scheduler/cache/record_job_status_event_test.go
  • github.com/kai-scheduler/KAI-scheduler/pkg/scheduler/plugins/snapshot/snapshot_test.go
  • github.com/kai-scheduler/KAI-scheduler/test/e2e/suites/allocate/resources/dra_test.go
  • github.com/kai-scheduler/KAI-scheduler/test/e2e/suites/allocate/subgroups/subgroups_test.go
  • github.com/kai-scheduler/KAI-scheduler/test/e2e/suites/allocate/topology/topology_test.go
  • github.com/kai-scheduler/KAI-scheduler/test/e2e/suites/integrations/third_party/jobset/jobset_test.go
  • github.com/kai-scheduler/KAI-scheduler/test/e2e/suites/integrations/third_party/knative/knative_test.go
  • github.com/kai-scheduler/KAI-scheduler/test/e2e/suites/integrations/third_party/leader_worker_set/leader_worker_set_test.go

Comment thread pkg/apis/scheduling/v2alpha2/podgroup_types.go
Copy link
Copy Markdown
Contributor

@coderabbitai coderabbitai Bot left a comment

Choose a reason for hiding this comment

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

Actionable comments posted: 1

🧹 Nitpick comments (1)
deployments/kai-scheduler/crds/scheduling.run.ai_podgroups.yaml (1)

98-99: Consider documenting the effective minimum enforcement.

The CRD schema allows subGroups[].minMember to be 0, but the factory code at pkg/scheduler/api/podgroup_info/subgroup_info/factory.go:85 enforces a minimum of 1 via max(*subGroup.MinMember, MinimumSubGroupMinAvailable).

This is fine for backward compatibility, but consider adding a comment in the description (lines 94-96) to clarify that values below 1 are treated as 1, to avoid user confusion.

🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@deployments/kai-scheduler/crds/scheduling.run.ai_podgroups.yaml` around lines
98 - 99, The CRD allows subGroups[].minMember to be 0 but the runtime enforces a
minimum of 1 via Maximum/min logic in
pkg/scheduler/api/podgroup_info/subgroup_info/factory.go (see the
MinimumSubGroupMinAvailable constant and the max(*subGroup.MinMember,
MinimumSubGroupMinAvailable) call), so update the description for
subGroups[].minMember in the CRD (the current description around lines 94-96) to
add a short note that values less than 1 will be treated as 1 at runtime to
avoid confusion.
🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.

Inline comments:
In `@pkg/apis/scheduling/v2alpha2/podgroup_webhook.go`:
- Around line 70-72: The webhook currently rejects any subgroup where
subGroup.MinMember == nil; change validation in the function that checks
subgroups (the code using subGroup.MinMember in podgroup_webhook.go) to only
require MinMember when the subgroup is a leaf (i.e., has no children/subgroups)
— check the subgroup's children collection (e.g., subGroup.SubGroups or
equivalent) and only return fmt.Errorf("subgroup %s: minMember is required",
subGroup.Name) when the children list is empty, matching the runtime factory
behavior that only leaf subgroups that create a PodSet need MinMember.

---

Nitpick comments:
In `@deployments/kai-scheduler/crds/scheduling.run.ai_podgroups.yaml`:
- Around line 98-99: The CRD allows subGroups[].minMember to be 0 but the
runtime enforces a minimum of 1 via Maximum/min logic in
pkg/scheduler/api/podgroup_info/subgroup_info/factory.go (see the
MinimumSubGroupMinAvailable constant and the max(*subGroup.MinMember,
MinimumSubGroupMinAvailable) call), so update the description for
subGroups[].minMember in the CRD (the current description around lines 94-96) to
add a short note that values less than 1 will be treated as 1 at runtime to
avoid confusion.
🪄 Autofix (Beta)

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: Pro

Run ID: a8b64cb5-246d-4caf-b4c2-79213d38c5a0

📥 Commits

Reviewing files that changed from the base of the PR and between 6d098c5 and 5012478.

📒 Files selected for processing (32)
  • deployments/kai-scheduler/crds/scheduling.run.ai_podgroups.yaml
  • pkg/apis/scheduling/v2alpha2/podgroup_types.go
  • pkg/apis/scheduling/v2alpha2/podgroup_webhook.go
  • pkg/apis/scheduling/v2alpha2/podgroup_webhook_test.go
  • pkg/apis/scheduling/v2alpha2/zz_generated.deepcopy.go
  • pkg/binder/plugins/interface.go
  • pkg/binder/plugins/mock/plugins_mock.go
  • pkg/env-tests/utils/utils.go
  • pkg/podgrouper/podgroup/handler.go
  • pkg/podgrouper/podgroup/handler_test.go
  • pkg/podgrouper/podgroup/updater_test.go
  • pkg/podgrouper/podgrouper/plugins/ray/ray_grouper_test.go
  • pkg/queuecontroller/controllers/suite_test.go
  • pkg/scheduler/actions/common/solvers/pod_scenario_builder_test.go
  • pkg/scheduler/api/podgroup_info/job_info.go
  • pkg/scheduler/api/podgroup_info/subgroup_info/factory.go
  • pkg/scheduler/api/podgroup_info/subgroup_info/factory_test.go
  • pkg/scheduler/cache/cluster_info/cluster_info_test.go
  • pkg/scheduler/cache/record_job_status_event_test.go
  • pkg/scheduler/plugins/snapshot/snapshot_test.go
  • test/e2e/modules/resources/rd/pod_group/distributed_job.go
  • test/e2e/modules/resources/rd/pod_group/pod_group.go
  • test/e2e/scale/kwok_job_creation.go
  • test/e2e/suites/allocate/resources/dra_test.go
  • test/e2e/suites/allocate/subgroups/subgroups_test.go
  • test/e2e/suites/allocate/topology/topology_test.go
  • test/e2e/suites/api/events/events_specs.go
  • test/e2e/suites/integrations/third_party/jobset/jobset_test.go
  • test/e2e/suites/integrations/third_party/knative/knative_specs.go
  • test/e2e/suites/integrations/third_party/knative/knative_test.go
  • test/e2e/suites/integrations/third_party/leader_worker_set/leader_worker_set_test.go
  • test/e2e/suites/preempt/preempt_distributed_specs.go

Comment thread pkg/apis/scheduling/v2alpha2/podgroup_webhook.go Outdated
itsomri
itsomri previously approved these changes Apr 5, 2026
davidLif added 7 commits April 5, 2026 10:27
Signed-off-by: davidLif <davidshani12@gmail.com>
Signed-off-by: davidLif <davidshani12@gmail.com>
2- Make the podgroup minMember to pointer

Signed-off-by: davidLif <davidshani12@gmail.com>
Signed-off-by: davidLif <davidshani12@gmail.com>
Signed-off-by: davidLif <davidshani12@gmail.com>
Signed-off-by: davidLif <davidshani12@gmail.com>
Signed-off-by: davidLif <davidshani12@gmail.com>
@davidLif davidLif force-pushed the DavidL/minSubgroups/minMemberToPointer branch from f9c2816 to 5aa112a Compare April 5, 2026 07:27
@davidLif davidLif added this pull request to the merge queue Apr 5, 2026
@github-actions
Copy link
Copy Markdown

github-actions Bot commented Apr 5, 2026

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

Impacted Packages Coverage Δ 🤖
github.com/kai-scheduler/KAI-scheduler/pkg/apis/scheduling/v2alpha2 17.35% (+2.49%) 👍
github.com/kai-scheduler/KAI-scheduler/pkg/binder/plugins 0.00% (ø)
github.com/kai-scheduler/KAI-scheduler/pkg/binder/plugins/mock 0.00% (ø)
github.com/kai-scheduler/KAI-scheduler/pkg/env-tests/utils 0.00% (ø)
github.com/kai-scheduler/KAI-scheduler/pkg/podgrouper/podgroup 50.82% (ø)
github.com/kai-scheduler/KAI-scheduler/pkg/podgrouper/podgrouper/plugins/ray 79.08% (ø)
github.com/kai-scheduler/KAI-scheduler/pkg/queuecontroller/controllers 84.00% (+2.00%) 👍
github.com/kai-scheduler/KAI-scheduler/pkg/scheduler/actions/common/solvers 22.22% (ø)
github.com/kai-scheduler/KAI-scheduler/pkg/scheduler/api/podgroup_info 59.71% (-0.52%) 👎
github.com/kai-scheduler/KAI-scheduler/pkg/scheduler/api/podgroup_info/subgroup_info 86.25% (+0.35%) 👍
github.com/kai-scheduler/KAI-scheduler/pkg/scheduler/cache 34.25% (ø)
github.com/kai-scheduler/KAI-scheduler/pkg/scheduler/cache/cluster_info 83.18% (ø)
github.com/kai-scheduler/KAI-scheduler/pkg/scheduler/plugins/snapshot 52.73% (ø)
github.com/kai-scheduler/KAI-scheduler/test/e2e/modules/resources/rd/pod_group 0.00% (ø)
github.com/kai-scheduler/KAI-scheduler/test/e2e/scale 0.00% (ø)
github.com/kai-scheduler/KAI-scheduler/test/e2e/suites/allocate/resources 0.00% (ø)
github.com/kai-scheduler/KAI-scheduler/test/e2e/suites/allocate/subgroups 0.00% (ø)
github.com/kai-scheduler/KAI-scheduler/test/e2e/suites/allocate/topology 0.00% (ø)
github.com/kai-scheduler/KAI-scheduler/test/e2e/suites/api/events 0.00% (ø)
github.com/kai-scheduler/KAI-scheduler/test/e2e/suites/integrations/third_party/jobset 0.00% (ø)
github.com/kai-scheduler/KAI-scheduler/test/e2e/suites/integrations/third_party/knative 0.00% (ø)
github.com/kai-scheduler/KAI-scheduler/test/e2e/suites/integrations/third_party/leader_worker_set 0.00% (ø)
github.com/kai-scheduler/KAI-scheduler/test/e2e/suites/preempt 0.00% (ø)

Coverage by file

Changed files (no unit tests)

Changed File Coverage Δ Total Covered Missed 🤖
github.com/kai-scheduler/KAI-scheduler/pkg/apis/scheduling/v2alpha2/podgroup_types.go 7.69% (ø) 13 1 12
github.com/kai-scheduler/KAI-scheduler/pkg/apis/scheduling/v2alpha2/podgroup_webhook.go 66.67% (+5.13%) 75 (+10) 50 (+10) 25 👍
github.com/kai-scheduler/KAI-scheduler/pkg/apis/scheduling/v2alpha2/zz_generated.deepcopy.go 0.00% (ø) 205 (+8) 0 205 (+8)
github.com/kai-scheduler/KAI-scheduler/pkg/binder/plugins/interface.go 0.00% (ø) 0 0 0
github.com/kai-scheduler/KAI-scheduler/pkg/binder/plugins/mock/plugins_mock.go 0.00% (ø) 26 0 26
github.com/kai-scheduler/KAI-scheduler/pkg/env-tests/utils/utils.go 0.00% (ø) 93 0 93
github.com/kai-scheduler/KAI-scheduler/pkg/podgrouper/podgroup/handler.go 21.05% (ø) 38 8 30
github.com/kai-scheduler/KAI-scheduler/pkg/scheduler/api/podgroup_info/job_info.go 40.93% (-0.58%) 215 (+3) 88 127 (+3) 👎
github.com/kai-scheduler/KAI-scheduler/pkg/scheduler/api/podgroup_info/subgroup_info/factory.go 100.00% (ø) 61 (+4) 61 (+4) 0
github.com/kai-scheduler/KAI-scheduler/test/e2e/modules/resources/rd/pod_group/distributed_job.go 0.00% (ø) 0 0 0
github.com/kai-scheduler/KAI-scheduler/test/e2e/modules/resources/rd/pod_group/pod_group.go 0.00% (ø) 0 0 0
github.com/kai-scheduler/KAI-scheduler/test/e2e/scale/kwok_job_creation.go 0.00% (ø) 0 0 0
github.com/kai-scheduler/KAI-scheduler/test/e2e/suites/api/events/events_specs.go 0.00% (ø) 0 0 0
github.com/kai-scheduler/KAI-scheduler/test/e2e/suites/integrations/third_party/knative/knative_specs.go 0.00% (ø) 0 0 0
github.com/kai-scheduler/KAI-scheduler/test/e2e/suites/preempt/preempt_distributed_specs.go 0.00% (ø) 0 0 0

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/scheduling/v2alpha2/podgroup_webhook_test.go
  • github.com/kai-scheduler/KAI-scheduler/pkg/podgrouper/podgroup/handler_test.go
  • github.com/kai-scheduler/KAI-scheduler/pkg/podgrouper/podgroup/updater_test.go
  • github.com/kai-scheduler/KAI-scheduler/pkg/podgrouper/podgrouper/plugins/ray/ray_grouper_test.go
  • github.com/kai-scheduler/KAI-scheduler/pkg/queuecontroller/controllers/suite_test.go
  • github.com/kai-scheduler/KAI-scheduler/pkg/scheduler/actions/common/solvers/pod_scenario_builder_test.go
  • github.com/kai-scheduler/KAI-scheduler/pkg/scheduler/api/podgroup_info/subgroup_info/factory_test.go
  • github.com/kai-scheduler/KAI-scheduler/pkg/scheduler/cache/cluster_info/cluster_info_test.go
  • github.com/kai-scheduler/KAI-scheduler/pkg/scheduler/cache/record_job_status_event_test.go
  • github.com/kai-scheduler/KAI-scheduler/pkg/scheduler/plugins/snapshot/snapshot_test.go
  • github.com/kai-scheduler/KAI-scheduler/test/e2e/suites/allocate/resources/dra_test.go
  • github.com/kai-scheduler/KAI-scheduler/test/e2e/suites/allocate/subgroups/subgroups_test.go
  • github.com/kai-scheduler/KAI-scheduler/test/e2e/suites/allocate/topology/topology_test.go
  • github.com/kai-scheduler/KAI-scheduler/test/e2e/suites/integrations/third_party/jobset/jobset_test.go
  • github.com/kai-scheduler/KAI-scheduler/test/e2e/suites/integrations/third_party/knative/knative_test.go
  • github.com/kai-scheduler/KAI-scheduler/test/e2e/suites/integrations/third_party/leader_worker_set/leader_worker_set_test.go

Merged via the queue into main with commit d0defd7 Apr 5, 2026
16 checks passed
@davidLif davidLif deleted the DavidL/minSubgroups/minMemberToPointer branch April 5, 2026 08:40
davidLif added a commit that referenced this pull request Apr 5, 2026
…32 (#1340)

Signed-off-by: davidLif <davidshani12@gmail.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants