Skip to content

feat: support n-level queue hierarchy#858

Merged
gshaibi merged 27 commits intomainfrom
shaibi/n-level-queue-support-complete
Jan 12, 2026
Merged

feat: support n-level queue hierarchy#858
gshaibi merged 27 commits intomainfrom
shaibi/n-level-queue-support-complete

Conversation

@gshaibi
Copy link
Collaborator

@gshaibi gshaibi commented Jan 8, 2026

Description

Related Issues

Fixes #621

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

@gshaibi gshaibi changed the title shaibi/n level queue support complete Support N Level Queue Hierarchy Jan 8, 2026
@gshaibi gshaibi changed the title Support N Level Queue Hierarchy feat: support n-level queue hierarchy Jan 8, 2026
@github-actions
Copy link

github-actions bot commented Jan 8, 2026

Merging this branch will increase overall coverage

Impacted Packages Coverage Δ 🤖
github.com/NVIDIA/KAI-scheduler/pkg/scheduler/actions/utils 61.20% (+13.81%) 🎉
github.com/NVIDIA/KAI-scheduler/pkg/scheduler/cache/cluster_info/data_lister 0.00% (ø)

Coverage by file

Changed files (no unit tests)

Changed File Coverage Δ Total Covered Missed 🤖
github.com/NVIDIA/KAI-scheduler/pkg/scheduler/actions/utils/input_jobs.go 68.00% (+1.33%) 25 (+4) 17 (+3) 8 (+1) 👍
github.com/NVIDIA/KAI-scheduler/pkg/scheduler/actions/utils/job_order_by_queue.go 86.62% (+21.62%) 157 (-3) 136 (+32) 21 (-35) 🌟
github.com/NVIDIA/KAI-scheduler/pkg/scheduler/cache/cluster_info/data_lister/kubernetes_lister.go 0.00% (ø) 18 0 18

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/NVIDIA/KAI-scheduler/pkg/scheduler/actions/utils/job_order_by_queue_test.go

- Introduced a new field `DisableDefaultDepartment` in `TestTopologyBasic` to allow for flexible queue structures.
- Added multiple test cases for single, three, and four level queue hierarchies in `allocate_test.go`.
- Updated `addDefaultDepartmentIfNeeded` function to respect the new field, preventing default department assignment when disabled.
@gshaibi gshaibi marked this pull request as ready for review January 8, 2026 14:52
@github-actions
Copy link

github-actions bot commented Jan 8, 2026

Merging this branch will increase overall coverage

Impacted Packages Coverage Δ 🤖
github.com/NVIDIA/KAI-scheduler/pkg/scheduler/actions/integration_tests/allocate 0.00% (ø)
github.com/NVIDIA/KAI-scheduler/pkg/scheduler/actions/utils 61.60% (+14.21%) 🎉
github.com/NVIDIA/KAI-scheduler/pkg/scheduler/cache/cluster_info/data_lister 0.00% (ø)
github.com/NVIDIA/KAI-scheduler/pkg/scheduler/test_utils 0.00% (ø)
github.com/NVIDIA/KAI-scheduler/test/e2e/suites/allocate/quota 0.00% (ø)

Coverage by file

Changed files (no unit tests)

Changed File Coverage Δ Total Covered Missed 🤖
github.com/NVIDIA/KAI-scheduler/pkg/scheduler/actions/utils/input_jobs.go 68.00% (+1.33%) 25 (+4) 17 (+3) 8 (+1) 👍
github.com/NVIDIA/KAI-scheduler/pkg/scheduler/actions/utils/job_order_by_queue.go 87.26% (+22.26%) 157 (-3) 137 (+33) 20 (-36) 🌟
github.com/NVIDIA/KAI-scheduler/pkg/scheduler/cache/cluster_info/data_lister/kubernetes_lister.go 0.00% (ø) 18 0 18
github.com/NVIDIA/KAI-scheduler/pkg/scheduler/test_utils/test_utils.go 0.00% (ø) 131 0 131
github.com/NVIDIA/KAI-scheduler/pkg/scheduler/test_utils/test_utils_builder.go 0.00% (ø) 112 (+2) 0 112 (+2)

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/NVIDIA/KAI-scheduler/pkg/scheduler/actions/integration_tests/allocate/allocate_test.go
  • github.com/NVIDIA/KAI-scheduler/pkg/scheduler/actions/utils/job_order_by_queue_test.go
  • github.com/NVIDIA/KAI-scheduler/test/e2e/suites/allocate/quota/n_level_hierarchy_test.go

