Skip to content

Commit e2f398a

Browse files
committed
Provide a way to enable the PDFilter
1 parent f9e6530 commit e2f398a

File tree

1 file changed

+16
-0
lines changed

1 file changed

+16
-0
lines changed

pkg/epp/scheduling/local_config.go

+16
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,9 @@ package scheduling
1818

1919
import (
2020
"context"
21+
2122
"sigs.k8s.io/controller-runtime/pkg/log"
23+
"sigs.k8s.io/gateway-api-inference-extension/pkg/epp/scheduling/plugins/filter"
2224
"sigs.k8s.io/gateway-api-inference-extension/pkg/epp/scheduling/plugins/picker"
2325
"sigs.k8s.io/gateway-api-inference-extension/pkg/epp/scheduling/plugins/scorer"
2426
envutil "sigs.k8s.io/gateway-api-inference-extension/pkg/epp/util/env"
@@ -28,6 +30,7 @@ import (
2830
const (
2931
kvCacheScorerEnablementEnvVar = "ENABLE_KVCACHE_AWARE_SCORER"
3032
loadAwareScorerEnablementEnvVar = "ENABLE_LOAD_AWARE_SCORER"
33+
pdFilterEnablementEnvVar = "ENABLE_PD_FILTER"
3134

3235
kvCacheScorerWeightEnvVar = "KVCACHE_AWARE_SCORER_WEIGHT"
3336
loadAwareScorerWeightEnvVar = "LOAD_AWARE_SCORER_WEIGHT"
@@ -38,6 +41,7 @@ func setDefaultConfig() {
3841
// this configuration is a temporary state, it should be better streamlined.
3942
setLoadAwareScorer()
4043
setKVCacheAwareScorer()
44+
setPDFilter()
4145

4246
defaultConfig.picker = picker.NewMaxScorePicker()
4347
}
@@ -75,3 +79,15 @@ func setKVCacheAwareScorer() {
7579
defaultConfig.scorers[kvCacheScorer] = kvCacheScorerWeight
7680
loggerDebug.Info("Initialized KVCacheAwareScorer", "weight", kvCacheScorerWeight)
7781
}
82+
83+
func setPDFilter() {
84+
ctx := context.Background()
85+
loggerDebug := log.FromContext(ctx).WithName("scheduler_config").V(logutil.DEBUG)
86+
87+
if envutil.GetEnvString(pdFilterEnablementEnvVar, "false", loggerDebug) != "true" {
88+
loggerDebug.Info("Skipping PDFilter creation as it is not enabled")
89+
return
90+
}
91+
92+
defaultConfig.filters = append(defaultConfig.filters, filter.PDFilter)
93+
}

0 commit comments

Comments
 (0)