kubernetes/kops · error
failed to delete dns recordset: %s
Error message
failed to delete dns recordset: %s
What it means
deleteDNSRecordset wraps the gophercloud recordsets.Delete ExtractErr failure when removing a recordset from a Designate zone. It fires when the Designate API rejects the delete (not found, auth, conflict) and is retried with backoff before surfacing.
Source
Thrown at upup/pkg/fi/cloudup/openstack/dns.go:62
return false, fmt.Errorf("failed to extract dns zone pages: %s", err)
}
zs = r
return true, nil
})
if err != nil {
return zs, err
} else if done {
return zs, nil
} else {
return zs, wait.ErrWaitTimeout
}
}
func deleteDNSRecordset(c OpenstackCloud, zoneID string, rrsetID string) error {
done, err := vfs.RetryWithBackoff(writeBackoff, func() (bool, error) {
err := recordsets.Delete(context.TODO(), c.DNSClient(), zoneID, rrsetID).ExtractErr()
if err != nil {
return false, fmt.Errorf("failed to delete dns recordset: %s", err)
}
return true, nil
})
if err != nil {
return err
} else if done {
return nil
} else {
return wait.ErrWaitTimeout
}
}
// DeleteDNSRecordset will delete single DNS recordset in zone
func (c *openstackCloud) DeleteDNSRecordset(zoneID string, rrsetID string) error {
return deleteDNSRecordset(c, zoneID, rrsetID)
}
// ListDNSRecordsets will list DNS recordsetsView on GitHub (pinned to 4c8573c808)
Solutions
- Verify the zone and recordset IDs are correct
- Check Designate API credentials and project scoping
- Retry on transient conflicts; the caller already retries with backoff
Defensive patterns
Strategy: retry
When it happens
Trigger: Thrown at upup/pkg/fi/cloudup/openstack/dns.go:62 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/85954ff670212ab3.
Report an issue: GitHub.