{"record":{"id":"b2a1ba56e74ff26a","repo":"kubernetes/kops","slug":"error-patching-subnet-w","errorCode":null,"errorMessage":"error patching Subnet: %w","messagePattern":"error patching Subnet: %w","errorType":"exception","errorClass":null,"httpStatus":null,"severity":"error","filePath":"upup/pkg/fi/cloudup/gcetasks/subnet.go","lineNumber":242,"sourceCode":"\t\t\t}\n\t\t}\n\n\t\tif !patch {\n\t\t\treturn nil\n\t\t}\n\n\t\tsubnet.SecondaryIpRanges = nil\n\t\tfor k, v := range expectedRanges {\n\t\t\tsubnet.SecondaryIpRanges = append(subnet.SecondaryIpRanges, &compute.SubnetworkSecondaryRange{\n\t\t\t\tRangeName:   k,\n\t\t\t\tIpCidrRange: v,\n\t\t\t})\n\t\t}\n\t}\n\n\tpatchOp, err := cloud.Compute().Subnetworks().Patch(cloud.Project(), cloud.Region(), subnet.Name, subnet)\n\tif err != nil {\n\t\treturn fmt.Errorf(\"error patching Subnet: %w\", err)\n\t}\n\n\tif err := cloud.WaitForOp(patchOp); err != nil {\n\t\treturn fmt.Errorf(\"error waiting for Subnet patch to complete: %w\", err)\n\t}\n\n\treturn nil\n}\n\nfunc updateStackTypeAndIPv6AccessType(cloud gce.GCECloud, e *Subnet) error {\n\t// We need to refetch to patch it\n\tsubnet, err := cloud.Compute().Subnetworks().Get(cloud.Project(), cloud.Region(), *e.Name)\n\tif err != nil {\n\t\treturn fmt.Errorf(\"error fetching subnet for patch: %w\", err)\n\t}\n\n\tsubnet.StackType = fi.ValueOf(e.StackType)\n\tsubnet.Ipv6AccessType = fi.ValueOf(e.Ipv6AccessType)","sourceCodeStart":224,"sourceCodeEnd":260,"githubUrl":"https://github.com/kubernetes/kops/blob/4c8573c808a73d578c5eadc86d410646ea0b0d73/upup/pkg/fi/cloudup/gcetasks/subnet.go#L224-L260","documentation":"Wrapped error from updateSecondaryRanges when the Subnetworks.Patch call (applying secondary-range add/remove changes) fails synchronously. The %w carries the GCE rejection — commonly a range-name conflict or overlapping CIDR in secondary ranges.","triggerScenarios":"Thrown at upup/pkg/fi/cloudup/gcetasks/subnet.go:242 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":["Inspect the wrapped error for the exact rejection reason","Ensure secondary range names and CIDRs don't conflict with existing ranges on the subnet","Fix the spec and re-run the apply"],"exampleFix":null,"handlingStrategy":"try-catch","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"}