kubernetes/kops · error
could not list server groups %v
Error message
could not list server groups %v
What it means
Error returned when listing OpenStack server groups (via servergroups.ListOpts) fails during instance-group deletion. kOps needs the group list to find the cluster's server group for cleanup; an API failure here prevents any deletion proceeding.
Source
Thrown at upup/pkg/fi/cloudup/openstack/cloud.go:676
for _, instance := range instances {
err := c.DeleteInstanceWithID(instance.ID)
if err != nil {
return fmt.Errorf("could not delete instance %q: %v", instance.ID, err)
}
}
err = deletePorts(c, g.InstanceGroup.Name, cluster.Name)
if err != nil {
return err
}
sgName := g.InstanceGroup.Name
if name, ok := g.InstanceGroup.Annotations[OS_ANNOTATION+SERVER_GROUP_NAME]; ok {
sgName = name
}
sgs, err := c.ListServerGroups(servergroups.ListOpts{})
if err != nil {
return fmt.Errorf("could not list server groups %v", err)
}
for _, sg := range sgs {
if fmt.Sprintf("%s-%s", cluster.Name, sgName) == sg.Name {
if len(sg.Members) == 0 {
err = c.DeleteServerGroup(sg.ID)
if err != nil {
return fmt.Errorf("could not delete server group %q: %v", sg.ID, err)
}
} else {
klog.Infof("Server group %q still has members (IDs: %s), delete not executed", sg.ID, strings.Join(sg.Members, ", "))
}
break
}
}
return nil
}
View on GitHub (pinned to 4c8573c808)
Solutions
- Check connectivity to the Nova compute endpoint (`openstack server group list`)
- Re-authenticate / refresh OS_* credentials
- Confirm the compute API service is healthy in the service catalog
- Retry the delete operation; list calls are retried by other paths but this one surfaces directly
Defensive patterns
Strategy: retry
Validate before calling
// preflight
_, err := novaClient.Get(novaClient.ServiceURL("os-server-groups"), nil)
if err != nil { return fmt.Errorf("nova server-groups endpoint unreachable: %v", err) } Try / catch
sgs, err := c.ListServerGroups(servergroups.ListOpts{})
if err != nil {
return fmt.Errorf("could not list server groups %v", err) // inspect wrapped cause, re-auth, retry
} Prevention
- Keep tokens fresh for long teardowns
- Verify compute endpoint health before cluster operations
- Don't strip server-groups support from a custom Nova deployment used by kOps
When it happens
Trigger: c.ListServerGroups(servergroups.ListOpts{}) returns an error: Nova compute API unreachable, auth failure, or microversion/negotiation problem with the server-groups endpoint.
Common situations: Nova endpoint misconfigured or behind a proxy that blocks the request; expired Keystone token; OpenStack cloud outage; older Nova lacking server-groups list support.
Related errors
- could not delete server group %q: %v
- error building nova client: %v
- no decernable storage availability zone could be mapped to c
- error building nova client: %w
- could not delete instance %q: %v
AI-assisted analysis of kubernetes/kops@4c8573c808 (2026-09-05).
Data as JSON: /api/errors/5c425700cff3f197.
Report an issue: GitHub.