Copy link
Collaborator

@enoodle enoodle left a comment

Choose a reason for hiding this comment

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

This is great

@github-actions
Copy link

Merging this branch will increase overall coverage

Impacted Packages Coverage Δ 🤖
github.com/NVIDIA/KAI-scheduler/pkg/scheduler/actions/integration_tests/allocate 0.00% (ø)
github.com/NVIDIA/KAI-scheduler/pkg/scheduler/actions/utils 61.60% (+14.21%) 🎉
github.com/NVIDIA/KAI-scheduler/pkg/scheduler/cache/cluster_info/data_lister 0.00% (ø)
github.com/NVIDIA/KAI-scheduler/pkg/scheduler/test_utils 0.00% (ø)
github.com/NVIDIA/KAI-scheduler/test/e2e/suites/allocate/quota 0.00% (ø)

Coverage by file

Changed files (no unit tests)

Changed File Coverage Δ Total Covered Missed 🤖
github.com/NVIDIA/KAI-scheduler/pkg/scheduler/actions/utils/input_jobs.go 68.00% (+1.33%) 25 (+4) 17 (+3) 8 (+1) 👍
github.com/NVIDIA/KAI-scheduler/pkg/scheduler/actions/utils/job_order_by_queue.go 87.26% (+22.26%) 157 (-3) 137 (+33) 20 (-36) 🌟
github.com/NVIDIA/KAI-scheduler/pkg/scheduler/cache/cluster_info/data_lister/kubernetes_lister.go 0.00% (ø) 18 0 18
github.com/NVIDIA/KAI-scheduler/pkg/scheduler/test_utils/test_utils.go 0.00% (ø) 131 0 131
github.com/NVIDIA/KAI-scheduler/pkg/scheduler/test_utils/test_utils_builder.go 0.00% (ø) 112 (+2) 0 112 (+2)

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/NVIDIA/KAI-scheduler/pkg/scheduler/actions/integration_tests/allocate/allocate_test.go
  • github.com/NVIDIA/KAI-scheduler/pkg/scheduler/actions/utils/job_order_by_queue_test.go
  • github.com/NVIDIA/KAI-scheduler/test/e2e/suites/allocate/quota/n_level_hierarchy_test.go

@github-actions
Copy link

github-actions bot commented Jan 12, 2026

📊 Performance Benchmark Results

Comparing PR (shaibi/n-level-queue-support-complete) vs main branch:

goos: linux
goarch: amd64
pkg: github.com/NVIDIA/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            109.3m ± 3%   108.2m ± 9%        ~ (p=0.093 n=6)
AllocateAction_MediumCluster-4           140.3m ± 1%   134.4m ± 2%   -4.22% (p=0.002 n=6)
AllocateAction_LargeCluster-4            236.9m ± 8%   223.4m ± 5%   -5.72% (p=0.009 n=6)
ReclaimAction_SmallCluster-4             103.0m ± 0%   103.0m ± 0%        ~ (p=0.240 n=6)
ReclaimAction_MediumCluster-4            105.7m ± 0%   105.7m ± 0%        ~ (p=0.818 n=6)
PreemptAction_SmallCluster-4             103.8m ± 0%   103.7m ± 0%        ~ (p=0.180 n=6)
PreemptAction_MediumCluster-4            113.4m ± 0%   113.5m ± 0%        ~ (p=0.937 n=6)
ConsolidationAction_SmallCluster-4       115.3m ± 1%   112.9m ± 0%   -2.10% (p=0.002 n=6)
ConsolidationAction_MediumCluster-4      227.8m ± 2%   198.2m ± 2%  -12.97% (p=0.002 n=6)
FullSchedulingCycle_SmallCluster-4       105.3m ± 0%   105.4m ± 0%        ~ (p=0.818 n=6)
FullSchedulingCycle_MediumCluster-4      119.8m ± 0%   119.4m ± 0%   -0.34% (p=0.026 n=6)
FullSchedulingCycle_LargeCluster-4       158.5m ± 1%   158.2m ± 1%        ~ (p=0.485 n=6)
ManyQueues_MediumCluster-4               174.1m ± 1%   139.5m ± 1%  -19.90% (p=0.002 n=6)
GangScheduling_MediumCluster-4           159.4m ± 2%   156.1m ± 2%        ~ (p=0.132 n=6)
geomean                                  135.2m        130.2m        -3.65%

                                    │ main-bench.txt │             pr-bench.txt             │
                                    │      B/op      │     B/op       vs base               │
