Let’s take a look at the main updates and enhancements as part of this release.
This release also includes a plethora of bugfixes as well as some nice enhancements to Pulpcore and the Plugin API. For a full overview of changes, check out the changlog.
Support added for automatic publishing and distributing #7626
Functionality has been added to Pulpcore so that when the content of a repository is updated, the repository can be automatically published and redistributed. This feature paves the way for future content plugin releases to add support for automatically publishing or distributing the new repository version after it has been created. Check the release notes of upcoming content plugins to see when this feature becomes supported.
New Checksum validation steps
Pulp can prohibit or allow checksums by setting the
As part of this release, a number of validation steps have been added to help to ensure that you can debug and manage content checksums that are synched as part of the on-demand sync process.
New documenation has been also added for the ALLOWED_CONTENT_CHECKSUMS setting.
A new warning has been added to the on-demand sync process to check if remote artifacts are detected with checksums that do not correspond with the
During a sync of on-demand content, a new check is performed and throws an error if forbidden checksums are detected. #8423
As part of #7989 more enhancements updates were made to handle the exception that gets raised on the client side.
Increased flexibility with deleting repository versions #8454
With this release, it is now possible to delete the original repository version (
RepoVersion 0). As long as you have more than one repository version, you can now delete
Breaking changes and behavior changes
PulpExporter: Update and Delete become asynchronous #7438
The Update and Delete endpoints of
PulpExporter have been changed to become asynchronous. This change provides proper locking on resources.
Note that this is a breaking change.
Deprecation warnings added to log level WARNING. #8499
In previous versions of Pulp, no one could see deprecation warnings for features. With this release, if the log level is set to
WARNING, you’ll now find deprecation warnings included in your logs.
You can disable this by adjusting the log level of
Updates to the Plugin API
This release includes the following updates to the Plugin API.
New callback method for autopublishing #7626
A new callback method
on_new_version() has been added to
Repository. This runs when a new repository version has been created. The addition of this method paves the way for future plugin releases to add support for automatically publishing or distributing the new repository version after it has been created.
New logging options for
url option has been added as a possible argument to
SizeValidationError exceptions, so that you can better locate the url of the requested files.
A new Distribution MasterModel #8384
This release provides a new MasterModel
pulpcore.plugin.models.Distribution that replaces the BaseDistribution
You will have to define a migration to move your data from
pulpcore.plugin.models.Distribution. See the
pulp_file migration 0009 as a reference example.#8385
This new model now contains the
publication fields that are supposed to move off of the detail models where they are located with
- A new serializer
pulpcore.plugin.serializer.DistributionSerializerhas been added to use with
- The viewset
pulpcore.plugin.viewset.DistributionViewSetreplaces the deprecated
- The new
pulpcore.plugin.viewset.NewDistributionFilterfilter pairs with the
Object deprecations as part of this change
|BaseDistribution object||Replaced by|
Checksum type enforcement for downloader
As part of this release, checksum filtering in
Remote.get_downloader has been removed and checksum type enforcement has been added to BaseDownloader itself.
New Dispatch API #8496
pulpcore.plugin.tasking.dispatch endpoint has been added . This replaces the
The functionality is the same except for the following:
- It returns a
pulpcore.plugin.models.Taskinstead of an RQ object
- It does not support the
pulpcore.plugin.viewsets.OperationPostponedResponse has been updated to support both
Checksum type filtering has been removed from
Plugin API Deprecations
The usage of non-JSON serializable types of
kwargs to tasks is deprecated. Future releases of pulpcore may discontinue accepting complex argument types. Note, UUID objects are not JSON serializable.
A deprecated warning is logged if a non-JSON serializable is used#8505.
enqueue_with_reservation deprecation #8496
As part of a future move away from RQ, the
pulpcore.plugin.tasking.enqueue_with_reservation object has been deprecated.
Instead use the
If you have any comments or questions about anything you read here, we’d be happy to hear from you at