{"record":{"id":"5fc11f6b86182f7c","repo":"kubernetes/kops","slug":"unexpected-number-of-frontend-configs-found-for-lo","errorCode":null,"errorMessage":"unexpected number of frontend configs found for LoadBalancer %s: %d","messagePattern":"unexpected number of frontend configs found for LoadBalancer (.+?): (.+?)","errorType":"exception","errorClass":null,"httpStatus":null,"severity":"error","filePath":"upup/pkg/fi/cloudup/azuretasks/loadbalancer.go","lineNumber":178,"sourceCode":"\tfor _, v := range l {\n\t\tif *v.Name == *lb.Name {\n\t\t\tfound = v\n\t\t\tbreak\n\t\t}\n\t}\n\tif found == nil {\n\t\treturn nil, nil\n\t}\n\tif found.Properties != nil && found.Properties.ProvisioningState != nil && *found.Properties.ProvisioningState == network.ProvisioningStateFailed {\n\t\tklog.Warningf(\"found load balancer %q in failed provisioning state\", *lb.Name)\n\t\treturn nil, nil\n\t}\n\n\tlbProperties := found.Properties\n\n\tfeConfigs := lbProperties.FrontendIPConfigurations\n\tif len(feConfigs) != 1 {\n\t\treturn nil, fmt.Errorf(\"unexpected number of frontend configs found for LoadBalancer %s: %d\", *lb.Name, len(feConfigs))\n\t}\n\tfeConfig := feConfigs[0]\n\tsubnet := feConfig.Properties.Subnet\n\n\tactual := &LoadBalancer{\n\t\tName:              lb.Name,\n\t\tLifecycle:         lb.Lifecycle,\n\t\tWellKnownServices: lb.WellKnownServices,\n\t\tResourceGroup: &ResourceGroup{\n\t\t\tName: lb.ResourceGroup.Name,\n\t\t},\n\t\tExternal: to.Ptr(feConfig.Properties.PublicIPAddress != nil),\n\t\tTags:     found.Tags,\n\t}\n\tif found.SKU != nil {\n\t\tactual.SKU = fi.ValueOf(found.SKU.Name)\n\t}\n\tif subnet != nil {","sourceCodeStart":160,"sourceCodeEnd":196,"githubUrl":"https://github.com/kubernetes/kops/blob/4c8573c808a73d578c5eadc86d410646ea0b0d73/upup/pkg/fi/cloudup/azuretasks/loadbalancer.go#L160-L196","documentation":"Consistency guard while reconciling an existing Azure LoadBalancer: kOps expects exactly one frontend IP configuration on its own load balancer, and this fires when the discovered LB has zero or more than one. Typically happens when the LB was modified outside kOps or a stale/duplicated frontend config exists.","triggerScenarios":"Thrown at upup/pkg/fi/cloudup/azuretasks/loadbalancer.go:178 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":["Inspect the load balancer's frontend IP configurations in the Azure portal","Remove manually added frontend configurations or delete the LB so kOps recreates it","Ensure no other tool shares the same load balancer name"],"exampleFix":null,"handlingStrategy":"validation","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"}