AllocateAction_SmallCluster-4           2.557Mi ± 1%    2.083Mi ± 2%  -18.54% (p=0.002 n=6)
AllocateAction_MediumCluster-4          13.68Mi ± 0%    11.66Mi ± 0%  -14.77% (p=0.002 n=6)
AllocateAction_LargeCluster-4           46.22Mi ± 0%    41.13Mi ± 0%  -11.02% (p=0.002 n=6)
ReclaimAction_SmallCluster-4            865.7Ki ± 1%    867.4Ki ± 2%        ~ (p=0.818 n=6)
ReclaimAction_MediumCluster-4           2.737Mi ± 0%    2.739Mi ± 0%        ~ (p=0.485 n=6)
PreemptAction_SmallCluster-4           1013.7Ki ± 0%   1008.4Ki ± 0%   -0.52% (p=0.004 n=6)
PreemptAction_MediumCluster-4           3.963Mi ± 0%    3.943Mi ± 0%   -0.51% (p=0.002 n=6)
ConsolidationAction_SmallCluster-4      6.079Mi ± 0%    4.874Mi ± 0%  -19.83% (p=0.002 n=6)
ConsolidationAction_MediumCluster-4     57.23Mi ± 0%    43.62Mi ± 0%  -23.78% (p=0.002 n=6)
FullSchedulingCycle_SmallCluster-4      1.334Mi ± 1%    1.331Mi ± 1%        ~ (p=0.394 n=6)
FullSchedulingCycle_MediumCluster-4     6.705Mi ± 0%    6.704Mi ± 0%        ~ (p=0.065 n=6)
FullSchedulingCycle_LargeCluster-4      22.52Mi ± 0%    22.51Mi ± 0%   -0.00% (p=0.009 n=6)
ManyQueues_MediumCluster-4              41.49Mi ± 0%    15.89Mi ± 0%  -61.70% (p=0.002 n=6)
GangScheduling_MediumCluster-4          17.83Mi ± 0%    16.84Mi ± 0%   -5.56% (p=0.002 n=6)
geomean                                 7.058Mi         6.118Mi       -13.32%

                                    │ main-bench.txt │            pr-bench.txt            │
                                    │   allocs/op    │  allocs/op   vs base               │
