Story #2846
closedAs a user, I can filter content during sync
0%
Description
Motivation¶
Pulp 's rpm repo system always syncs the entire repository, but does not include any facilities to include only, or exclude packages by some form of patterns, or list of patterns.
Workaround¶
Right now in Pulp 2 the only option to accomplish this is to make two repositories. One for the actual repository itself to feed from, and a second to copy patterns matching what's wanted to the new repo.
Use cases¶
- Repository contain large sets of packages that are never used and only a small, specific set are actually desired.
- @erenfro wrote:
This is especially an important feature I would like to see in Pulp, especially with untrusted repos out there that may replace core packages. One such example of this would be the atomic repo. While this contains the main product people would want from it, OSSEC, it also includes a lot of other core replacing packages which is not good. I've used these repos with include=ossec-*, in yum.repo files, but pulp has no means to even do that in the pulp.conf it generates on the consumers.
- kfiresmith wrote:
+1 with the caveat that we would really appreciate having a blacklist option. In one real-world example I'm coping with right now, firefox.x86_64 is the in the main "OS" repo for RHEL, but firefox.i686 is in the "Optional" repo. If Optional's repo sync succeeds but OS's fails, all hosts pulling updates will uninstall firefox.x86_64, and install firefox.i686 pulling in a ton of i686 packages and breaking PulseAudio.
This seems to happen to us relatively often, bad luck I guess.
Deliverables¶
- The importer option to specify a list of patterns for packages which should be synced
- The importer option to specify a list of patterns for packages which should not be synced
- (?) Throw error in case package is matched by both options ^
- Document new option(s)
- Feature works for any download policy
- No dep solving support expected
This story is suggested for Pulp 3.