kubernetes/kops · error
failed to list volumes: %s
Error message
failed to list volumes: %s
What it means
listVolumes in the DigitalOcean resource tracker wraps GetAllVolumesByRegion failure during `kops delete cluster` discovery. It fires when the DO API errors while enumerating volumes in the region, aborting discovery of cluster-matched volumes (name contains the cluster name with dots replaced by dashes).
Source
Thrown at pkg/resources/digitalocean/resources.go:115
Dumper: dumpDroplet,
Obj: droplet,
}
resourceTrackers = append(resourceTrackers, resourceTracker)
}
return resourceTrackers, nil
}
func listVolumes(cloud fi.Cloud, clusterName string) ([]*resources.Resource, error) {
c := cloud.(do.DOCloud)
var resourceTrackers []*resources.Resource
volumeMatch := strings.ReplaceAll(clusterName, ".", "-")
volumes, err := c.GetAllVolumesByRegion()
if err != nil {
return nil, fmt.Errorf("failed to list volumes: %s", err)
}
for _, volume := range volumes {
if strings.Contains(volume.Name, volumeMatch) {
resourceTracker := &resources.Resource{
Name: volume.Name,
ID: volume.ID,
Type: resourceTypeVolume,
Deleter: deleteVolume,
Obj: volume,
}
var blocks []string
for _, dropletID := range volume.DropletIDs {
blocks = append(blocks, "droplet:"+strconv.Itoa(dropletID))
}
resourceTracker.Blocks = blocksView on GitHub (pinned to 4c8573c808)
Solutions
- Check the DigitalOcean API token and region configuration
- Retry after transient API errors or rate limits
- Confirm volumes exist in the expected region
Defensive patterns
Strategy: retry
When it happens
Trigger: Thrown at pkg/resources/digitalocean/resources.go:115 when the library encounters an invalid state.
Common situations: See trigger scenarios.
AI-assisted analysis of kubernetes/kops@4c8573c808 (2026-09-05).
Data as JSON: /api/errors/83e98d3c3c4d8ad9.
Report an issue: GitHub.