-
Notifications
You must be signed in to change notification settings - Fork 101
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
Cleanup old NS name format #543
Conversation
We changed nameserver name format, but for migration puposes we need to take care and drop entries with an old format. Each cluster will take care of its own entries. Signed-off-by: Dinar Valeev <[email protected]>
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.
Hey @k0da , thanks for the PR. The implemented mechanism filters the original NS names from the EdgeDNS returned records per each reconciliation. The code looks good but I would consider different approach.
The problem I see is that the records will remain in EdgeDNS forever. Imagine someone without knowing the context will go through infoblox records and will ask why all of them are there?? Similarly, the filtering mechanism remaining in the code forever, which without knowing the historical context will confuse contributors.
Maybe it would be better to consider the migration as a separate k8gb class / package, which would contain the current and future migrations (separation of concerns).
The migrations would be run once when the application is started (or redeployed) and would make permanent changes.
Now we have chain:
read config -> logger -> reconciler + scheme builder -> provider -> start operator
So we can extend it like this:
read config -> logger -> reconciler + scheme builder -> provider -> migration (at this point we have everything important) -> start operator
I understand that the change I'm describing requires a bit more coding, although the result will be exactly the same, but in the long run we will find it easier to keep the system migration together.
I see your concern. But cleaning up old naming should go away in one release. We don't have anything else yet to put into "migration machinery". This affects only infoblox implementation. The rest is handled by DNSEndpoint NS object, which shouldn't be affected by this. |
approving based on plan we made during meeting, good job @k0da ! |
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.
@somaritane yeah |
@somaritane , sure, thx. Let's keep it blocked/closed pls to not accidently push into master.. |
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.
After discussion, we agreed to merge it in with the long term strategy of removal of clean up code as part of the 0.9 release/milestone
we agreed to proceed with the merge with further code deprecation
We changed nameserver name format, but for migration puposes we need to
take care and drop entries with an old format. Each cluster will take
care of its own entries.
Signed-off-by: Dinar Valeev [email protected]