kubernetes/kops · error

error creating record: %v

Error message

error creating record: %v

What it means

createRecord wraps the godo Domains.CreateRecord error. It fires when DigitalOcean rejects the record creation request for a zone — invalid record data, duplicate record, quota, or auth failure — and is surfaced through applyResourceRecordSet.

Source

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

	// so normalize record by removing it
	normalizedRecordName := strings.TrimSuffix(recordName, ".")
	normalizedRecordName = strings.TrimSuffix(normalizedRecordName, "."+zoneName)

	var recordsByName []godo.DomainRecord
	for _, record := range records {
		if record.Name == normalizedRecordName {
			recordsByName = append(recordsByName, record)
		}
	}

	return recordsByName, nil
}

// createRecord creates a record given an associated zone and a godo.DomainRecordEditRequest
func createRecord(c *godo.Client, zoneName string, createRequest *godo.DomainRecordEditRequest) error {
	_, _, err := c.Domains.CreateRecord(context.TODO(), zoneName, createRequest)
	if err != nil {
		return fmt.Errorf("error creating record: %v", err)
	}

	return nil
}

// deleteRecord deletes a record given an associated zone and a record ID
func deleteRecord(c *godo.Client, zoneName string, recordID int) error {
	_, err := c.Domains.DeleteRecord(context.TODO(), zoneName, recordID)
	if err != nil {
		return fmt.Errorf("error deleting record: %v", err)
	}

	return nil
}

View on GitHub (pinned to 4c8573c808)

Solutions

  1. Check record fields for API validity
  2. Verify the domain exists
  3. Retry after transient API failures
Defensive patterns

Strategy: retry

When it happens

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