Task #3954
closedPrevent duplicate Package content in repos
100%
Description
Packages are unique in a repo by NEVRA. When implemented, this will cause the most recently added unique NEVRA to be kept and other duplicate NEVRA to be removed. Duplicate NEVRA could have different checksums.
[{
'model': Package,
'field_names': ['name', 'epoch', 'version', 'release', 'arch']
}]
Use a RemoveDuplicates
stage provided by pulpcore-plugin.
Related issues
Updated by daviddavis over 6 years ago
- Blocked by Story #3934: As a plugin writer, I can have a stage that removes duplicates added
Updated by daviddavis over 6 years ago
- Sprint/Milestone deleted (
Pulp 3 RPM MVP)
Updated by daviddavis about 6 years ago
- Subject changed from Remove duplicate RPM and Erratum content from repos after sync to Prevent duplicate RPM and Erratum content in repos
This isn't specific to sync. We need to handle the case where content is associated to a repo (ie via upload or copied) as well.
Updated by bmbouter about 6 years ago
- Subject changed from Prevent duplicate RPM and Erratum content in repos to Prevent duplicate Package and Erratum content in repos
- Description updated (diff)
Updated by ttereshc almost 6 years ago
- Subject changed from Prevent duplicate Package and Erratum content in repos to Prevent duplicate Package content in repos
- Description updated (diff)
- Groomed changed from No to Yes
Updated by ttereshc almost 6 years ago
- Status changed from NEW to POST
- Assignee set to ttereshc
- Sprint set to Sprint 46
Updated by bherring almost 6 years ago
- Related to Test #4297: Prevent duplicate Package content in RPM repos added
Added by ttereshc almost 6 years ago
Updated by ttereshc almost 6 years ago
- Status changed from POST to MODIFIED
- % Done changed from 0 to 100
Applied in changeset 94132db11c4fe79e4927454811d435b7beff117a.
Updated by ragbalak over 5 years ago
@Daviddavis
For testing this, do we need to have fixture that has a duplicate file with the same NEVRA. If this is the case, how do we ensure the most recently added package is the one which is present.
Or is this related to sync a repository and then try to upload the same package using single request upload. If this is the case, is this related to https://pulp.plan.io/issues/4536
Please let me know your thoughts on this.
Updated by daviddavis over 5 years ago
ragbalak, a fixture couldn't contain two packages with the same NEVRA because the filenames in the repo are based on NEVRA so the two packages couldn't both be served.
What I would do for testing probably is to have two different rpms with the same nevra but different checksums. I would upload one (package A) and then sync down the second (package B). Then you should see both in pulp and you could just check which is associated with your repo. It should be package B and only package B.
Updated by bmbouter about 5 years ago
- Status changed from MODIFIED to CLOSED - CURRENTRELEASE
Remove RPM duplicates from a repo version
closes #3954 https://pulp.plan.io/issues/3954