Dear plugin writers,
with the release of pulpcore 3.15 happening at the moment, a lot of big changes are coming about that plugins need to adjust to. Let me try to collect them here, but feel free to comment if you can find more.
-
JSONField
: Plugins that used this database field, should update the import path todjango.db.models.JSONField
. - Orphan cleanup is able to run concurrently with other tasks now. So when ever a plugin is handling
Content
orArtifacts
that are not secured as part of a repository version, it should calltouch()
on them to update the timestamp of interest. -
pulpcore
now supports only python 3.8 and higher. It is advisable to adjust the metadata insetup.py
accordingly, once the plugin cannot be installed with olderpulpcore
versions anymore. - With
pulpcore
switching fromDjango 2
toDjango 3
, ORM calls (to the database) inasync
code are no longer save. This means you need to wrap all such code withsync_to_async
to delegate it to a thread pool. If you use theProgressReport
, its newasync
interface will help you in that case. A sample PR can be seen in [0].
Please accept our apologies for the inconvenience.
[0] Make async adjustments for new Django version by quba42 · Pull Request #337 · pulp/pulp_deb · GitHub