Issue #2773
closedISO repo does not handle updates to files on manifest during re-sync correctly
Description
Copied from Bugzilla thanks to Craig Donnelly:
Description of problem:
Currently, if you generate a PULP_MANIFEST and sync from another location via URL, you will receive the files in the Manifest and they will become locally available, but if you UPDATE a file that has already been imported and regenerate the PULP_MANIFEST, then sync again, Pulp's versions of the manifest will have a duplicate file name entry with separate sha256sums and sizes, but will not retrieve the new file (It will maintain the original in the repo).
Version-Release number of selected component (if applicable):
pulp-server-2.9.3-2.el7sat.noarch
How reproducible:
100%
Steps to Reproduce:
1. Generate PULP_MANIFEST and sync a File repo from a http based URL
2. Make a change to a file (text file, etc..), but DO NOT change the file NAME.
3. Re-Generate the PULP_MANIFEST for the remote file repo, and then re-sync on Satellite.
Actual results:
File that was modified will have two entries on the PULP_MANIFEST inside the local Satellite copy of the repo with separate sha256sums and sizes, but identical name, and only the original copy of the file prior to editing will exist in the repo.
Expected results:
We should replace original file with the newest checksum. (Act like mirror-on-sync?)
Additional info:
Perhaps the File repo type should be able to determine the time of PULP_MANIFEST generation and make a determination about what should exist based off of that? (i.e. Include a date inside the PULP_MANIFEST on creation)
Related issues
Fixing dupe ISO units after file update
Fixing a bug whereby a ISO or file gets updated and then reimported into pulp by sync or upload. We're now disassociating the original content unit and replacing it with the new one. Matching on the name of the unit.
fixes #2773 https://pulp.plan.io/issues/2773