-
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
feat(txt-registry): deprecate legacy txt-format #5172
base: master
Are you sure you want to change the base?
Conversation
Signed-off-by: ivan katliarchuk <[email protected]>
Signed-off-by: ivan katliarchuk <[email protected]>
/label tide/merge-method-squash |
/kind cleanup |
Signed-off-by: ivan katliarchuk <[email protected]>
Signed-off-by: ivan katliarchuk <[email protected]>
Signed-off-by: ivan katliarchuk <[email protected]>
Signed-off-by: ivan katliarchuk <[email protected]>
Signed-off-by: ivan katliarchuk <[email protected]>
Signed-off-by: ivan katliarchuk <[email protected]>
Signed-off-by: ivan katliarchuk <[email protected]>
Signed-off-by: ivan katliarchuk <[email protected]>
Signed-off-by: ivan katliarchuk <[email protected]>
Signed-off-by: ivan katliarchuk <[email protected]>
Co-authored-by: Michel Loiseleur <[email protected]>
@ivankatliarchuk This PR lgtm. I left a last suggestion in order to reduce sentence length (and so increase readability). @mrozentsvayg We need a second review before merge. Do you think you can review this PR ? |
Co-authored-by: Michel Loiseleur <[email protected]>
There are several concerns regarding the registry implementation. While reducing number of unneeded records is great, I don't think that this PR would make any of it worse. Regarding the review part of the PR, it seems we no longer need the existing Also, if we are not planning to add more providers support to the script, would it be a good idea to add |
Signed-off-by: ivan katliarchuk <[email protected]>
…into feat-txt-registry * refs/remotes/origin/feat-txt-registry: feat(txt-registry): deprecate legacy txt-format feat(txt-registry): deprecate legacy txt-format
Signed-off-by: ivan katliarchuk <[email protected]>
Thanks. So the changes are
Removing legacy TXT records is not required, and this is optional operation that is already documented My personal opinion, TXT record type is a registry is a wrong idea on it's own. Not flexible at all. |
Could you share exact wording pls what to add to README. Also, would you be open to creating a TXT registry best practices page or section? |
I would suggest something like: Note:
Sure, there is no specific/pressing timeline for that, is there?
Right, but we need an alternative. If you're not using AWS, the TXT registry is the only way to manage the same zone with multi-cluster and sync policies. |
Indeed, not timeline
Agree, at the moment there is no compensation. I'll will try to create a proposal for provider agnostic registry, but it may take months to get approval and implemente a solution. |
Signed-off-by: ivan katliarchuk <[email protected]>
Added to |
This is a compensation for TXT registry #4598. It does require a short proposal https://github.com/kubernetes-sigs/external-dns/tree/master/docs/proposal, but in reality, as long as external-dns is running on kubernetes, it should just work. Another option is alternatvie registry issue #4998 |
@mrozentsvayg any chance you lgtm if anything is fine? |
I didn't realize my status allows me to lgtm the PRs :) Golang changes lgtm, but please let me know if you would like me to go over the python script as well. |
Yeah this python script is just a helper. Up to you. Contributors could do lgtm |
This pr could w8 if you have plans to run e-2-e tests |
This seems like a very strange decision to me. We use external dns to manage dns records with automation, so we don't have manual maintenance of dns. External dns stores ownership information in txt records automatically. External dns migrates to a new storage format. Now users are left manually cleaning up old ownership information. This creates an enormous amount of manual cleanup for thousands of users. Externaldns can already clean up the old style txt records when the a records are deleted, why would externaldns not clean them up when the new flag introduced in #4946 is enabled? Externaldns clearly knows the format of the old style txt records still. |
This project is 100% community driven. I agree with you that would be far better if we collectively manage to reach this stage. I'm unsure if we can do it, if the implementation is really that easy. Feel free to open a PR. |
I'm not saying it's that easy, I have no experience in this area of external-dns. I'm saying that there must already be a mechanism to identify and removal the old style txt records, by virtue of external-dns already doing this, so I extrapolate that it must be possible. I am questioning why the previous pull request was accepted without an automatic migration scenario, and I am cautioning to not accept this pull request without first adding an automatic migration, because it places a great manual maintenance burden on end users. That would be antithesis to the whole purpose of this project. The only time to be able to introduce this, is before this pull request is merged. After this pull request external-dns will no longer recognize the old format so external-dns will not itself be able to remove the old format records. Or am I missing something? |
I do not think you understand the complexity of what you are saying. There is no way to reliably and safely automatically cleanup legacy TXT records. Just try to explain how would you do that for all providers and different combinations with prefix, with suffix, and etc. One week is enough for you to came up with the idea and examples in other languages like python, we could add them to scripts? One of the issues with legacy and current TXT formats is that, they created with the intention to be removed manually. Just go over issues and pull requests. There is a design flow in both of the formats. Example proposal for new formats #4624 (comment) to have a version. Without that, the only way to cleanup TXT records now, is to remove ALL records and recreate all of the records again. If I have a solution, it will be already out, but I do not see one, and having dangling TXT records is not a risk but inconvenience |
The author of the new format saw the possibility of cleaning up the old registry records here: 25c7cb2 Although some of the code changed since then, this line still suggest the clean up can be done there. |
Ok, so in this case. When you have different owner ids. So here is an issue. Legacy format has one owner ID, then for non legacy to have another owner ID, all records needs to be recreated...... Of course is easy to cleanup in that case but with the downtime. |
which case is that one? changing owner id is not even supported by external-dns EDIT: |
I'm sorry, I'm not entirely clear on what's being asked. The issue is that I haven't discovered a reliable way to automate legacy TXT record deletions without downtimes. That's why it's not in this pull request. If someone knows how to automate this, nothing wrong to open a pull request with proposed functionality. |
Description
TODO:
Checklist
Executed on real cluster with arguments
Without change, records current and old format created
With the change. New format records created, letagcy TXT records left untouched