The "prn" will be the only way to reference an object in Pulp.
Goal: To convert all non domain-enabled installations to domain-enabled installations.
Why with Pulp4?
/v3/
with /v4/
)/v4/
URL that is domain-enabledGoal: By default Pulp doesn't have repo versions enabled, most users don't use them
Why with Pulp4?
Because it's a default change
Goal: to speed up the sync and upload times
These other hashers would still be calculated if it's needed to validate correctness, e.g. the RemoteArtifact uses one of them.
Why with Pulp4?
These digests are user-visible in various APIs so if we drop calculating them, while not a breaking change, it is a breaking data-quality change.
Here's a script measuring the additional cost of hasher computation. It shows the update()
calls add significantly more time, e.g. the following table:
ยฑโโโโโ-ยฑโโโโโโโโโยฑโโโโโโโโโ+
| Hash Type | update() Time (s) | hexdigest() Time (s) |
ยฑโโโโโ-ยฑโโโโโโโโโยฑโโโโโโโโโ+
| SHA-224 | 34.696041 | 0.000011 |
| SHA-256 | 34.337533 | 0.000003 |
| SHA-384 | 24.644826 | 0.000003 |
| SHA-512 | 23.191746 | 0.000002 |
ยฑโโโโโ-ยฑโโโโโโโโโยฑโโโโโโโโโ+
The access policies should be configurable as a usual setting. Making them available in the API was probably never a good idea.
https://github.com/pulp/pulpcore/issues/1969
This could be useful for devops teams to create automationโฆ some examples:
allows service providers to have dedicated workers for customers