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 recordsets

View on GitHub (pinned to 4c8573c808)

Solutions

  1. Verify the zone and recordset IDs are correct
  2. Check Designate API credentials and project scoping
  3. 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.