Broken symlinks for subrepos are created during on_demand sync of kickstart trees
1. Sync kickstart tree with on_demand policy.
2. Switch to immediate policy and re-sync.
3. Note that subrepos (HighAvailability, Addons) have broken symlinklinks because Pulp doesn't support subrepos but it seems like symlinks are still created for those during on_demand sync.
That causes Pulp to Pulp sync to fail.
Pulp should not create symlinks for the unsupported parts of kickstart trees.
Updated by ggainey over 3 years ago
- Status changed from NEW to POST
- Assignee set to ggainey
- Groomed changed from No to Yes
A script that reproduces, and shows the fix working, is here :
Updated by ggainey almost 3 years ago
- Status changed from POST to NEW
This appears to have fallen through a few cracks. The submitted PR 'fixes' the issue by fixing the links - the real problem is that subrepos aren't supported in pulp2, and the links shouldn't be there at all. Setting back to NEW, we need to address the actual problem.
Updated by ggainey over 2 years ago
- Status changed from NEW to CLOSED - WONTFIX
To unravel where we are with the bugzilla associated with this issue:
- the original (breaking) behavior reported by users, was fixed and released with redmine issue #4603. That behavior was not the problem reported in this issue.
- references to "on_demand repos have broken symlinks" in the original reports is largely 'normal behavior" - RPM symlinks are broken until the RPM has been requested, streamed to the user, and then the content moved by the streamer from its squid-cache to the 'correct' location
- RHEL6 kickstart trees have sub-repos, which Pulp2 doesn't actually support
- An on_demand RHEL6 kickstart tree will work as expected for the user. The only problem is that, for the non-RPM-content (ie, repomd.xml and friends), the streamer will return the correct content when requested, but will not move that content from its squid-cache to the appropriate location on disk.
- immediate sync kstree-repos work fine
- switching an on_demand kstree-repo to immediate and doing a --force-full works fine
The only symptom of this problem requires one to have a) on_demand sync'd b) a RHEL6 kickstart tree and c) requested the repomd.xml file of one of the subrepos therein (eg, HighAvailability, say), and then d) noticed that the symlink for that repomd.xml file is still broken after the streamer has run. The sync works, the kickstart works. If the streamer's squid-cache is deleted, then the next request for the metadata file will re-download it, since it was never moved out of the cache.
Given the low/zero impact on usability, and the place where we are in Pulp2's lifecycle, closing as WONTFIX.