@@ -18,7 +18,9 @@ package scheduling
18
18
19
19
import (
20
20
"context"
21
+
21
22
"sigs.k8s.io/controller-runtime/pkg/log"
23
+ "sigs.k8s.io/gateway-api-inference-extension/pkg/epp/scheduling/plugins/filter"
22
24
"sigs.k8s.io/gateway-api-inference-extension/pkg/epp/scheduling/plugins/picker"
23
25
"sigs.k8s.io/gateway-api-inference-extension/pkg/epp/scheduling/plugins/scorer"
24
26
envutil "sigs.k8s.io/gateway-api-inference-extension/pkg/epp/util/env"
@@ -28,6 +30,7 @@ import (
28
30
const (
29
31
kvCacheScorerEnablementEnvVar = "ENABLE_KVCACHE_AWARE_SCORER"
30
32
loadAwareScorerEnablementEnvVar = "ENABLE_LOAD_AWARE_SCORER"
33
+ pdFilterEnablementEnvVar = "ENABLE_PD_FILTER"
31
34
32
35
kvCacheScorerWeightEnvVar = "KVCACHE_AWARE_SCORER_WEIGHT"
33
36
loadAwareScorerWeightEnvVar = "LOAD_AWARE_SCORER_WEIGHT"
@@ -38,6 +41,7 @@ func setDefaultConfig() {
38
41
// this configuration is a temporary state, it should be better streamlined.
39
42
setLoadAwareScorer ()
40
43
setKVCacheAwareScorer ()
44
+ setPDFilter ()
41
45
42
46
defaultConfig .picker = picker .NewMaxScorePicker ()
43
47
}
@@ -75,3 +79,15 @@ func setKVCacheAwareScorer() {
75
79
defaultConfig .scorers [kvCacheScorer ] = kvCacheScorerWeight
76
80
loggerDebug .Info ("Initialized KVCacheAwareScorer" , "weight" , kvCacheScorerWeight )
77
81
}
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