Problem Summary
The reconcilers for InferenceObjective and InferenceModelRewrite types fail to start during EPP (Endpoint Picker) initialization, rendering these CRD types non-functional.
The issue exists in
- Gateway API Inference Extension v1.3.0
- llm-d-inference-scheduler v0.5.0
Problem Description
Impact
InferenceObjective reconciler does not start
InferenceModelRewrite reconciler does not start
- User-configured InferenceObjective and InferenceModelRewrite resources are not processed correctly by EPP
Root Cause
-
PR #1967 introduced ControllerConfig and PopulateControllerConfig to dynamically detect whether InferenceObjective and InferenceModelRewrite CRDs exist on the cluster via Discovery API, and decide whether to start the corresponding reconcilers.
-
However, PR #1967 missed a critical step: after creating controllerCfg in runner.go, it did not call PopulateControllerConfig(cfg).
-
As a result, the hasInferenceObjective and hasInferenceModelRewrites fields remained at their default value false, causing the reconcilers for InferenceObjective and InferenceModelRewrite to never be registered with the controller manager.
Affected Code Location
cmd/epp/runner/runner.go: Missing call to PopulateControllerConfig(cfg) after creating controllerCfg and before creating the manager.
Fix
PR #2300 has fixed this issue:
- Added
PopulateControllerConfig(cfg) call after NewDefaultManager in cmd/epp/runner/runner.go
- Ensures controller configuration is properly populated and validated before startup
- Allows InferenceObjective and InferenceModelRewrite CRDs to be correctly read during EPP startup
Request
Since this bug affects the functional completeness of a released version, we kindly ask the community to consider releasing a Patch Release so users can obtain the fixed stable version.
- Gateway API Inference Extension v1.3.x
- lm-d-inference-scheduler v0.5.x
Related Links
Problem Summary
The reconcilers for
InferenceObjectiveandInferenceModelRewritetypes fail to start during EPP (Endpoint Picker) initialization, rendering these CRD types non-functional.The issue exists in
Problem Description
Impact
InferenceObjectivereconciler does not startInferenceModelRewritereconciler does not startRoot Cause
PR #1967 introduced
ControllerConfigandPopulateControllerConfigto dynamically detect whether InferenceObjective and InferenceModelRewrite CRDs exist on the cluster via Discovery API, and decide whether to start the corresponding reconcilers.However, PR #1967 missed a critical step: after creating
controllerCfginrunner.go, it did not callPopulateControllerConfig(cfg).As a result, the
hasInferenceObjectiveandhasInferenceModelRewritesfields remained at their default valuefalse, causing the reconcilers for InferenceObjective and InferenceModelRewrite to never be registered with the controller manager.Affected Code Location
cmd/epp/runner/runner.go: Missing call toPopulateControllerConfig(cfg)after creatingcontrollerCfgand before creating the manager.Fix
PR #2300 has fixed this issue:
PopulateControllerConfig(cfg)call afterNewDefaultManagerincmd/epp/runner/runner.goRequest
Since this bug affects the functional completeness of a released version, we kindly ask the community to consider releasing a Patch Release so users can obtain the fixed stable version.
Related Links