AllocateAction_SmallCluster-4            38.94k ± 0%   35.06k ± 0%   -9.96% (p=0.002 n=6)
AllocateAction_MediumCluster-4           337.9k ± 0%   321.4k ± 0%   -4.89% (p=0.002 n=6)
AllocateAction_LargeCluster-4            1.427M ± 0%   1.385M ± 0%   -2.92% (p=0.002 n=6)
ReclaimAction_SmallCluster-4             7.906k ± 0%   7.899k ± 0%        ~ (p=0.169 n=6)
ReclaimAction_MediumCluster-4            24.55k ± 0%   24.54k ± 0%   -0.03% (p=0.002 n=6)
PreemptAction_SmallCluster-4             10.96k ± 0%   10.76k ± 0%   -1.89% (p=0.002 n=6)
PreemptAction_MediumCluster-4            37.94k ± 0%   37.13k ± 0%   -2.13% (p=0.002 n=6)
ConsolidationAction_SmallCluster-4       74.98k ± 0%   64.47k ± 0%  -14.02% (p=0.002 n=6)
ConsolidationAction_MediumCluster-4      734.7k ± 0%   620.6k ± 0%  -15.53% (p=0.002 n=6)
FullSchedulingCycle_SmallCluster-4       20.62k ± 0%   20.59k ± 0%   -0.16% (p=0.002 n=6)
FullSchedulingCycle_MediumCluster-4      171.8k ± 0%   171.8k ± 0%   -0.02% (p=0.002 n=6)
FullSchedulingCycle_LargeCluster-4       720.2k ± 0%   720.2k ± 0%   -0.00% (p=0.002 n=6)
ManyQueues_MediumCluster-4               567.3k ± 0%   357.6k ± 0%  -36.97% (p=0.002 n=6)
GangScheduling_MediumCluster-4           598.3k ± 0%   590.2k ± 0%   -1.36% (p=0.002 n=6)
geomean                                  115.2k        107.1k        -7.05%

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/NVIDIA/KAI-scheduler/pkg/scheduler/actions
cpu: AMD EPYC 7763 64-Core Processor                
BenchmarkAllocateAction_SmallCluster-4         	       9	 118309632 ns/op	 2220440 B/op	   35082 allocs/op
BenchmarkAllocateAction_SmallCluster-4         	      10	 108450050 ns/op	 2184999 B/op	   35064 allocs/op
BenchmarkAllocateAction_SmallCluster-4         	      10	 108641827 ns/op	 2182996 B/op	   35062 allocs/op
BenchmarkAllocateAction_SmallCluster-4         	      10	 107810732 ns/op	 2184618 B/op	   35068 allocs/op
BenchmarkAllocateAction_SmallCluster-4         	      10	 107894422 ns/op	 2182550 B/op	   35061 allocs/op
BenchmarkAllocateAction_SmallCluster-4         	      10	 107969576 ns/op	 2183464 B/op	   35064 allocs/op
BenchmarkAllocateAction_MediumCluster-4        	       8	 136003386 ns/op	12246758 B/op	  321362 allocs/op
BenchmarkAllocateAction_MediumCluster-4        	       8	 133639371 ns/op	12224865 B/op	  321352 allocs/op
BenchmarkAllocateAction_MediumCluster-4        	       8	 137257615 ns/op	12234363 B/op	  321352 allocs/op
BenchmarkAllocateAction_MediumCluster-4        	       8	 134557606 ns/op	12225211 B/op	  321354 allocs/op
BenchmarkAllocateAction_MediumCluster-4        	       8	 134205558 ns/op	12225198 B/op	  321354 allocs/op
BenchmarkAllocateAction_MediumCluster-4        	       8	 133402355 ns/op	12227672 B/op	  321347 allocs/op
BenchmarkAllocateAction_LargeCluster-4         	       6	 224728378 ns/op	43126478 B/op	 1385065 allocs/op
BenchmarkAllocateAction_LargeCluster-4         	       5	 215512261 ns/op	43124886 B/op	 1385049 allocs/op
BenchmarkAllocateAction_LargeCluster-4         	       5	 221984590 ns/op	43125148 B/op	 1385047 allocs/op
BenchmarkAllocateAction_LargeCluster-4         	       5	 235291104 ns/op	43132873 B/op	 1385059 allocs/op
BenchmarkAllocateAction_LargeCluster-4         	       5	 213323921 ns/op	43131340 B/op	 1385048 allocs/op
BenchmarkAllocateAction_LargeCluster-4         	       5	 229137878 ns/op	43123328 B/op	 1385040 allocs/op
BenchmarkReclaimAction_SmallCluster-4          	      10	 103017324 ns/op	  873965 B/op	    7871 allocs/op
BenchmarkReclaimAction_SmallCluster-4          	      10	 102919577 ns/op	  883202 B/op	    7888 allocs/op
BenchmarkReclaimAction_SmallCluster-4          	      10	 103005592 ns/op	  886308 B/op	    7898 allocs/op
BenchmarkReclaimAction_SmallCluster-4          	      10	 102973409 ns/op	  890317 B/op	    7899 allocs/op
BenchmarkReclaimAction_SmallCluster-4          	      10	 102943252 ns/op	  890292 B/op	    7900 allocs/op
BenchmarkReclaimAction_SmallCluster-4          	      10	 102930288 ns/op	  890205 B/op	    7899 allocs/op
BenchmarkReclaimAction_MediumCluster-4         	      10	 105890227 ns/op	 2873338 B/op	   24541 allocs/op
BenchmarkReclaimAction_MediumCluster-4         	      10	 105618513 ns/op	 2869640 B/op	   24540 allocs/op
BenchmarkReclaimAction_MediumCluster-4         	      10	 105797334 ns/op	 2869616 B/op	   24541 allocs/op
BenchmarkReclaimAction_MediumCluster-4         	      10	 105658267 ns/op	 2873511 B/op	   24542 allocs/op
BenchmarkReclaimAction_MediumCluster-4         	      10	 105675039 ns/op	 2869722 B/op	   24541 allocs/op
BenchmarkReclaimAction_MediumCluster-4         	      10	 105672884 ns/op	 2873472 B/op	   24542 allocs/op
BenchmarkPreemptAction_SmallCluster-4          	      10	 103823771 ns/op	 1028751 B/op	   10755 allocs/op
BenchmarkPreemptAction_SmallCluster-4          	      10	 103686783 ns/op	 1028696 B/op	   10755 allocs/op
BenchmarkPreemptAction_SmallCluster-4          	      10	 103724838 ns/op	 1032669 B/op	   10756 allocs/op
BenchmarkPreemptAction_SmallCluster-4          	      10	 103593518 ns/op	 1035428 B/op	   10756 allocs/op
BenchmarkPreemptAction_SmallCluster-4          	      10	 103807022 ns/op	 1032600 B/op	   10756 allocs/op
BenchmarkPreemptAction_SmallCluster-4          	      10	 103751578 ns/op	 1032650 B/op	   10755 allocs/op
BenchmarkPreemptAction_MediumCluster-4         	       9	 113530640 ns/op	 4137065 B/op	   37136 allocs/op
BenchmarkPreemptAction_MediumCluster-4         	       9	 113062396 ns/op	 4128240 B/op	   37132 allocs/op
BenchmarkPreemptAction_MediumCluster-4         	       9	 113475090 ns/op	 4132520 B/op	   37134 allocs/op
BenchmarkPreemptAction_MediumCluster-4         	       9	 113301234 ns/op	 4132560 B/op	   37134 allocs/op
BenchmarkPreemptAction_MediumCluster-4         	       9	 113468359 ns/op	 4136861 B/op	   37135 allocs/op
BenchmarkPreemptAction_MediumCluster-4         	       9	 113534512 ns/op	 4137012 B/op	   37136 allocs/op
BenchmarkConsolidationAction_SmallCluster-4    	       9	 112817819 ns/op	 5113396 B/op	   64471 allocs/op
BenchmarkConsolidationAction_SmallCluster-4    	       9	 113006427 ns/op	 5109983 B/op	   64463 allocs/op
BenchmarkConsolidationAction_SmallCluster-4    	       9	 113049152 ns/op	 5110480 B/op	   64465 allocs/op
BenchmarkConsolidationAction_SmallCluster-4    	       9	 112860414 ns/op	 5110134 B/op	   64465 allocs/op

