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
ContentorArtifactsthat are not secured as part of a repository version, it should calltouch()on them to update the timestamp of interest. -
pulpcorenow supports only python 3.8 and higher. It is advisable to adjust the metadata insetup.pyaccordingly, once the plugin cannot be installed with olderpulpcoreversions anymore. - With
pulpcoreswitching fromDjango 2toDjango 3, ORM calls (to the database) inasynccode are no longer save. This means you need to wrap all such code withsync_to_asyncto delegate it to a thread pool. If you use theProgressReport, its newasyncinterface 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