Skip to content

Commit 8543a3a

Browse files
committed
cleanup
1 parent 2b73fd6 commit 8543a3a

File tree

5 files changed

+21
-401
lines changed

5 files changed

+21
-401
lines changed

cmd/epp/main.go

+14-4
Original file line numberDiff line numberDiff line change
@@ -44,6 +44,9 @@ import (
4444
"sigs.k8s.io/gateway-api-inference-extension/pkg/epp/metrics"
4545
"sigs.k8s.io/gateway-api-inference-extension/pkg/epp/metrics/collectors"
4646
"sigs.k8s.io/gateway-api-inference-extension/pkg/epp/scheduling"
47+
"sigs.k8s.io/gateway-api-inference-extension/pkg/epp/scheduling/plugins"
48+
"sigs.k8s.io/gateway-api-inference-extension/pkg/epp/scheduling/plugins/filter"
49+
"sigs.k8s.io/gateway-api-inference-extension/pkg/epp/scheduling/plugins/picker"
4750
"sigs.k8s.io/gateway-api-inference-extension/pkg/epp/scheduling/plugins/prefix"
4851
"sigs.k8s.io/gateway-api-inference-extension/pkg/epp/scheduling/plugins/scorer"
4952
runserver "sigs.k8s.io/gateway-api-inference-extension/pkg/epp/server"
@@ -193,15 +196,22 @@ func run() error {
193196
if schedulerV2 == "true" {
194197
queueScorerWeight := envutil.GetEnvInt("QUEUE_SCORE_WEIGHT", scorer.DefaultQueueScorerWeight, setupLog)
195198
kvCacheScorerWeight := envutil.GetEnvInt("KV_CACHE_SCORE_WEIGHT", scorer.DefaultKVCacheScorerWeight, setupLog)
196-
schedConfigOpts := []scheduling.ConfigOption{
197-
scheduling.AddScorer(&scorer.QueueScorer{}, queueScorerWeight),
198-
scheduling.AddScorer(&scorer.KVCacheScorer{}, kvCacheScorerWeight),
199+
scorers := map[plugins.Scorer]int{
200+
&scorer.QueueScorer{}: queueScorerWeight,
201+
&scorer.KVCacheScorer{}: kvCacheScorerWeight,
199202
}
203+
schedConfigOpts := []scheduling.ConfigOption{}
200204
if prefixCacheScheduling == "true" {
201205
prefixScorerWeight := envutil.GetEnvInt("PREFIX_CACHE_SCORE_WEIGHT", prefix.DefaultScorerWeight, setupLog)
202206
schedConfigOpts = append(schedConfigOpts, scheduling.AddPrefixPlugin(loadPrefixCacheConfig(), prefixScorerWeight))
203207
}
204-
schedulerConfig := scheduling.CreateConfig(schedConfigOpts...)
208+
schedulerConfig := scheduling.NewSchedulerConfig(
209+
[]plugins.PreSchedule{},
210+
[]plugins.Filter{filter.NewSheddableRequestFilter()},
211+
scorers,
212+
picker.NewMaxScorePicker(),
213+
[]plugins.PostSchedule{},
214+
schedConfigOpts...)
205215
scheduler = scheduling.NewSchedulerWithConfig(datastore, schedulerConfig)
206216
}
207217
serverRunner := &runserver.ExtProcServerRunner{

pkg/epp/scheduling/config.go

+6-37
Original file line numberDiff line numberDiff line change
@@ -18,20 +18,23 @@ package scheduling
1818

1919
import (
2020
"sigs.k8s.io/gateway-api-inference-extension/pkg/epp/scheduling/plugins"
21-
"sigs.k8s.io/gateway-api-inference-extension/pkg/epp/scheduling/plugins/picker"
2221
"sigs.k8s.io/gateway-api-inference-extension/pkg/epp/scheduling/plugins/prefix"
2322
)
2423

2524
// NewSchedulerConfig creates a new SchedulerConfig object with the given plugins.
2625
func NewSchedulerConfig(preSchedulePlugins []plugins.PreSchedule, filters []plugins.Filter, scorers map[plugins.Scorer]int,
27-
picker plugins.Picker, postSchedulePlugins []plugins.PostSchedule) *SchedulerConfig {
28-
return &SchedulerConfig{
26+
picker plugins.Picker, postSchedulePlugins []plugins.PostSchedule, opts ...ConfigOption) *SchedulerConfig {
27+
config := &SchedulerConfig{
2928
preSchedulePlugins: preSchedulePlugins,
3029
filters: filters,
3130
scorers: scorers,
3231
picker: picker,
3332
postSchedulePlugins: postSchedulePlugins,
3433
}
34+
for _, opt := range opts {
35+
opt(config)
36+
}
37+
return config
3538
}
3639

3740
// SchedulerConfig provides a configuration for the scheduler which influence routing decisions.
@@ -43,42 +46,8 @@ type SchedulerConfig struct {
4346
postSchedulePlugins []plugins.PostSchedule
4447
}
4548

46-
var defPlugin = &defaultPlugin{}
47-
48-
// When the scheduler is initialized with NewScheduler function, this config will be used as default.
49-
// it's possible to call NewSchedulerWithConfig to pass a different argument.
50-
51-
// For build time plugins changes, it's recommended to change the defaultConfig variable in this file.
52-
var defaultConfig = &SchedulerConfig{
53-
preSchedulePlugins: []plugins.PreSchedule{},
54-
filters: []plugins.Filter{defPlugin},
55-
scorers: map[plugins.Scorer]int{},
56-
picker: defPlugin,
57-
postSchedulePlugins: []plugins.PostSchedule{},
58-
}
59-
60-
func CreateConfig(opts ...ConfigOption) *SchedulerConfig {
61-
config := &SchedulerConfig{
62-
preSchedulePlugins: []plugins.PreSchedule{},
63-
postSchedulePlugins: []plugins.PostSchedule{},
64-
scorers: map[plugins.Scorer]int{},
65-
filters: []plugins.Filter{&sheddableRequestFilterV2{}},
66-
picker: &picker.MaxScorePicker{},
67-
}
68-
for _, opt := range opts {
69-
opt(config)
70-
}
71-
return config
72-
}
73-
7449
type ConfigOption func(*SchedulerConfig)
7550

76-
func AddScorer(scorer plugins.Scorer, weight int) ConfigOption {
77-
return func(cfg *SchedulerConfig) {
78-
cfg.scorers[scorer] = weight
79-
}
80-
}
81-
8251
func AddPrefixPlugin(prefixConfig prefix.Config, weight int) ConfigOption {
8352
return func(cfg *SchedulerConfig) {
8453
prefixPlugin := prefix.New(prefixConfig)

pkg/epp/scheduling/plugins/filter/filter.go

-278
This file was deleted.

0 commit comments

Comments
 (0)