{"record":{"id":"ad4c4c528526b7cc","repo":"kubernetes/kubernetes","slug":"failed-to-init-resourcepoolstatusrequest-controlle","errorCode":null,"errorMessage":"failed to init resourcepoolstatusrequest controller: %w","messagePattern":"failed to init resourcepoolstatusrequest controller: %w","errorType":"console","errorClass":null,"httpStatus":null,"severity":"error","filePath":"cmd/kube-controller-manager/app/resource.go","lineNumber":125,"sourceCode":"\t}\n}\n\nfunc newResourcePoolStatusRequestController(ctx context.Context, controllerContext ControllerContext, controllerName string) (Controller, error) {\n\tclient, err := controllerContext.NewClient(\"resourcepoolstatusrequest-controller\")\n\tif err != nil {\n\t\treturn nil, err\n\t}\n\n\tcontroller, err := resourcepoolstatusrequest.NewController(\n\t\tctx,\n\t\tclient,\n\t\tcontrollerContext.InformerFactory.Resource().V1alpha3().ResourcePoolStatusRequests(),\n\t\tcontrollerContext.InformerFactory.Resource().V1().ResourceSlices(),\n\t\tcontrollerContext.InformerFactory.Resource().V1().ResourceClaims(),\n\t\tcontrollerContext.InformerFactory.Resource().V1().DeviceTaintRules(),\n\t)\n\tif err != nil {\n\t\treturn nil, fmt.Errorf(\"failed to init resourcepoolstatusrequest controller: %w\", err)\n\t}\n\n\treturn newControllerLoop(func(ctx context.Context) {\n\t\tcontroller.Run(ctx, 1) // Single worker is sufficient for this controller\n\t}, controllerName), nil\n}\n","sourceCodeStart":107,"sourceCodeEnd":132,"githubUrl":"https://github.com/kubernetes/kubernetes/blob/b882c60b4023bdf09264c2d5d30a2cadebc240fb/cmd/kube-controller-manager/app/resource.go#L107-L132","documentation":"Thrown in newResourcePoolStatusRequestController (resource.go:125) when resourcepoolstatusrequest.NewController returns an error during startup. This controller (gated by DRAResourcePoolStatus feature gate) reconciles ResourcePoolStatusRequests against ResourceSlices/ResourceClaims/DeviceTaintRules informers; construction fails if those informers/APIs are unavailable or its internal validation rejects the inputs. The %w wraps the cause.","triggerScenarios":"Starting KCM with the DRAResourcePoolStatus feature gate enabled but the Resource v1alpha3 ResourcePoolStatusRequests API (or the v1 ResourceSlices/ResourceClaims/DeviceTaintRules APIs) is not served by the API server, or the informers are not registered in the shared factory.","commonSituations":"Alpha DRA feature enabled on a cluster whose API server does not yet serve the ResourcePoolStatusRequests v1alpha3 endpoint; API server/KCM version skew where the v1alpha3 group was renamed or removed; informer factory built without the resource API registered.","solutions":["Verify the API server serves ResourcePoolStatusRequests (v1alpha3) and the Resource v1 types the controller depends on.","Ensure feature-gate DRAResourcePoolStatus is enabled consistently on API server and KCM, and that the API server version matches.","Inspect the wrapped %w for the exact list/watch/registration error and resolve it.","Disable the controller if the feature is not needed: turn off the DRAResourcePoolStatus feature gate."],"exampleFix":"// before: feature on, API missing\n--feature-gates=DRAResourcePoolStatus=true\n// after\n--feature-gates=DRAResourcePoolStatus=false","handlingStrategy":"try-catch","validationCode":"// Confirm the alpha API exists before enabling DRAResourcePoolStatus\n_, err := discoveryClient.ServerResourcesForGroupVersion(\"resource.k8s.io/v1alpha3\")\nif err != nil { /* alpha API absent; keep feature gate off */ }","typeGuard":null,"tryCatchPattern":"controller, err := resourcepoolstatusrequest.NewController(ctx, client, rpsrInf, slicesInf, claimsInf, taintsInf)\nif err != nil {\n    return nil, fmt.Errorf(\"failed to init resourcepoolstatusrequest controller: %w\", err)\n}","preventionTips":["Alpha DRA features require matching alpha API server support; verify before enabling.","Avoid version skew between API server and KCM for alpha resource groups.","Turn off DRAResourcePoolStatus when the feature is not needed."],"tags":["kubernetes","go","kube-controller-manager","resourceclaim","dra","resource-pool-status","controller-init","informer","feature-gate","alpha"],"analyzedSha":"b882c60b4023bdf09264c2d5d30a2cadebc240fb","analyzedAt":"2026-08-07T04:07:48.144Z","schemaVersion":2},"datasetVersion":"2026-08-07T07:17:06.508Z"}