Skip to content

Renaming a DNSRecordSet owner name deletes the record that was just written #74

Description

@aflor024

What needs to happen

When a DNSRecordSet's owner name changes to a different spelling of the same DNS name — for example from the absolute api.example.com. to the relative api — the dnsrecordset-powerdns controller should end up with the record present in PowerDNS. Today it deletes it.

Why this matters

The record disappears from PowerDNS while the DNSRecordSet still reports Programmed=True, so the hostname returns NXDOMAIN with nothing in the resource status to indicate a problem. The reconciler has no periodic requeue, so recovery waits on the next watch event — the informer resync is 10h by default.

This is reachable in production right now. Gateway DNS moved to relative owner names shipped in network-services-operator v0.24.8, and enableDNSIntegration is on in staging and production, so every gateway-managed record undergoes exactly this rewrite once.

It also re-opens the conflict in the gateway DNS dual-write issue: deleting a CNAME and recreating it against an A/AAAA still present at the same name is the 422 that pins ControllerReconcileErrorRatioCritical high for this controller.

Desired outcome

A spelling change to an owner name that resolves to the same qualified PowerDNS name is a no-op against PowerDNS — no delete is issued, and the record stays programmed throughout.

More generally, the cleanup path never deletes a qualified RRset name that an existing DNSRecordSet still owns under some other spelling. A genuinely removed owner name must still be cleaned up.

Related

Metadata

Metadata

Assignees

Labels

bugSomething isn't working

Type

Fields

Priority

None yet

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions