Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add checkpoint support to Pulp core and file #6245

Open
wants to merge 1 commit into
base: main
Choose a base branch
from

Conversation

Moustafa-Moustafa
Copy link

This PR adds the support for checkpoints in Pulp. This is related to this proposal . Publications can be marked as checkpoints at the creation time. Checkpoint publications are served through checkpoint distributions. Each repository can have 0-n checkpoint distributions, all serving the same content (i.e. the checkpoint publications).
The change adds a new field "checkpoint" to both the Distribution and Publication models. New publication can be made checkpoint publications by setting the checkpoint field. Checkpoint distributions can be created by setting the checkpoint field on the Distribution model and will serve all checkpoint publications. It's up to plugin writers to expose the checkpoint fields on their respective serializers.
This PR also enables the checkpoint support for pulp_file.

closes #6244

@daviddavis
Copy link
Contributor

I think we need docs as part of this PR. Maybe some on how plugin writers can enable this feature for their plugins in /docs/dev/learn/subclassing and then some user docs somewhere in /docs/user somewhere.

Copy link
Member

@mdellweg mdellweg left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Sorry, this is quite a lot. But it's a huge pr also...

docs/user/guides/checkpoint.md Outdated Show resolved Hide resolved
docs/user/guides/checkpoint.md Outdated Show resolved Hide resolved
pulpcore/app/models/publication.py Outdated Show resolved Hide resolved
pulpcore/app/models/publication.py Outdated Show resolved Hide resolved
pulpcore/app/serializers/publication.py Outdated Show resolved Hide resolved
pulpcore/app/serializers/publication.py Show resolved Hide resolved
pulpcore/content/handler.py Outdated Show resolved Hide resolved
pulpcore/content/handler.py Outdated Show resolved Hide resolved
pulpcore/content/handler.py Outdated Show resolved Hide resolved
@Moustafa-Moustafa Moustafa-Moustafa force-pushed the main branch 2 times, most recently from 6f24ed7 to 9019fa5 Compare February 12, 2025 22:10
Introduce a checkpoint field for Publication and Distribution models.
Handle serving checkpoint Publications via checkpoint Distributions.
Protect checkpoint Publications' RepositoryVersions from cleanup.
Enable checkpoint support in pulp_file.

closes pulp#6244
@Moustafa-Moustafa
Copy link
Author

Sorry, this is quite a lot. But it's a huge pr also...

@mdellweg thanks for your insightful feedback, I'm confident this PR is in a better state thanks to your feedback.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Add checkpoint support to Pulp
3 participants