-
Notifications
You must be signed in to change notification settings - Fork 2.6k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Add NS record support #1813
Add NS record support #1813
Conversation
/assign @Raffo |
Can you add an entry a tutorial to use this feature under https://github.com/kubernetes-sigs/external-dns/tree/master/docs/tutorials ? |
a9d7424
to
e76bf30
Compare
e76bf30
to
ba46a49
Compare
@Raffo added short doc, please check it out |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Added two comments on test, change LGTM.
require.Equal(t, 6, len(endpoints)) | ||
require.Equal(t, 10, len(endpoints)) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Can you explain this change?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Also "NS" test fixture there
external-dns/provider/rcode0/rcode0_test.go
Line 327 in ba46a49
Type: "NS", |
After adding NS record support the external-dns will create +4 records: 2 NS and 2 auxiliary TXT ones with the ownership metadata
assert.ElementsMatch(records, []ovhRecord{{ID: 42, Zone: "example.org", ovhRecordFields: ovhRecordFields{SubDomain: "ovh", FieldType: "A", TTL: 10, Target: "203.0.113.42"}}}) | ||
assert.ElementsMatch(records, []ovhRecord{{ID: 42, Zone: "example.org", ovhRecordFields: ovhRecordFields{SubDomain: "ovh", FieldType: "A", TTL: 10, Target: "203.0.113.42"}}, {ID: 24, Zone: "example.org", ovhRecordFields: ovhRecordFields{SubDomain: "ovh", FieldType: "NS", TTL: 10, Target: "203.0.113.42"}}}) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Why do we need to touch a provider specific test?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I would love to not to touch it but it started to fail with NS record support because NS records are started to get created :) If you look at
external-dns/provider/ovh/ovh_test.go
Line 91 in ba46a49
client.On("Get", "/domain/zone/example.org/record/24").Return(ovhRecord{ID: 24, Zone: "example.org", ovhRecordFields: ovhRecordFields{SubDomain: "ovh", FieldType: "NS", TTL: 10, Target: "203.0.113.42"}}, nil).Once() |
/lgtm |
[APPROVALNOTIFIER] This PR is APPROVED This pull-request has been approved by: Raffo, vsychov, ytsarev The full list of commands accepted by this bot can be found here. The pull request process is described here
Needs approval from an approver in each of these files:
Approvers can indicate their approval by writing |
* Follow dependabot's https://github.com/AbsaOSS/k8gb/pull/235 * Switch to new v0.7.5 version and upstream release as Absa's implementation of NS record support (kubernetes-sigs/external-dns#1813) is included into the release
* Follow dependabot's https://github.com/AbsaOSS/k8gb/pull/235 * Switch to new v0.7.5 version and upstream release as Absa's implementation of NS record support (kubernetes-sigs/external-dns#1813) is included into the release
How is the ownership of the NS record managed in the TXT registry? Is there a single TXT record that indicates ownership of both A and NS? What if external-dns should only own the A record for a domain (or the other way around)? |
* external-dns `v0.7.6` included https://github.com/kubernetes-sigs/external-dns/pull/1915/files * Even with `--managed-record-types=A,CNAME,NS` it silently skips NS record type creation * `test.k8gb.io` NS record was staying orphaned and undeleted in reference setup configuration making an illusion that everything is properly working with route53 based zone delegation * Switch back to reliable `v0.7.5` where NS record support was introduced at kubernetes-sigs/external-dns#1813 Signed-off-by: Yury Tsarev <[email protected]>
* external-dns `v0.7.6` included https://github.com/kubernetes-sigs/external-dns/pull/1915/files * Even with `--managed-record-types=A,CNAME,NS` it silently skips NS record type creation * `test.k8gb.io` NS record was staying orphaned and undeleted in reference setup configuration making an illusion that everything is properly working with route53 based zone delegation * Switch back to reliable `v0.7.5` where NS record support was introduced at kubernetes-sigs/external-dns#1813 Signed-off-by: Yury Tsarev <[email protected]>
Description
Add
NS
record support.End-to-end tested with
crd
source andaws
provider.Partially fixes #1647
Checklist