As a user, I can have Pulp download content for a repository version
Nobody has claimed this yet.
- Dominant language
- Python
- Stars
- 598
- Forks
- 168
- Avg merge
- 1d 4h
- Merged PRs (30d)
- 86
Description
Author: daviddavis (daviddavis)
Redmine Issue: 8324, https://pulp.plan.io/issues/8324
Problem
Consider the following use cases:
- You want to export a particular repository content but some of its content is on-demand which will cause the export to fail
- You want to lockdown your allowed content checksums but a particular repository version has remote content with undesired checksums (e.g. md5, sha1)
The current solution we recommend to users is to switch their remote to immediate and sync. This can be problematic for several reasons: maybe your repo version is old and you don't remember the remote you used to create it; maybe it was created from multiple remotes; maybe you don't want to update your remotes' policies; maybe creating a new repo version for your repo is undesirable; etc.
Pulp 2 provided this functionality (pulp-admin repo download --repo-id=zoo) and Satellite Support has asked for this in Pulp 3 so I believe there would be some value in such a feature.
Solution
I suggest we create a way that a user can trigger a download for a specific RepositoryVersion (or maybe even RepositoryVersions) so that its content gets downloaded to storage.
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start by reviewing the stated use cases, the proposed RepositoryVersion download behavior, and Pulp 2's pulp-admin repo download --repo-id=zoo reference. Determine the scope and interface needed to download content for one or more repository versions, then verify that on-demand content is stored and the described export and checksum use cases are covered.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- python
- Domain
- backend
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 25/100