-
Notifications
You must be signed in to change notification settings - Fork 2.8k
Description
What happened:
While editing AWS weighted record identifier of an existing record, ExternalDNS creates a new record with the new identifier and deletes the old one. However the corresponding TXT record is being removed and not recreated with the new identififer, which results in ExternalDNS not managing the record anymore and leaving it in a "orphan" state.
What you expected to happen:
I expected ExternalDNS to create both the record and the corresponding TXT record with the new identifier, so that it can continue managing the record without leaving it in a "orphan" state.
How to reproduce it (as minimally and precisely as possible):
Create a weighted record with an identifier, then edit the identifier of the record. You should see that the old record is deleted and a new one is created with the new identifier, but the corresponding TXT record is removed and not recreated.
Here is the external-dns annotations used for the record:
external-dns.alpha.kubernetes.io/aws-weight: "100"
external-dns.alpha.kubernetes.io/hostname: <record>
external-dns.alpha.kubernetes.io/set-identifier: id-1then edit the identifier to id-2 and you should see the issue.
external-dns.alpha.kubernetes.io/aws-weight: "100"
external-dns.alpha.kubernetes.io/hostname: <record>
external-dns.alpha.kubernetes.io/set-identifier: id-2Here is an example of the log while editing the identifier of an existing record:
external-dns-**** external-dns {"level":"info","msg":"Desired change: DELETE cname-<record> TXT","profile":"default","time":"2026-02-09T12:56:11Z","zoneID":"/hostedzone/<zoneID>","zoneName":"<zone>."}
external-dns-**** external-dns {"level":"info","msg":"Desired change: DELETE <record> A","profile":"default","time":"2026-02-09T12:56:11Z","zoneID":"/hostedzone/<zoneID>","zoneName":"<zone>."}
external-dns-**** external-dns {"level":"info","msg":"Desired change: CREATE <record> A","profile":"default","time":"2026-02-09T12:56:11Z","zoneID":"/hostedzone/<zoneID>","zoneName":"<zone>."}
external-dns-**** external-dns {"level":"info","msg":"3 record(s) were successfully updated","profile":"default","time":"2026-02-09T12:56:11Z","zoneID":"/hostedzone/<zoneID>","zoneName":"<zone>."}
Anything else we need to know?:
N/A
Environment:
- External-DNS version (use
external-dns --version): 0.19.0 - DNS provider: AWS Route53
- Others: N/A