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
- Check record fields for API validity
- Verify the domain exists
- 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.