{"record":{"id":"e6f9d119b033d58f","repo":"kubernetes/kops","slug":"error-creating-targetpool-v","errorCode":null,"errorMessage":"error creating TargetPool: %v","messagePattern":"error creating TargetPool: (.+?)","errorType":"exception","errorClass":null,"httpStatus":null,"severity":"error","filePath":"upup/pkg/fi/cloudup/gcetasks/targetpool.go","lineNumber":100,"sourceCode":"}\n\nfunc (_ *TargetPool) RenderGCE(t *gce.GCEAPITarget, a, e, changes *TargetPool) error {\n\tname := fi.ValueOf(e.Name)\n\n\to := &compute.TargetPool{\n\t\tName: name,\n\t}\n\n\tif a == nil {\n\t\tklog.V(4).Infof(\"Creating TargetPool %q\", o.Name)\n\n\t\top, err := t.Cloud.Compute().TargetPools().Insert(t.Cloud.Project(), t.Cloud.Region(), o)\n\t\tif err != nil {\n\t\t\treturn fmt.Errorf(\"error creating TargetPool %q: %v\", name, err)\n\t\t}\n\n\t\tif err := t.Cloud.WaitForOp(op); err != nil {\n\t\t\treturn fmt.Errorf(\"error creating TargetPool: %v\", err)\n\t\t}\n\t} else {\n\t\treturn fmt.Errorf(\"cannot apply changes to TargetPool: %v\", changes)\n\t}\n\n\treturn nil\n}\n\ntype terraformTargetPool struct {\n\tName         string                     `cty:\"name\"`\n\tHealthChecks []*terraformWriter.Literal `cty:\"health_checks\"`\n}\n\nfunc (_ *TargetPool) RenderTerraform(t *terraform.TerraformTarget, a, e, changes *TargetPool) error {\n\tname := fi.ValueOf(e.Name)\n\n\ttf := &terraformTargetPool{\n\t\tName: name,","sourceCodeStart":82,"sourceCodeEnd":118,"githubUrl":"https://github.com/kubernetes/kops/blob/4c8573c808a73d578c5eadc86d410646ea0b0d73/upup/pkg/fi/cloudup/gcetasks/targetpool.go#L82-L118","documentation":"After the TargetPool Insert call succeeds, RenderGCE waits for the GCE operation via WaitForOp; failure there is wrapped as 'error creating TargetPool: %v'. The insert was accepted but the operation did not complete successfully.","triggerScenarios":"cloud.WaitForOp(op) after TargetPools().Insert fails: the GCE operation finished with an error state (e.g. backend validation) or the polling API call errored (transient outage, auth).","commonSituations":"Transient GCP regional outage during `kops update cluster`; operation-level permission/quota issues that only appear at execution time; concurrent modifications to the same project's networking resources.","solutions":["Describe the failed operation: `gcloud compute operations describe <op> --region <region>` for the root cause","Retry `kops update cluster`; GCE target pools are idempotent to re-create attempts via kOps","Check for concurrent automation modifying the same region's resources","Verify service account quotas and permissions"],"exampleFix":null,"handlingStrategy":"retry","validationCode":null,"typeGuard":null,"tryCatchPattern":"if err := t.Cloud.WaitForOp(op); err != nil { klog.Warningf(\"insert op failed, will retry on next apply: %v\", err); return err }","preventionTips":["Check `gcloud compute operations list` for failed operations after an apply","Avoid concurrent infrastructure automation in the same project/region","Retry transient failures; kOps reconciles idempotently"],"tags":["gcp","gce","targetpool","load-balancing"],"backgroundTag":"gce-operation-wait-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"}