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 = blocks

View on GitHub (pinned to 4c8573c808)

Solutions

  1. Check the DigitalOcean API token and region configuration
  2. Retry after transient API errors or rate limits
  3. 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.