Hoisting Distributed Publication to pulpcore
Nobody has claimed this yet.
- Dominant language
- Python
- Stars
- 71
- Forks
- 91
- Avg merge
- 1d 19h
- Merged PRs (30d)
- 22
Description
Hey! I've been working on hoisting the Distributed Publication feature to pulpcore (https://github.com/pulp/pulpcore/issues/7514). This was motivated by RPM requiring a solution to the same problem.
First of all I wanna hear some feedback or concerns about the initiative.
Then discuss superseeding plan, if that's ok.
Superseeding plan
I have an implementation in place with basically the same approach as the one in place here, except it handles pass-through cases (e.g, pulp_file). In pass through publications, no published artifact is involved and ContentArtifacts are matched directly.
The feature adds a core model with the same name, but with some care taken to avoid name collisions. As it's internal, we don't need to worry with API collisions. Because the content handler calls pulp_deb's content_handler customization, deb will keep using it's own implementation if no action is taken.
Given that, here are some options I could think of for superseeding:
Let $v_0$ be the pulpcore version where the feature is released.
- When deb bumps the bump pulpcore lowerbound to $>=v_0$, deb's implementation gets removed.
- Until then, deb will use it's own implementation
- The system will have doubled DistributedPublication objects. Pulpcore one will be ignored
- Very low effort
- Right now, add conditional to the code to use core's implementation if available. Then finalize with (2)
- Deb uses core implementation right away, when possible
- We might skip deb's DistributedPublication creation if core's implementation is detected (no duplicates).
- Medium effort
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 reading pulpcore issue #7514 and the linked pulp_rpm issue #4236, then inspect the existing Distributed Publication implementation in pulp_deb. Compare the proposed pulpcore implementation with the pass-through behavior and content handler customization described here. Done means agreeing on a superseding plan and documenting the migration or compatibility work required.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- python
- Domain
- distributed-systems
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Quiet
- Clarity
- Needs clarification
- Newbie friendliness
- 25/100