@@ -40,6 +40,7 @@ import (
40
40
backendmetrics "sigs.k8s.io/gateway-api-inference-extension/pkg/epp/backend/metrics"
41
41
"sigs.k8s.io/gateway-api-inference-extension/pkg/epp/common/config/loader"
42
42
"sigs.k8s.io/gateway-api-inference-extension/pkg/epp/datastore"
43
+
43
44
// Import the latency predictor package
44
45
latencypredictor "sigs.k8s.io/gateway-api-inference-extension/pkg/epp/latencypredictorasync"
45
46
"sigs.k8s.io/gateway-api-inference-extension/pkg/epp/metrics"
@@ -93,11 +94,11 @@ var (
93
94
"refreshPrometheusMetricsInterval" ,
94
95
runserver .DefaultRefreshPrometheusMetricsInterval ,
95
96
"interval to flush prometheus metrics" )
96
- logVerbosity = flag .Int ("v" , logging .DEFAULT , "number for the log level verbosity" )
97
+ logVerbosity = flag .Int ("v" , logging .DEFAULT , "number for the log level verbosity" )
97
98
secureServing = flag .Bool (
98
99
"secureServing" , runserver .DefaultSecureServing , "Enables secure serving. Defaults to true." )
99
100
healthChecking = flag .Bool ("healthChecking" , runserver .DefaultHealthChecking , "Enables health checking" )
100
- certPath = flag .String (
101
+ certPath = flag .String (
101
102
"certPath" , "" , "The path to the certificate for secure serving. The certificate and private key files " +
102
103
"are assumed to be named tls.crt and tls.key, respectively. If not set, and secureServing is enabled, " +
103
104
"then a self-signed certificate is used." )
@@ -222,11 +223,11 @@ func (r *Runner) Run(ctx context.Context) error {
222
223
// ===================================================================
223
224
// == Latency Predictor Integration
224
225
// ===================================================================
225
- var predictor latencypredictor.PredictorInterface // Use the interface type
226
+ var predictor latencypredictor.PredictorInterface // Use the interface type
226
227
if * enableLatencyPredictor {
227
228
setupLog .Info ("Latency predictor is enabled. Initializing..." )
228
229
predictor = latencypredictor .New (latencypredictor .ConfigFromEnv (), ctrl .Log .WithName ("latency-predictor" ))
229
-
230
+
230
231
// For the runnable, you'll need to type assert back to the concrete type
231
232
concretePredictor := predictor .(* latencypredictor.Predictor )
232
233
if err := mgr .Add (runnable .NoLeaderElection (& predictorRunnable {predictor : concretePredictor })); err != nil {
@@ -235,10 +236,9 @@ func (r *Runner) Run(ctx context.Context) error {
235
236
}
236
237
} else {
237
238
setupLog .Info ("Latency predictor is disabled." )
238
- predictor = nil // This will be a true nil interface
239
+ predictor = nil // This will be a true nil interface
239
240
}
240
241
241
-
242
242
// ===================================================================
243
243
244
244
if len (* configText ) != 0 || len (* configFile ) != 0 {
@@ -281,18 +281,18 @@ func (r *Runner) Run(ctx context.Context) error {
281
281
282
282
// --- Setup ExtProc Server Runner ---
283
283
serverRunner := & runserver.ExtProcServerRunner {
284
- GrpcPort : * grpcPort ,
284
+ GrpcPort : * grpcPort ,
285
285
DestinationEndpointHintMetadataNamespace : * destinationEndpointHintMetadataNamespace ,
286
- DestinationEndpointHintKey : * destinationEndpointHintKey ,
287
- PoolNamespacedName : poolNamespacedName ,
288
- Datastore : datastore ,
289
- SecureServing : * secureServing ,
290
- HealthChecking : * healthChecking ,
291
- CertPath : * certPath ,
292
- RefreshPrometheusMetricsInterval : * refreshPrometheusMetricsInterval ,
293
- Director : director ,
294
- SaturationDetector : saturationDetector ,
295
- LatencyPredictor : predictor ,
286
+ DestinationEndpointHintKey : * destinationEndpointHintKey ,
287
+ PoolNamespacedName : poolNamespacedName ,
288
+ Datastore : datastore ,
289
+ SecureServing : * secureServing ,
290
+ HealthChecking : * healthChecking ,
291
+ CertPath : * certPath ,
292
+ RefreshPrometheusMetricsInterval : * refreshPrometheusMetricsInterval ,
293
+ Director : director ,
294
+ SaturationDetector : saturationDetector ,
295
+ LatencyPredictor : predictor ,
296
296
}
297
297
if err := serverRunner .SetupWithManager (ctx , mgr ); err != nil {
298
298
setupLog .Error (err , "Failed to setup EPP controllers" )
@@ -321,13 +321,13 @@ func (r *Runner) Run(ctx context.Context) error {
321
321
return nil
322
322
}
323
323
324
- func (r * Runner ) initializeScheduler (datastore datastore.Datastore , ) (* scheduling.Scheduler , error ) {
324
+ func (r * Runner ) initializeScheduler (datastore datastore.Datastore ) (* scheduling.Scheduler , error ) {
325
325
if r .schedulerConfig != nil {
326
- return scheduling .NewSchedulerWithConfig (datastore , r .schedulerConfig ), nil
326
+ return scheduling .NewSchedulerWithConfig (r .schedulerConfig ), nil
327
327
}
328
328
329
329
// otherwise, no one configured from outside scheduler config. use existing configuration
330
- scheduler := scheduling .NewScheduler (datastore )
330
+ scheduler := scheduling .NewScheduler ()
331
331
if schedulerV2 {
332
332
queueScorerWeight := envutil .GetEnvInt ("QUEUE_SCORE_WEIGHT" , scorer .DefaultQueueScorerWeight , setupLog )
333
333
kvCacheScorerWeight := envutil .GetEnvInt ("KV_CACHE_SCORE_WEIGHT" , scorer .DefaultKVCacheScorerWeight , setupLog )
@@ -337,7 +337,6 @@ func (r *Runner) initializeScheduler(datastore datastore.Datastore,) (*schedulin
337
337
framework .NewWeightedScorer (scorer .NewKVCacheScorer (), kvCacheScorerWeight )).
338
338
WithPicker (picker .NewMaxScorePicker ())
339
339
340
-
341
340
if prefixCacheScheduling {
342
341
prefixScorerWeight := envutil .GetEnvInt ("PREFIX_CACHE_SCORE_WEIGHT" , prefix .DefaultScorerWeight , setupLog )
343
342
if err := schedulerProfile .AddPlugins (framework .NewWeightedScorer (prefix .New (loadPrefixCacheConfig ()), prefixScorerWeight )); err != nil {
@@ -346,11 +345,11 @@ func (r *Runner) initializeScheduler(datastore datastore.Datastore,) (*schedulin
346
345
}
347
346
348
347
schedulerConfig := scheduling .NewSchedulerConfig (profile .NewSingleProfileHandler (), map [string ]* framework.SchedulerProfile {"schedulerv2" : schedulerProfile })
349
- scheduler = scheduling .NewSchedulerWithConfig (datastore , schedulerConfig )
348
+ scheduler = scheduling .NewSchedulerWithConfig (schedulerConfig )
350
349
}
351
350
352
351
if reqHeaderBasedSchedulerForTesting {
353
- scheduler = conformance_epp .NewReqHeaderBasedScheduler (datastore )
352
+ scheduler = conformance_epp .NewReqHeaderBasedScheduler ()
354
353
}
355
354
356
355
return scheduler , nil
0 commit comments