kubernetes/kops · error

failed to list droplets: %v

Error message

failed to list droplets: %v

What it means

Fires in listDroplets when the DigitalOcean API call GetAllDropletsByTag fails while discovering droplets tagged for the cluster during resource listing/teardown — an API, credentials, or network failure, not an absence of droplets.

Source

Thrown at pkg/resources/digitalocean/resources.go:88

			return nil, err
		}
		for _, t := range rt {
			resourceTrackers[t.Type+":"+t.ID] = t
		}
	}

	return resourceTrackers, nil
}

func listDroplets(cloud fi.Cloud, clusterName string) ([]*resources.Resource, error) {
	c := cloud.(do.DOCloud)
	var resourceTrackers []*resources.Resource

	clusterTag := "KubernetesCluster:" + strings.ReplaceAll(clusterName, ".", "-")

	droplets, err := c.GetAllDropletsByTag(clusterTag)
	if err != nil {
		return nil, fmt.Errorf("failed to list droplets: %v", err)
	}

	for _, droplet := range droplets {
		resourceTracker := &resources.Resource{
			Name:    droplet.Name,
			ID:      strconv.Itoa(droplet.ID),
			Type:    resourceTypeDroplet,
			Deleter: deleteDroplet,
			Dumper:  dumpDroplet,
			Obj:     droplet,
		}

		resourceTrackers = append(resourceTrackers, resourceTracker)
	}

	return resourceTrackers, nil
}

View on GitHub (pinned to 4c8573c808)

Solutions

  1. Check the DigitalOcean API token and its scopes
  2. Retry after transient API/network errors or rate limiting
  3. Verify the cluster tag format (KubernetesCluster:<name with dots as dashes>)
Defensive patterns

Strategy: retry

When it happens

Trigger: Thrown at pkg/resources/digitalocean/resources.go:88 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/ea62f7f55c05ced4. Report an issue: GitHub.