{"record":{"id":"8ecf3f542c43a134","repo":"kubernetes/kops","slug":"error-creating-subnet-v-8ecf3f","errorCode":null,"errorMessage":"error creating Subnet: %v","messagePattern":"error creating Subnet: (.+?)","errorType":"exception","errorClass":null,"httpStatus":null,"severity":"error","filePath":"upup/pkg/fi/cloudup/gcetasks/subnet.go","lineNumber":144,"sourceCode":"\n\t\tsubnet := &compute.Subnetwork{\n\t\t\tIpCidrRange:    fi.ValueOf(e.CIDR),\n\t\t\tName:           *e.Name,\n\t\t\tNetwork:        e.Network.URL(project),\n\t\t\tStackType:      fi.ValueOf(e.StackType),\n\t\t\tIpv6AccessType: fi.ValueOf(e.Ipv6AccessType),\n\t\t}\n\n\t\tfor k, v := range e.SecondaryIpRanges {\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\n\t\top, err := cloud.Compute().Subnetworks().Insert(t.Cloud.Project(), t.Cloud.Region(), subnet)\n\t\tif err != nil {\n\t\t\treturn fmt.Errorf(\"error creating Subnet: %v\", err)\n\t\t}\n\t\tif err := t.Cloud.WaitForOp(op); err != nil {\n\t\t\treturn fmt.Errorf(\"error waiting for Subnet creation to complete: %w\", err)\n\t\t}\n\t} else {\n\t\tif changes.SecondaryIpRanges != nil {\n\t\t\t// Update is split into two calls as GCE does not allow us to add and remove ranges in the same call\n\t\t\tif err := updateSecondaryRanges(cloud, \"add\", e); err != nil {\n\t\t\t\treturn err\n\t\t\t}\n\n\t\t\tif !shared {\n\t\t\t\tif err := updateSecondaryRanges(cloud, \"remove\", e); err != nil {\n\t\t\t\t\treturn err\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tchanges.SecondaryIpRanges = nil","sourceCodeStart":126,"sourceCodeEnd":162,"githubUrl":"https://github.com/kubernetes/kops/blob/4c8573c808a73d578c5eadc86d410646ea0b0d73/upup/pkg/fi/cloudup/gcetasks/subnet.go#L126-L162","documentation":"Wrapped error from Subnet.RenderGCE when the synchronous Subnetworks.Insert call fails for a new subnet (a == nil). GCE rejected the create — common causes are CIDR overlap with another subnet, invalid StackType/secondary ranges, or a bad network self-link.","triggerScenarios":"Thrown at upup/pkg/fi/cloudup/gcetasks/subnet.go:144 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":["Read the wrapped API error for the rejection reason","Check that the subnet CIDR (and secondary ranges) do not overlap existing ranges in the network","Verify StackType/Ipv6AccessType values and the referenced network, then re-run"],"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-12T12:17:11.808Z"}