Skip to content
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

Post-Migration Tool: Deduplicate IP Addresses #3939

Closed
Tracked by #3938
bryanculver opened this issue Jun 16, 2023 · 1 comment · Fixed by #3986
Closed
Tracked by #3938

Post-Migration Tool: Deduplicate IP Addresses #3939

bryanculver opened this issue Jun 16, 2023 · 1 comment · Fixed by #3986
Assignees
Labels
type: feature Introduction of new or enhanced functionality to the application
Milestone

Comments

@bryanculver
Copy link
Member

bryanculver commented Jun 16, 2023

As discussed we brainstormed about a list view of IPAddress objects where host address is found in multiple Namespaces. Clicking through to that address presents a secondary list view of each IPAddress and its Namespace and parent and other important fields.

The UI for merging duplicate IPAddress objects would be something like a bulk edit view, where one can select the objects they wish to merge and the one they wish to merge into as the "primary" record, also selecting which field values to keep or merge into the "primary" record.

Consider a use-case where a user might be tracking link-local IPv4 addresses (e.g. 169.254.0.1/32) across numerous interfaces each with a unique description. Post-v2 upgrade all but one of them will likely end up spread across various "Cleanup Namespaces". The intent of this tool would be to provide a way to merge all of these back into a single record.

The underlying reason for this being that the primary goal for the v2 IPAM data migrations is to not have any data loss. The v1 data model required the creation of duplicate IPAddress objects in several cases, the most common of which would be assigning IPs to Interfaces, which in v1 was inverted where the foreign key was from IPAddress to Interface. In v2 this is inverted where there is a many-to-many from Interface to IPAddress, thereby eliminating the need to maintain duplicate IPAddress objects just so that the same host address can be assigned to multiple Interfaces.

Therefore, the thought is that if this duplication of IPs can be done, it should be done. Nuance and care will have to be considered for what to do about the case where these duplicate IPAddress objects in each Namespace may be assigned to an Interface, and may need to be swapped with a relationship to the "primary" IPAddress record as a part of the deduplication process.

@bryanculver bryanculver changed the title De-deuping IP Addresses - 3 or 4 Post-Migration Tool: Deduplicate IP Addresses Jun 16, 2023
@bryanculver bryanculver added the type: feature Introduction of new or enhanced functionality to the application label Jun 16, 2023
@bryanculver bryanculver added this to the v2.0.0 milestone Jun 16, 2023
@HanlinMiao HanlinMiao self-assigned this Jun 22, 2023
@jathanism jathanism self-assigned this Jun 22, 2023
@HanlinMiao HanlinMiao linked a pull request Jun 23, 2023 that will close this issue
21 tasks
HanlinMiao added a commit that referenced this issue Jul 1, 2023
@HanlinMiao
Copy link
Contributor

Closed by #3986

@github-actions github-actions bot locked as resolved and limited conversation to collaborators Oct 5, 2023
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
type: feature Introduction of new or enhanced functionality to the application
Projects
No open projects
Archived in project
Development

Successfully merging a pull request may close this issue.

3 participants