Add MultiRemoteDistribution support for pull-through caching with multiple remotes
Nobody has claimed this yet.
- Dominant language
- Python
- Stars
- 598
- Forks
- 168
- Avg merge
- 1d 4h
- Merged PRs (30d)
- 86
Description
Problem Statement
Currently a distribution can only point to a single remote for pull-through caching. There are use cases where a distribution needs to pull content from multiple upstream sources. A new MultiRemoteDistribution is needed that can point to multiple remotes. When the content app handles a pull-through cache request using such a distribution, it should try each remote in order until it finds one that has the requested artifact. Once found, the content should be streamed to the client and cached in Pulp.
Requirements
- Add a new
MultiRemoteDistributionmodel that can reference multiple remotes - When serving a pull-through cache request, the content app must try each remote associated with the distribution until the artifact is found
- Once a remote with the content is found, stream the artifact to the client and cache the package in Pulp
- Each plugin must be able to inherit from
MultiRemoteDistributionand implement it for its specific content type
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 tracing the existing distribution model and the content app's pull-through cache request handling. Then review how plugins inherit distribution types and how remotes are selected. Done means a MultiRemoteDistribution supports ordered remotes, streams the first matching artifact, caches it in Pulp, and can be implemented by each plugin for its content type.
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
- Quiet
- Clarity
- Mostly clear
- Newbie friendliness
- 45/100