Main branch:

goos: linux
goarch: amd64
pkg: github.com/NVIDIA/KAI-scheduler/pkg/scheduler/actions
cpu: AMD EPYC 7763 64-Core Processor                
BenchmarkAllocateAction_SmallCluster-4         	       9	 112807454 ns/op	 2701515 B/op	   38958 allocs/op
BenchmarkAllocateAction_SmallCluster-4         	      10	 109395115 ns/op	 2681260 B/op	   38949 allocs/op
BenchmarkAllocateAction_SmallCluster-4         	      10	 109598439 ns/op	 2679643 B/op	   38941 allocs/op
BenchmarkAllocateAction_SmallCluster-4         	      10	 108956822 ns/op	 2682741 B/op	   38940 allocs/op
BenchmarkAllocateAction_SmallCluster-4         	      10	 108630744 ns/op	 2680698 B/op	   38942 allocs/op
BenchmarkAllocateAction_SmallCluster-4         	      10	 109111729 ns/op	 2681157 B/op	   38944 allocs/op
BenchmarkAllocateAction_MediumCluster-4        	       8	 140325066 ns/op	14343276 B/op	  337883 allocs/op
BenchmarkAllocateAction_MediumCluster-4        	       8	 141599180 ns/op	14356916 B/op	  337871 allocs/op
BenchmarkAllocateAction_MediumCluster-4        	       8	 140276243 ns/op	14340120 B/op	  337877 allocs/op
BenchmarkAllocateAction_MediumCluster-4        	       8	 141297334 ns/op	14339947 B/op	  337880 allocs/op
BenchmarkAllocateAction_MediumCluster-4        	       8	 138683245 ns/op	14347895 B/op	  337869 allocs/op
BenchmarkAllocateAction_MediumCluster-4        	       8	 139679826 ns/op	14352475 B/op	  337877 allocs/op
BenchmarkAllocateAction_LargeCluster-4         	       5	 237342845 ns/op	48496067 B/op	 1426785 allocs/op
BenchmarkAllocateAction_LargeCluster-4         	       5	 232379207 ns/op	48464507 B/op	 1426774 allocs/op
BenchmarkAllocateAction_LargeCluster-4         	       4	 254937822 ns/op	48464732 B/op	 1426776 allocs/op
BenchmarkAllocateAction_LargeCluster-4         	       5	 236489557 ns/op	48470673 B/op	 1426771 allocs/op
BenchmarkAllocateAction_LargeCluster-4         	       5	 246633392 ns/op	48464952 B/op	 1426774 allocs/op
BenchmarkAllocateAction_LargeCluster-4         	       5	 229580017 ns/op	48464542 B/op	 1426772 allocs/op
BenchmarkReclaimAction_SmallCluster-4          	      10	 103058843 ns/op	  881895 B/op	    7880 allocs/op
BenchmarkReclaimAction_SmallCluster-4          	      10	 103002093 ns/op	  882855 B/op	    7893 allocs/op
BenchmarkReclaimAction_SmallCluster-4          	      10	 103000072 ns/op	  890397 B/op	    7907 allocs/op
BenchmarkReclaimAction_SmallCluster-4          	      10	 102996077 ns/op	  886444 B/op	    7906 allocs/op
BenchmarkReclaimAction_SmallCluster-4          	      10	 102963953 ns/op	  886448 B/op	    7906 allocs/op
BenchmarkReclaimAction_SmallCluster-4          	      10	 103005850 ns/op	  895474 B/op	    7908 allocs/op
BenchmarkReclaimAction_MediumCluster-4         	      10	 105926716 ns/op	 2869941 B/op	   24548 allocs/op
BenchmarkReclaimAction_MediumCluster-4         	      10	 105603152 ns/op	 2869786 B/op	   24548 allocs/op
BenchmarkReclaimAction_MediumCluster-4         	      10	 105951560 ns/op	 2869799 B/op	   24548 allocs/op
BenchmarkReclaimAction_MediumCluster-4         	      10	 105769317 ns/op	 2873664 B/op	   24549 allocs/op
BenchmarkReclaimAction_MediumCluster-4         	      10	 105616645 ns/op	 2869661 B/op	   24548 allocs/op
BenchmarkReclaimAction_MediumCluster-4         	      10	 105592712 ns/op	 2873815 B/op	   24550 allocs/op
BenchmarkPreemptAction_SmallCluster-4          	      10	 103814694 ns/op	 1034242 B/op	   10962 allocs/op
BenchmarkPreemptAction_SmallCluster-4          	      10	 103775230 ns/op	 1038015 B/op	   10962 allocs/op
BenchmarkPreemptAction_SmallCluster-4          	      10	 103847225 ns/op	 1038056 B/op	   10963 allocs/op
BenchmarkPreemptAction_SmallCluster-4          	      10	 103854889 ns/op	 1038327 B/op	   10963 allocs/op
BenchmarkPreemptAction_SmallCluster-4          	      10	 103698144 ns/op	 1038012 B/op	   10962 allocs/op
BenchmarkPreemptAction_SmallCluster-4          	      10	 103763000 ns/op	 1038341 B/op	   10964 allocs/op
BenchmarkPreemptAction_MediumCluster-4         	       9	 113393563 ns/op	 4153727 B/op	   37941 allocs/op
BenchmarkPreemptAction_MediumCluster-4         	       9	 113134731 ns/op	 4153670 B/op	   37940 allocs/op
BenchmarkPreemptAction_MediumCluster-4         	       9	 113465838 ns/op	 4158031 B/op	   37942 allocs/op
BenchmarkPreemptAction_MediumCluster-4         	       9	 113426104 ns/op	 4153382 B/op	   37939 allocs/op
BenchmarkPreemptAction_MediumCluster-4         	       9	 113548712 ns/op	 4158166 B/op	   37943 allocs/op
BenchmarkPreemptAction_MediumCluster-4         	       9	 113534901 ns/op	 4158047 B/op	   37942 allocs/op
BenchmarkConsolidationAction_SmallCluster-4    	       9	 116598519 ns/op	 6373753 B/op	   74978 allocs/op
BenchmarkConsolidationAction_SmallCluster-4    	       9	 115212029 ns/op	 6374513 B/op	   74979 allocs/op
BenchmarkConsolidationAction_SmallCluster-4    	       9	 115161605 ns/op	 6373751 B/op	   74976 allocs/op
BenchmarkConsolidationAction_SmallCluster-4    	       9	 115378000 ns/op	 6382954 B/op	   74975 allocs/op

