{"record":{"id":"1bf8589fe93eaeee","repo":"kubernetes/kops","slug":"unable-to-parse-cidr-subnet-string-q-using-q","errorCode":null,"errorMessage":"unable to parse CIDR subnet string %q using %q","messagePattern":"unable to parse CIDR subnet string %q using %q","errorType":"exception","errorClass":null,"httpStatus":null,"severity":"error","filePath":"upup/pkg/fi/utils/net.go","lineNumber":85,"sourceCode":"\tif err != nil {\n\t\treturn false\n\t}\n\n\t// Must NOT convert to IPv4\n\tif ip.To4() != nil {\n\t\treturn false\n\t}\n\n\treturn true\n}\n\n// ParseCIDRNotation parses a string in the format \"/<newSize>#<netNum>\"\n// and returns the values of <newSize> and <netNum>.\nfunc ParseCIDRNotation(subnet string) (int, int64, error) {\n\tre := regexp.MustCompile(`^/(\\d+)#([a-f0-9]+)$`)\n\ts := re.FindStringSubmatch(subnet)\n\tif len(s) != 3 {\n\t\treturn 0, 0, fmt.Errorf(\"unable to parse CIDR subnet string %q using %q\", subnet, re)\n\t}\n\n\tnewSize, err := strconv.Atoi(s[1])\n\tif err != nil {\n\t\treturn 0, 0, fmt.Errorf(\"unable to convert CIDR subnet new bits to int: %q: %v\", s[1], err)\n\t}\n\n\tnetNum, err := strconv.ParseInt(s[2], 16, 64)\n\tif err != nil {\n\t\treturn 0, 0, fmt.Errorf(\"unable to convert CIDR subnet net num to int: %q: %v\", s[2], err)\n\t}\n\n\treturn newSize, netNum, nil\n}\n\n// CIDRSubnet calculates a subnet address within given IP network address prefix.\n// Inspired by the Terraform implementation of the \"cidrsubnet\" function\n// https://www.terraform.io/docs/language/functions/cidrsubnet.html","sourceCodeStart":67,"sourceCodeEnd":103,"githubUrl":"https://github.com/kubernetes/kops/blob/4c8573c808a73d578c5eadc86d410646ea0b0d73/upup/pkg/fi/utils/net.go#L67-L103","documentation":"Error \"unable to parse CIDR subnet string %q using %q\" thrown in kubernetes/kops.","triggerScenarios":"Thrown at upup/pkg/fi/utils/net.go:85 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":[],"exampleFix":null,"handlingStrategy":null,"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"}