The Pulp team are pleased to announce the release of Pulp 3.8.0!

Updates to Django settings

  • The Django admin site URL is now configurable using the new ADMIN_SITE_URL settings parameter 7637.

  • As a follow up to #7179, which provided a default DJANGO_SETTINGS_MODULE variable, in this release, the default DJANGO_SETTINGS_MODULE variable is now set everywhere. This simplifies configuration because the systemd service no longer has to set this value #7720.

Allowed Content Checksums Validation

In the previous release ALLOWED_CONTENT_CHECKSUMS variable was introduced so that users can specify and limit unwanted checksums in their environment.

In this release, validation has been added so that if a user has Artifacts in their database and adds checksums to ALLOWED_CONTENT_CHECKSUMS that do not match the existing Artifacts, the error ImproperlyConfigured is thrown #7487.

Dynaconf Version Requirement

Earlier versions of dynaconf had some known issues. In this release, the required dynaconf version is 3.1.2. #7682.

Installer Updates

In this release, there are a number of enhancements to pulp_installer:

  • pulp_installer now compiles and installs the pulpcore-selinux policy on CentOS/RHEL/Fedora #7574.
  • When installing from distro packages (pulp_install_source==packages), from a repo (pulp_pkg_repo), and upgrading them (pulp_pkg_upgrade_all==true), pulp_installer now upgrades all the packages from the repo. This addresses any incorrect dependency declarations in the repo, which might cause pulp_installer to fail on collectstatic.#7646.
  • Users can customize webserver ports that Pulp listen on via pulp_webserver_http_port (defaults to 80) and pulp_webserver_https_port (defaults to 443) #7662.
  • pulp_installer now uses the new libexec wrappers from the RPM packages for rq and gunicorn to run them in the correct SELinux context #7667.

Installer Deprecations and Removals

This release contains the following changes to the pulp_installer:

  • pulp_installer no longer sets SELinux to enabled, permissive and enforcing (casually referred to as “disabled”) on CentOS/RHEL/Fedora. #7573
  • pulp_installer no longer supports installing from older RPM packages that lack the wrapper scripts /usr/libexec/pulpcore/{rq,gunicorn}. #7667

Plugin_template Update

Plugin template now contains a check-manifest script that is run in Travis and checks if all expected files are included in the MANIFEST.in #7656.

Bug Fixes

  • When a task was cancelled, it was logging as a failed task #4559
  • When a task was cancelled, the status of all incomplete “progress reports” was remaining in an in-progress state #4921
  • A fix has been added to handle duplicate content during synchronization and migration from Pulp 2 to Pulp 3 #7147
  • Content streaming has been enabled for Distributions that use Repository Versions instead of Publications #7568
  • The urlize_quoted_links filter in Django Rest Framework was dropped because Django’s urlize filter does the same action #7634

Doc Improvements

  • Updated examples of auto-distribution #5247.
  • Improved testing section in Pulp contributor doc #7475.
  • Fix an erroneous API endpoint in the “upload and publish” workflow documentation #7655.
  • Documented that Pulp doesn’t support backporting migrations #7657.