@gshaibi gshaibi enabled auto-merge (squash) January 12, 2026 10:45
@github-actions
Copy link

Merging this branch will increase overall coverage

Impacted Packages Coverage Δ 🤖
github.com/NVIDIA/KAI-scheduler/pkg/scheduler/actions/integration_tests/allocate 0.00% (ø)
github.com/NVIDIA/KAI-scheduler/pkg/scheduler/actions/utils 61.60% (+14.21%) 🎉
github.com/NVIDIA/KAI-scheduler/pkg/scheduler/cache/cluster_info/data_lister 0.00% (ø)
github.com/NVIDIA/KAI-scheduler/pkg/scheduler/test_utils 0.00% (ø)
github.com/NVIDIA/KAI-scheduler/test/e2e/suites/allocate/quota 0.00% (ø)

Coverage by file

Changed files (no unit tests)

Changed File Coverage Δ Total Covered Missed 🤖
github.com/NVIDIA/KAI-scheduler/pkg/scheduler/actions/utils/input_jobs.go 68.00% (+1.33%) 25 (+4) 17 (+3) 8 (+1) 👍
github.com/NVIDIA/KAI-scheduler/pkg/scheduler/actions/utils/job_order_by_queue.go 87.26% (+22.26%) 157 (-3) 137 (+33) 20 (-36) 🌟
github.com/NVIDIA/KAI-scheduler/pkg/scheduler/cache/cluster_info/data_lister/kubernetes_lister.go 0.00% (ø) 18 0 18
github.com/NVIDIA/KAI-scheduler/pkg/scheduler/test_utils/test_utils.go 0.00% (ø) 131 0 131
github.com/NVIDIA/KAI-scheduler/pkg/scheduler/test_utils/test_utils_builder.go 0.00% (ø) 112 (+2) 0 112 (+2)

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/NVIDIA/KAI-scheduler/pkg/scheduler/actions/integration_tests/allocate/allocate_test.go
  • github.com/NVIDIA/KAI-scheduler/pkg/scheduler/actions/utils/job_order_by_queue_test.go
  • github.com/NVIDIA/KAI-scheduler/test/e2e/suites/allocate/quota/n_level_hierarchy_test.go

