{"record":{"id":"24055e045a6fce60","repo":"kubernetes/kops","slug":"request-to-kops-controller-failed-w","errorCode":null,"errorMessage":"request to kops-controller failed: %w","messagePattern":"request to kops-controller failed: %w","errorType":"exception","errorClass":null,"httpStatus":null,"severity":"error","filePath":"pkg/kopscontrollerclient/client.go","lineNumber":144,"sourceCode":"\t}\n\n\tvar response *http.Response\n\tdone, err := vfs.RetryWithBackoff(backoff, func() (bool, error) {\n\t\thttpReq, reqErr := http.NewRequestWithContext(ctx, \"POST\", bootstrapURL.String(), bytes.NewReader(reqBytes))\n\t\tif reqErr != nil {\n\t\t\treturn false, reqErr\n\t\t}\n\t\thttpReq.Header.Set(\"Content-Type\", \"application/json\")\n\n\t\ttoken, tokenErr := b.Authenticator.CreateToken(reqBytes)\n\t\tif tokenErr != nil {\n\t\t\treturn false, tokenErr\n\t\t}\n\t\thttpReq.Header.Set(\"Authorization\", token)\n\n\t\tresp, doErr := b.httpClient.Do(httpReq)\n\t\tif doErr != nil {\n\t\t\treturn false, fmt.Errorf(\"request to kops-controller failed: %w\", doErr)\n\t\t}\n\n\t\tresponse = resp\n\t\treturn true, nil\n\t})\n\tif !done {\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn fmt.Errorf(\"timed out waiting for a successful response from kops-controller\")\n\t}\n\n\t// if we receive StatusConflict it means that we should exit gracefully\n\tif response.StatusCode == http.StatusConflict {\n\t\tklog.Infof(\"kops-controller returned status code %d\", response.StatusCode)\n\t\tif response.Body != nil {\n\t\t\tresponse.Body.Close()\n\t\t}","sourceCodeStart":126,"sourceCodeEnd":162,"githubUrl":"https://github.com/kubernetes/kops/blob/4c8573c808a73d578c5eadc86d410646ea0b0d73/pkg/kopscontrollerclient/client.go#L126-L162","documentation":"The POST to kops-controller's bootstrap endpoint failed at the HTTP transport layer inside the retry-with-backoff loop; each attempt wraps the transport error (connection refused, TLS failure, timeout) and the loop keeps retrying.","triggerScenarios":"Thrown at pkg/kopscontrollerclient/client.go:144 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":["Verify kops-controller is running and reachable from the node","Check TLS trust of the control-plane endpoint from the node","Inspect node-to-control-plane networking (security groups, DNS)"],"exampleFix":null,"handlingStrategy":"retry","validationCode":null,"typeGuard":null,"tryCatchPattern":null,"preventionTips":[],"tags":[],"backgroundTag":null,"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"}