External-dns: "Removing duplicate endpoint..." log messages

Created on 14 Jun 2019  路  22Comments  路  Source: kubernetes-sigs/external-dns

I have a dev k8 cluster running with external-dns hooked up to my PowerDNS server. I'm using Traefik as the ingress controller and everything appears to be working OK. I noticed some odd log messages and just want to find out exactly what it means and to confirm is this is "normal"

First, I deployed external-dns with the following args:

--registry=txt
--txt-owner-id=my-dev1-extdns
--provider=pdns
--pdns-server=http://10.x.x.x:8081
--pdns-api-key=XXXXX
--source=ingress
--namespace=my-ns
--domain-filter=example.com
--interval=5s
--log-level=debug
--annotation-filter=mydev1-external-dns=enabled

Then I deployed an app that Traefik picked up with host label mydev1app.example.com. external-dns automatically created the record in PowerDNS, and I see the following messages in the external-dns log:

time="2019-06-14T18:41:16Z" level=debug msg="CREATE: mydev1app.example.com 0 IN A 10.x.x.5 []"
time="2019-06-14T18:41:16Z" level=debug msg="CREATE: mydev1app.example.com 0 IN TXT \"heritage=external-dns,external-dns/owner=my-dev1-extdns,external-dns/resource=ingress/my-ns/mydev1app.example.com\" []"
time="2019-06-14T18:41:16Z" level=debug msg="Zone List generated from Endpoints: [{Id:example.com. Name:example.com. Type_: Url:/api/v1/servers/localhost/zones/example.com. Kind:Master Rrsets:[{Name:mydev1app.example.com. Type_:A Ttl:300 Changetype:REPLACE Records:[{Content:10.x.x.5 Disabled:false SetPtr:false}] Comments:[]} {Name:mydev1app.example.com. Type_:TXT Ttl:300 Changetype:REPLACE Records:[{Content:\"heritage=external-dns,external-dns/owner=my-dev1-extdns,external-dns/resource=ingress/my-ns/mydev1app.example.com\" Disabled:false SetPtr:false}] Comments:[]}] Serial:2019080893 NotifiedSerial:2019080893 Masters:[] Dnssec:false Nsec3param: Nsec3narrow:false Presigned:false SoaEdit: SoaEditApi: ApiRectify:false Zone: Account: Nameservers:[]}]"
time="2019-06-14T18:41:16Z" level=debug msg="Struct for PatchZone:\n{\"id\":\"example.com.\",\"name\":\"example.com.\",\"url\":\"/api/v1/servers/localhost/zones/example.com.\",\"kind\":\"Master\",\"rrsets\":[{\"name\":\"mydev1app.example.com.\",\"type\":\"A\",\"ttl\":300,\"changetype\":\"REPLACE\",\"records\":[{\"content\":\"10.x.x.5\",\"disabled\":false}]},{\"name\":\"mydev1app.example.com.\",\"type\":\"TXT\",\"ttl\":300,\"changetype\":\"REPLACE\",\"records\":[{\"content\":\"\\\"heritage=external-dns,external-dns/owner=my-dev1-extdns,external-dns/resource=ingress/my-ns/mydev1app.example.com\\\"\",\"disabled\":false}]}],\"serial\":2019080893,\"notified_serial\":2019080893}"
time="2019-06-14T18:41:16Z" level=debug msg="Changes pushed out to PowerDNS in 85.490096ms\n"

This all looks normal and expected so far. I can resolve the app and functionality is OK. However, I then see messages about removing duplicate entries, as follows:

time="2019-06-14T18:41:21Z" level=debug msg="Endpoints generated from ingress: my-ns/mydev1app.example.com: [mydev1app.example.com 0 IN A 10.x.x.5 [] mydev1app.example.com 0 IN A 10.x.x.5 []]"
time="2019-06-14T18:41:21Z" level=debug msg="Removing duplicate endpoint mydev1app.example.com 0 IN A 10.x.x.5 []"

Why is this the case? It doesn't appear to actually remove the record, nor does it affect functionality. I've uninstalled/reinstalled external-dns on more than one cluster and I always see the same type of log messages. Is this normal, and if so, what does it mean by "removing duplicate endpoint"?