@github-actions
Copy link

Merging this branch will increase overall coverage

Impacted Packages Coverage Δ 🤖
github.com/NVIDIA/KAI-scheduler/pkg/scheduler/actions/integration_tests/allocate 0.00% (ø)
github.com/NVIDIA/KAI-scheduler/pkg/scheduler/actions/utils 61.60% (+14.21%) 🎉
github.com/NVIDIA/KAI-scheduler/pkg/scheduler/cache/cluster_info/data_lister 0.00% (ø)
github.com/NVIDIA/KAI-scheduler/pkg/scheduler/test_utils 0.00% (ø)
github.com/NVIDIA/KAI-scheduler/test/e2e/suites/allocate/quota 0.00% (ø)

Coverage by file

Changed files (no unit tests)

Changed File Coverage Δ Total Covered Missed 🤖
github.com/NVIDIA/KAI-scheduler/pkg/scheduler/actions/utils/input_jobs.go 68.00% (+1.33%) 25 (+4) 17 (+3) 8 (+1) 👍
github.com/NVIDIA/KAI-scheduler/pkg/scheduler/actions/utils/job_order_by_queue.go 87.26% (+22.26%) 157 (-3) 137 (+33) 20 (-36) 🌟
github.com/NVIDIA/KAI-scheduler/pkg/scheduler/cache/cluster_info/data_lister/kubernetes_lister.go 0.00% (ø) 18 0 18
github.com/NVIDIA/KAI-scheduler/pkg/scheduler/test_utils/test_utils.go 0.00% (ø) 131 0 131
github.com/NVIDIA/KAI-scheduler/pkg/scheduler/test_utils/test_utils_builder.go 0.00% (ø) 112 (+2) 0 112 (+2)

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/NVIDIA/KAI-scheduler/pkg/scheduler/actions/integration_tests/allocate/allocate_test.go
  • github.com/NVIDIA/KAI-scheduler/pkg/scheduler/actions/utils/job_order_by_queue_test.go
  • github.com/NVIDIA/KAI-scheduler/test/e2e/suites/allocate/quota/n_level_hierarchy_test.go

