kubernetes/kops · error
error deleting Disk %s: %v
Error message
error deleting Disk %s: %v
What it means
Fires in deleteGCEDisk when the Disks().Delete call fails with a non-NotFound error while tearing down a cluster disk — a permissions, dependency (disk attached), or transient API failure. NotFound is already treated as deleted.
Source
Thrown at pkg/resources/gce/gce.go:371
}
func deleteGCEDisk(cloud fi.Cloud, r *resources.Resource) error {
c := cloud.(gce.GCECloud)
t := r.Obj.(*compute.Disk)
klog.V(2).Infof("Deleting GCE Disk %s", t.SelfLink)
u, err := gce.ParseGoogleCloudURL(t.SelfLink)
if err != nil {
return err
}
op, err := c.Compute().Disks().Delete(u.Project, u.Zone, u.Name)
if err != nil {
if gce.IsNotFound(err) {
klog.Infof("Disk not found, assuming deleted: %q", t.SelfLink)
return nil
}
return fmt.Errorf("error deleting Disk %s: %v", t.SelfLink, err)
}
return c.WaitForOp(op)
}
func (d *clusterDiscoveryGCE) listTargetPools() ([]*resources.Resource, error) {
c := d.gceCloud
var resourceTrackers []*resources.Resource
ctx := context.Background()
tps, err := c.Compute().TargetPools().List(ctx, c.Project(), c.Region())
if err != nil {
return nil, fmt.Errorf("error listing TargetPools: %v", err)
}
for _, tp := range tps {View on GitHub (pinned to 4c8573c808)
Solutions
- Ensure the disk is detached from any VM before deleting, then retry
- Check compute.disks.delete permission
- Inspect the wrapped error for resourceInUseByAnotherResource dependencies
Defensive patterns
Strategy: retry
When it happens
Trigger: Thrown at pkg/resources/gce/gce.go:371 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/33632cae54a4f891.
Report an issue: GitHub.