Project

Profile

Help

Story #206

As a user, I can specify a whitelist of packages for sync

Added by mmccune@redhat.com about 4 years ago. Updated about 2 years ago.

Status:
NEW
Priority:
Normal
Assignee:
-
Category:
-
Sprint/Milestone:
-
% Done:

0%

Platform Release:
Blocks Release:
Backwards Incompatible:
No
Groomed:
No
Sprint Candidate:
No
Tags:
Complexity:
Smash Test:
Verified:
No
Verification Required:
No
Sprint:

Description

There is no way currently to apply a whitelist to a yum repository feed. There are often cases where repositories contain large sets of packages that are never used when only a small, specific set are actually desired. The user should have the ability to specify on the repo a whitelist of package names which prevent packages from being synced thus saving disk space and sync time.

This will done using a new importer option named 'whitelist' which will contain a comma separated list of package names which will be synced. This usage will not support any dependency solving. The packages from the upstream metadata that are also in the whitelist will be created as units. Packages not in the whitelist will not have unit definitions created for then. If 'whitelist' is not defined on the importer, then the whitelist will have no effect (default, download-all behavior).

The package names are expected to not specify versions. All available versions available will be downloaded.

Here is an example snippet of the importer definition:

{
    "whitelist": [
        "foo",
        "bar" 
    ]
}

At publish time, the metadata will only contain units that were imported. Therefore, any units omitted due to the whitelist won't be in the metadata or included as published content. This is true for both traditional and lazy syncing.

The total reported for downloading will also need to be correct based on the intersection of package metadata and the whitelist.


Checklist


Related issues

Blocks RPM Support - Story #1314: Extend whitelist importer option to optionally include dependencies NEW Actions

History

#2 Updated by mhrivnak over 3 years ago

  • Checklist item changed from to [ ] yum importer has a new setting that takes a list of package names, [ ] sync process only fetches rpms, srpms, and drpms with a whitelisted name
  • Subject changed from [RFE] Allow whitelist/blacklist for filtering yum repo syncs to As a user, I can specify a package name whitelist for sync
  • Platform Release set to 2.8.0
  • Groomed set to No
  • Sprint Candidate set to Yes

#4 Updated by bmbouter over 3 years ago

  • Checklist item documentation about the new feature added
  • Checklist item release note about the new feature added
  • Checklist item extending the CLI to work with the new feature added
  • Status changed from NEW to ASSIGNED
  • Assignee set to bmbouter

#5 Updated by bmbouter over 3 years ago

  • Checklist item changed from yum importer has a new setting that takes a list of package names to yum importer has a new setting named package_names that takes a list of package names
  • Checklist item changed from sync process only fetches rpms, srpms, and drpms with a whitelisted name to if package_names is set, sync only fetches rpms, srpms, and drpms with a package name on the whitelist
  • Checklist item ensure the total packages shown to be downloaded is the intersection of packages in the metadata and those on the whitelist added
  • Description updated (diff)

#6 Updated by bmbouter over 3 years ago

  • Description updated (diff)

#7 Updated by bmbouter over 3 years ago

  • Subject changed from As a user, I can specify a package name whitelist for sync to As a user, I can specify a package_names whitelist for sync
  • Description updated (diff)

#8 Updated by bmbouter over 3 years ago

  • Description updated (diff)

#9 Updated by bmbouter over 3 years ago

  • Description updated (diff)

#10 Updated by bmbouter over 3 years ago

  • Checklist item changed from yum importer has a new setting named package_names that takes a list of package names to yum importer has a new setting named whitelist that takes a list of package names
  • Checklist item changed from if package_names is set, sync only fetches rpms, srpms, and drpms with a package name on the whitelist to if whitelist is set, sync only fetches rpms, srpms, and drpms with a package name on the whitelist
  • Subject changed from As a user, I can specify a package_names whitelist for sync to As a user, I can specify a whitelist of packages for sync
  • Description updated (diff)

#11 Updated by bmbouter over 3 years ago

  • Blocks Story #1314: Extend whitelist importer option to optionally include dependencies added

#12 Updated by mhrivnak about 3 years ago

  • Checklist item ensure the whitelist can be removed added

#13 Updated by bmbouter about 3 years ago

Putting this back to NEW since I'm not actively working on it.

#14 Updated by tekknokrat about 3 years ago

  • Status changed from ASSIGNED to POST

May ask how is it done in yum_importer in current pulp versions, to resolve dependencies on sync/copy of a package list when filter rules like errata, date, name are given?

#15 Updated by bmbouter about 3 years ago

  • Status changed from POST to NEW
  • Assignee deleted (bmbouter)

Moving back to NEW without someone assigned to it.

tekknokrat wrote:

May ask how is it done in yum_importer in current pulp versions, to resolve dependencies on sync/copy of a package list when filter rules like errata, date, name are given?

This conversation would be better on pulp-list since this issue doesn't deal with dependency resolution. Would you be willing to re-ask on pulp-list?

#16 Updated by jortel@redhat.com about 3 years ago

  • Platform Release deleted (2.8.0)

#18 Updated by mhrivnak almost 3 years ago

  • Sprint Candidate changed from Yes to No

#20 Updated by kfiresmith about 2 years ago

+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.

Please register to edit this issue

Also available in: Atom PDF