kubernetes/kops · error

failed to get record IDs to delete

Error message

failed to get record IDs to delete

What it means

Wraps a failure of getRecordsByName in the DigitalOcean DNS provider: the existing records for the record-set name could not be fetched, so the changeset cannot determine which old records to delete before creating new ones. (Note the message omits the underlying error.)

Source

Thrown at dnsprovider/pkg/dnsprovider/providers/do/dns.go:399

		return true
	}

	return false
}

// ResourceRecordSet returns the associated resourceRecordSets of a changeset
func (r *resourceRecordChangeset) ResourceRecordSets() dnsprovider.ResourceRecordSets {
	return r.rrsets
}

// applyResourceRecordSet will create records of a domain as required by resourceRecordChangeset
// and delete any previously created records matching the same name.
// This is required for digitalocean since it's API does not handle record sets, but
// only individual records
func (r *resourceRecordChangeset) applyResourceRecordSet(rrset dnsprovider.ResourceRecordSet) error {
	deleteRecords, err := getRecordsByName(r.client, r.zone.Name(), rrset.Name())
	if err != nil {
		return fmt.Errorf("failed to get record IDs to delete")
	}

	for _, rrdata := range rrset.Rrdatas() {
		recordCreateRequest := &godo.DomainRecordEditRequest{
			Name: rrset.Name(),
			Data: rrdata,
			TTL:  int(rrset.Ttl()),
			Type: string(rrset.Type()),
		}
		err := createRecord(r.client, r.zone.Name(), recordCreateRequest)
		if err != nil {
			return fmt.Errorf("could not create record: %v", err)
		}
	}

	for _, record := range deleteRecords {
		err := deleteRecord(r.client, r.zone.Name(), record.ID)
		if err != nil {

View on GitHub (pinned to 4c8573c808)

Solutions

  1. Check the DigitalOcean API token and rate limits
  2. Verify the domain exists in the DO account
  3. Retry the DNS change after transient API errors
Defensive patterns

Strategy: retry

When it happens

Trigger: Thrown at dnsprovider/pkg/dnsprovider/providers/do/dns.go:399 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/817ba5ffe0542b1d. Report an issue: GitHub.