Pulp4: On Its Way?
Don't Panic!
Agenda
Introduction
Why a new version?
What are we thinking of changing?
How are we thinking of accomplishing this?
When would we start seeing this work in Pulp3?
Things To Be Considered
Key Takeaways
Q&A
Why?
Lots added to, and learned from, Pulp3-in-use
Pulp3's "REST API Promise" makes some improvements impossible
we don't want to break your workflows!
but we DO want to make Pulp better!
pulp2to3 taught us "Big Bangs Are BAD"
We want a change process that is
* Focused
* Consumable
* Repeatable
What?
The current set of "breaking changes" under consideration:
Replace use of HREFs with PRNs
Make domains required
Move RBAC policy-configuration to settings.py
Remove direct-Artifact-access from the API
Currently - That's it!
How?
Primary Consideration
"Allow for measured upgrade path"
Pulp3:
new endpoints appear as tech-preview
existing endpoints maintained for bugfixes
Pulp4:
new endpoints out of tech-preview
old endpoints exist, unmaintained
packaging versioned
Pulp3 Details:
acquires tech-preview /pulp/api/v4/*
REST endpoints
Changes, above, added to the /v4/
endpoint
APIs unaffected by these changes also become available under /v4/
/v3/
and /v4/
APIs co-exist and are maintained
/v3/
becomes "bugfixes only" (?)
Access to /v4/
happens by "normal" Pulp3 updates
Pulp4 Details
Once /v4/
is considered complete and stable:
pyPI/theforeman-RPM packages versioned
NOTE: Pulp team does not own RPM packaging :)
/v4/
declared not-tech-preview
/v3/
still available
but unmaintained
(except for emergencies??)
When?
Small list of important changes
Non-intrusive upgrade path
How about "now"?
/v4/
endpoints appear in Pulp3
Pulp4 releases
Remember: /v3/
continues to exist even once Pulp4 released!
And Then What?
Pulp5 (!):
/v3/
API removed
/v4/
moves to maintained
/v5/
becomes available
and so on …
Shows a repeatable, consumable, upgrade path
OK - What's the catch?
Need to make all plugins domain-aware
Pulp team stretched to maintain multiple API versions
The longer Pulp3 is "current", the worse this will be
Please - upgrade soon
Until then - PRs gratefully accepted :)
Things We Need To Think About
How are plugins affected?
What might a migration-helper look like?
… for people using client bindings?
… for people using pulp-glue
?
… for people making direct requests
calls?
Review
Some important changes require changing the REST API
Big Bangs are Bad
Minimizing impact on end-users a primary goal
Establishing a repeatable process is critical
DON'T PANIC !!!
Resume presentation
Pulp4: On Its Way? Don't Panic! PulpCON 2024, 2023-11-05 1430UTC Grant Gainey ( ggainey@redhat.com ) Slides can be found at https://hackmd.io/@ggainey/pulp4_proposal
{"description":"View the slide with \"Slide Mode\".","title":"Pulp4: On Its Way","contributors":"[{\"id\":\"1a6032ad-e6b7-434d-aa35-96e6ebf50256\",\"add\":4061,\"del\":712}]"}