99 "strconv"
1010 "strings"
1111
12+ "github.com/spf13/pflag"
1213 "golang.org/x/exp/slices"
1314
1415 "gopkg.in/yaml.v3"
@@ -22,7 +23,7 @@ import (
2223 kaiv1 "github.com/NVIDIA/KAI-scheduler/pkg/apis/kai/v1"
2324 kaiConfigUtils "github.com/NVIDIA/KAI-scheduler/pkg/operator/config"
2425 "github.com/NVIDIA/KAI-scheduler/pkg/operator/operands/common"
25- "github.com/spf13/pflag "
26+ "github.com/NVIDIA/KAI-scheduler/pkg/scheduler/conf "
2627)
2728
2829const (
@@ -125,7 +126,7 @@ func (s *SchedulerForShard) configMapForShard(
125126 APIVersion : "v1" ,
126127 }
127128 placementArguments := calculatePlacementArguments (shard .Spec .PlacementStrategy )
128- innerConfig := config {}
129+ innerConfig := conf. SchedulerConfiguration {}
129130
130131 actions := []string {"allocate" }
131132 if placementArguments [gpuResource ] != spreadStrategy && placementArguments [cpuResource ] != spreadStrategy {
@@ -135,9 +136,9 @@ func (s *SchedulerForShard) configMapForShard(
135136
136137 innerConfig .Actions = strings .Join (actions , ", " )
137138
138- innerConfig .Tiers = []tier {
139+ innerConfig .Tiers = []conf. Tier {
139140 {
140- Plugins : []plugin {
141+ Plugins : []conf. PluginOption {
141142 {Name : "predicates" },
142143 {Name : "proportion" },
143144 {Name : "priority" },
@@ -160,8 +161,8 @@ func (s *SchedulerForShard) configMapForShard(
160161
161162 innerConfig .Tiers [0 ].Plugins = append (
162163 innerConfig .Tiers [0 ].Plugins ,
163- plugin {Name : fmt .Sprintf ("gpu%s" , strings .Replace (placementArguments [gpuResource ], "bin" , "" , 1 ))},
164- plugin {
164+ conf. PluginOption {Name : fmt .Sprintf ("gpu%s" , strings .Replace (placementArguments [gpuResource ], "bin" , "" , 1 ))},
165+ conf. PluginOption {
165166 Name : "nodeplacement" ,
166167 Arguments : placementArguments ,
167168 },
@@ -170,7 +171,7 @@ func (s *SchedulerForShard) configMapForShard(
170171 if placementArguments [gpuResource ] == binpackStrategy {
171172 innerConfig .Tiers [0 ].Plugins = append (
172173 innerConfig .Tiers [0 ].Plugins ,
173- plugin {Name : "gpusharingorder" },
174+ conf. PluginOption {Name : "gpusharingorder" },
174175 )
175176 }
176177
@@ -195,7 +196,7 @@ func (s *SchedulerForShard) configMapForShard(
195196 return schedulerConfig , nil
196197}
197198
198- func validateJobDepthMap (shard * kaiv1.SchedulingShard , innerConfig config , actions []string ) error {
199+ func validateJobDepthMap (shard * kaiv1.SchedulingShard , innerConfig conf. SchedulerConfiguration , actions []string ) error {
199200 for actionToConfigure := range shard .Spec .QueueDepthPerAction {
200201 if ! slices .Contains (actions , actionToConfigure ) {
201202 return fmt .Errorf (invalidJobDepthMapError , innerConfig .Actions , actionToConfigure )
@@ -294,12 +295,12 @@ func calculatePlacementArguments(placementStrategy *kaiv1.PlacementStrategy) map
294295 }
295296}
296297
297- func addMinRuntimePluginIfNeeded (plugins * []plugin , minRuntime * kaiv1.MinRuntime ) {
298+ func addMinRuntimePluginIfNeeded (plugins * []conf. PluginOption , minRuntime * kaiv1.MinRuntime ) {
298299 if minRuntime == nil || (minRuntime .PreemptMinRuntime == nil && minRuntime .ReclaimMinRuntime == nil ) {
299300 return
300301 }
301302
302- minRuntimePlugin := plugin {Name : "minruntime" , Arguments : map [string ]string {}}
303+ minRuntimePlugin := conf. PluginOption {Name : "minruntime" , Arguments : map [string ]string {}}
303304
304305 if minRuntime .PreemptMinRuntime != nil {
305306 minRuntimePlugin .Arguments ["defaultPreemptMinRuntime" ] = * minRuntime .PreemptMinRuntime
0 commit comments