{"record":{"id":"76ee34a9c0cfeb84","repo":"kubernetes/kops","slug":"error-registering-kops-v1alpha2-api-v","errorCode":null,"errorMessage":"error registering kops/v1alpha2 API: %v","messagePattern":"error registering kops/v1alpha2 API: (.+?)","errorType":"exception","errorClass":null,"httpStatus":null,"severity":"critical","filePath":"cmd/kops-controller/main.go","lineNumber":295,"sourceCode":"\t\t\tsetupLog.Error(err, \"registering Cluster API controllers\")\n\t\t\tos.Exit(1)\n\t\t}\n\t}\n\n\tsetupLog.Info(\"starting manager\")\n\tif err := mgr.Start(ctrl.SetupSignalHandler()); err != nil {\n\t\tsetupLog.Error(err, \"problem running manager\")\n\t\tos.Exit(1)\n\t}\n}\n\nfunc buildScheme(opt *config.Options) (*runtime.Scheme, error) {\n\tscheme := runtime.NewScheme()\n\tif err := corev1.AddToScheme(scheme); err != nil {\n\t\treturn nil, fmt.Errorf(\"error registering corev1: %v\", err)\n\t}\n\tif err := v1alpha2.AddToScheme(scheme); err != nil {\n\t\treturn nil, fmt.Errorf(\"error registering kops/v1alpha2 API: %v\", err)\n\t}\n\t// Needed so that the leader-election system can post events\n\tif err := coordinationv1.AddToScheme(scheme); err != nil {\n\t\treturn nil, fmt.Errorf(\"error registering coordinationv1: %v\", err)\n\t}\n\tif opt.CAPI.IsEnabled() {\n\t\tif err := bootstrapapi.AddToScheme(scheme); err != nil {\n\t\t\treturn nil, fmt.Errorf(\"error registering kops bootstrap cluster API: %v\", err)\n\t\t}\n\t\tif err := controlplaneapi.AddToScheme(scheme); err != nil {\n\t\t\treturn nil, fmt.Errorf(\"error registering kops control-plane cluster API: %v\", err)\n\t\t}\n\t}\n\n\treturn scheme, nil\n}\n\nfunc addNodeController(ctx context.Context, mgr manager.Manager, opt *config.Options) error {","sourceCodeStart":277,"sourceCodeEnd":313,"githubUrl":"https://github.com/kubernetes/kops/blob/4c8573c808a73d578c5eadc86d410646ea0b0d73/cmd/kops-controller/main.go#L277-L313","documentation":"buildScheme registers the kops v1alpha2 API types into the runtime scheme; this wraps v1alpha2.AddToScheme failing. As with the other scheme registrations, it is an internal setup step that only fails due to a code-generation or build inconsistency, not user input.","triggerScenarios":"v1alpha2.AddToScheme(scheme) errors — same class of failure as corev1: duplicate/incompatible registration caused by mismatched kops API package versions.","commonSituations":"Version skew between k8s.io/* dependencies and the kops API package, or a build vendoring two copies of the kops API types.","solutions":["Run `go mod tidy` / `make gomod` to reconcile module versions","Check for duplicate imports of k8s.io/kops APIs at different versions","Rebuild the binary after dependency cleanup"],"exampleFix":null,"handlingStrategy":"validation","validationCode":"if err := v1alpha2.AddToScheme(scheme); err != nil {\n\treturn nil, err\n}\n","typeGuard":null,"tryCatchPattern":null,"preventionTips":["Avoid vendoring multiple copies of the kops API package","Run `go mod tidy` / `make gomod` after upgrades","Smoke-test buildScheme in CI"],"tags":["kubernetes","scheme","startup","kops-api"],"backgroundTag":"scheme-registration-failed","analyzedSha":"4c8573c808a73d578c5eadc86d410646ea0b0d73","analyzedAt":"2026-09-05T04:13:19.212Z","contentChangedAt":"2026-09-05T04:13:19.212Z","schemaVersion":2},"datasetVersion":"2026-09-12T07:17:12.445Z"}