Thank you!

kinbug lifecyclrotten

Most helpful comment

I've faced with the same issue, so I checked the source code and docs. When the same domain is used in multiple paths (for example, cert-manager's spec.tls.hosts and spec.rules.host locate in one ingress object), external-dns just adds this domain multiple times to pool of endpoints and then (in other part of source code) remove the duplicates from such pool with "removing duplicate endpoint" message :)

All 22 comments

experiencing the same

Also experiencing this.

I've faced with the same issue, so I checked the source code and docs. When the same domain is used in multiple paths (for example, cert-manager's spec.tls.hosts and spec.rules.host locate in one ingress object), external-dns just adds this domain multiple times to pool of endpoints and then (in other part of source code) remove the duplicates from such pool with "removing duplicate endpoint" message :)

Exactly same thing here 馃憤

I'm also concerned. These messages are showing in debug mode in dry-run. I'm afraid to run it in non-dry run. Could you not show these messages if it's not what's going to happen?

Issues go stale after 90d of inactivity.
Mark the issue as fresh with /remove-lifecycle stale.
Stale issues rot after an additional 30d of inactivity and eventually close.

If this issue is safe to close now please do so with /close.

Send feedback to sig-testing, kubernetes/test-infra and/or fejta.
/lifecycle stale

/remove-lifecycle stale.

not stale

Stale issues rot after 30d of inactivity.
Mark the issue as fresh with /remove-lifecycle rotten.
Rotten issues close after an additional 30d of inactivity.

If this issue is safe to close now please do so with /close.

Send feedback to sig-testing, kubernetes/test-infra and/or fejta.
/lifecycle rotten

not stale /remove-lifecycle rotten

/remove-lifecycle stale

/remove-lifecycle rotten

Issues go stale after 90d of inactivity.
Mark the issue as fresh with /remove-lifecycle stale.
Stale issues rot after an additional 30d of inactivity and eventually close.

If this issue is safe to close now please do so with /close.

Send feedback to sig-testing, kubernetes/test-infra and/or fejta.
/lifecycle stale

/remove-lifecycle stale

Also experiencing this.

/kind bug

Can someone verify if this is still a problem with the newly release external-dns release v0.7.3?

seems like still an issue

As @kam1kaze already mentioned in https://github.com/kubernetes-sigs/external-dns/issues/1070#issuecomment-523645614, I think this is just an information, that external dns found this endpoint multiple times and removes the duplicates from it's update list (instead of having the same Record multiple times in it's list).
Does anyone see an issue with records not being deployed?
You can see in dry-run mode what external dns would actually add/delete later in the logs (Adding RR/Deleting RR) and everything works as expected as far as I can tell.
Also the "Removing duplicate endpoint" message is debug level, so it won't show if you don't want to know exactly whats going on inside of external dns.

Issues go stale after 90d of inactivity.
Mark the issue as fresh with /remove-lifecycle stale.
Stale issues rot after an additional 30d of inactivity and eventually close.

If this issue is safe to close now please do so with /close.

Send feedback to sig-testing, kubernetes/test-infra and/or fejta.
/lifecycle stale

Stale issues rot after 30d of inactivity.
Mark the issue as fresh with /remove-lifecycle rotten.
Rotten issues close after an additional 30d of inactivity.

If this issue is safe to close now please do so with /close.

Send feedback to sig-testing, kubernetes/test-infra and/or fejta.
/lifecycle rotten

Rotten issues close after 30d of inactivity.
Reopen the issue with /reopen.
Mark the issue as fresh with /remove-lifecycle rotten.

Send feedback to sig-testing, kubernetes/test-infra and/or fejta.
/close

@fejta-bot: Closing this issue.

In response to this:

Rotten issues close after 30d of inactivity.
Reopen the issue with /reopen.
Mark the issue as fresh with /remove-lifecycle rotten.

Send feedback to sig-testing, kubernetes/test-infra and/or fejta.
/close

Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository.

Was this page helpful?
0 / 5 - 0 ratings