kubernetes/kops · error

failed to apply resource record set: %w

Error message

failed to apply resource record set: %w

What it means

Scaleway resourceRecordChangeset.Apply wraps a failure of UpdateDNSZoneRecords, the single batched call that applies all additions/removals/upserts of a changeset. It fires when the Scaleway API rejects the change batch (invalid record data, concurrent modification, auth) — the whole changeset fails atomically.

Source

Thrown at dnsprovider/pkg/dnsprovider/providers/scaleway/dns.go:388

		}
	}
	if len(r.additions) > 0 {
		for _, rrset := range r.additions {
			changeBatch = putRecordToAddInChangeBatch(changeBatch, rrset, r.zone.Name())
		}
	}
	if len(r.removals) > 0 {
		for _, rrset := range r.removals {
			changeBatch = putRecordToDeleteInChangeBatch(changeBatch, rrset, r.zone.Name(), records)
		}
	}

	_, err = r.domainAPI.UpdateDNSZoneRecords(&domain.UpdateDNSZoneRecordsRequest{
		DNSZone: r.zone.Name(),
		Changes: changeBatch,
	}, scw.WithContext(ctx))
	if err != nil {
		return fmt.Errorf("failed to apply resource record set: %w", err)
	}

	klog.V(2).Info("record change sets successfully applied")
	return nil
}

// IsEmpty returns true if a changeset is empty, false otherwise
func (r *resourceRecordChangeset) IsEmpty() bool {
	if len(r.additions) == 0 && len(r.removals) == 0 && len(r.upserts) == 0 {
		return true
	}

	return false
}

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

View on GitHub (pinned to 4c8573c808)

Solutions

  1. Check Scaleway credentials and DNS quota
  2. Verify the zone exists
  3. Retry the apply after transient errors
Defensive patterns

Strategy: retry

When it happens

Trigger: Thrown at dnsprovider/pkg/dnsprovider/providers/scaleway/dns.go:388 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/1d5e5a5b95717ef3. Report an issue: GitHub.