{"record":{"id":"91816c118679d2f3","repo":"kubernetes/kops","slug":"found-multiple-server-groups-with-name-s","errorCode":null,"errorMessage":"Found multiple server groups with name %s","messagePattern":"Found multiple server groups with name (.+?)","errorType":"exception","errorClass":null,"httpStatus":null,"severity":"error","filePath":"upup/pkg/fi/cloudup/openstacktasks/servergroup.go","lineNumber":75,"sourceCode":"\tserverList, err := cloud.ListInstances(servers.ListOpts{})\n\tif err != nil {\n\t\treturn nil, fmt.Errorf(\"Failed to list servers: %v\", err)\n\t}\n\n\tserverMap := make(map[string]servers.Server)\n\tfor _, server := range serverList {\n\t\tval, ok := server.Metadata[\"k8s\"]\n\t\tif !ok || val != fi.ValueOf(s.ClusterName) {\n\t\t\tcontinue\n\t\t}\n\t\tserverMap[server.ID] = server\n\t}\n\n\tvar actual *ServerGroup\n\tfor _, serverGroup := range serverGroups {\n\t\tif serverGroup.Name == *s.Name {\n\t\t\tif actual != nil {\n\t\t\t\treturn nil, fmt.Errorf(\"Found multiple server groups with name %s\", fi.ValueOf(s.Name))\n\t\t\t}\n\t\t\tigMap := make(map[string]*int32)\n\t\t\tfor _, serverID := range serverGroup.Members {\n\t\t\t\tserver, ok := serverMap[serverID]\n\t\t\t\tif !ok {\n\t\t\t\t\treturn nil, fmt.Errorf(\"Could not find Server with id %s which is part of ServerGroup %s members\", serverID, serverGroup.Name)\n\t\t\t\t}\n\t\t\t\tigName, ok := server.Metadata[openstack.TagKopsInstanceGroup]\n\t\t\t\tif !ok {\n\t\t\t\t\tklog.Warningf(\"Could not find instancegroup metadata tag for server %s\", serverID)\n\t\t\t\t\tcontinue\n\t\t\t\t}\n\n\t\t\t\tval, ok := igMap[igName]\n\t\t\t\tif !ok {\n\t\t\t\t\tigMap[igName] = new(int32(1))\n\t\t\t\t} else {\n\t\t\t\t\tigMap[igName] = new(fi.ValueOf(val) + 1)","sourceCodeStart":57,"sourceCodeEnd":93,"githubUrl":"https://github.com/kubernetes/kops/blob/4c8573c808a73d578c5eadc86d410646ea0b0d73/upup/pkg/fi/cloudup/openstacktasks/servergroup.go#L57-L93","documentation":"More than one server group with the task's name was found. The name-to-server-group mapping must be unique; duplicates are typically leftovers from a previous cluster or manually created groups with colliding names.","triggerScenarios":"Thrown at upup/pkg/fi/cloudup/openstacktasks/servergroup.go:75 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":["List server groups (openstack server group list) and find the duplicates","Delete the stale server group","Re-run discovery once the name is unique"],"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"}