@github-actions
Copy link

Merging this branch will increase overall coverage

Impacted Packages Coverage Δ 🤖
github.com/NVIDIA/KAI-scheduler/pkg/scheduler/actions/integration_tests/allocate 0.00% (ø)
github.com/NVIDIA/KAI-scheduler/pkg/scheduler/actions/utils 61.60% (+14.21%) 🎉
github.com/NVIDIA/KAI-scheduler/pkg/scheduler/cache/cluster_info/data_lister 0.00% (ø)
github.com/NVIDIA/KAI-scheduler/pkg/scheduler/test_utils 0.00% (ø)
github.com/NVIDIA/KAI-scheduler/test/e2e/suites/allocate/quota 0.00% (ø)

Coverage by file

Changed files (no unit tests)

Changed File Coverage Δ Total Covered Missed 🤖
github.com/NVIDIA/KAI-scheduler/pkg/scheduler/actions/utils/input_jobs.go 68.00% (+1.33%) 25 (+4) 17 (+3) 8 (+1) 👍
github.com/NVIDIA/KAI-scheduler/pkg/scheduler/actions/utils/job_order_by_queue.go 87.26% (+22.26%) 157 (-3) 137 (+33) 20 (-36) 🌟
github.com/NVIDIA/KAI-scheduler/pkg/scheduler/cache/cluster_info/data_lister/kubernetes_lister.go 0.00% (ø) 18 0 18
github.com/NVIDIA/KAI-scheduler/pkg/scheduler/test_utils/test_utils.go 0.00% (ø) 131 0 131
github.com/NVIDIA/KAI-scheduler/pkg/scheduler/test_utils/test_utils_builder.go 0.00% (ø) 112 (+2) 0 112 (+2)

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/NVIDIA/KAI-scheduler/pkg/scheduler/actions/integration_tests/allocate/allocate_test.go
  • github.com/NVIDIA/KAI-scheduler/pkg/scheduler/actions/utils/job_order_by_queue_test.go
  • github.com/NVIDIA/KAI-scheduler/test/e2e/suites/allocate/quota/n_level_hierarchy_test.go

@gshaibi gshaibi merged commit 6690045 into main Jan 12, 2026
8 checks passed
@gshaibi gshaibi deleted the shaibi/n-level-queue-support-complete branch January 12, 2026 14:23
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.

Cannot use top-level queues directly

2 participants