Pulp 2.7 Release Notes

Pulp 2.7.0

New Features

  • Pulp now allows users to add their own content authentication mechanisms.
  • There are now two new REST APIs for setting and retrieving user supplied metadata on content units.
  • unit_<type> collection indices will be destroyed and recreated for the last time when pulp-manage-db runs during upgrade. All subsequent executions of pulp-manage-db will only create new indices based on unit type definitions. Any user created indices for unit_<type> collections will persist between upgrades.
  • There is now a new working_directory setting in /etc/pulp/server.conf. The default value is /var/cache/pulp. This is the path where pulp_workers process can store data while performing tasks. For best performance, this should be a path to local storage. This directory needs to be writeable by user apache. If running with SELinux in Enforcing mode, the path also needs to have system_u:object_r:pulp_var_cache_t security context.
  • The repo authentication functionality previously associated with pulp_rpm has been moved to platform. This makes it available for other plugins to use.
  • A new event notification framework is available. Please see the developer documentation for more detail.
  • Pulp workers now perform heartbeats every 30 seconds instead of every two seconds. See #808 for more detail.
  • Pulp now supports using basic authentication when syncing repositories. This can be enabled via --basicauth-user and --basicauth-pass when creating or updating repositories. Note that this also requires support in the plugin; currently only pulp_rpm supports this option.
  • Pulp no longer returns proxy passwords or basic authentication passwords when viewing importer configurations. Instead, ***** is returned.
  • Added /v2/distributors/search/ REST API endpoint to support distributor searches.
  • The $date operator added to support queries on fields stored in the database as ISODate. See Search Criteria for details.
  • A new setting named unsafe_autoretry is introduced in the [database] section of /etc/pulp/server.conf. See the docs in server.conf for more details.
  • Pulp properly connects to MongoDB replica sets. The replica_set setting in database section of /etc/pulp/server.conf must be provided for Pulp to connect to a replica set.
  • Pulp allows users to specify the write concern for MongoDB connection. The two options are ‘majority’ and ‘all’. When ‘all’ is specified, the number of seeds listed will be used as the value for ‘w’. For installations without replica sets, all writes to the database will be acknowledged.


  • The archived_calls setting in server.conf is removed. It has not been used in several releases.
  • The archived_calls collection is dropped from the database with a migration.
  • MongoDB is no longer used as the celery result backend. The ‘celery_taskmeta’ collection will be removed with a migration in a future release.

Upgrade Instructions for 2.6.x –> 2.7.0


This release adjusts the default ‘server_name’ in /etc/pulp/server.conf to be the fully qualified domain name (FQDN), but previous releases on some platforms may have used the short hostname. Similarly, this release adjusts the pulp-gen-ca-certificate tool to use the FQDN as the CN in a certificate it generates. As a result of this change, you may experience a hostname mismatch when you run Pulp. If you experience that issue, you can either set the value of ‘server_name’ in /etc/pulp/server.conf or regenerate your certificate using pulp-gen-ca-certificate.

All services should be stopped. At that point you can issue an upgrade via:

sudo yum update

After yum completes you should migrate the database using:

sudo -u apache pulp-manage-db

After the database migrations finish, restart httpd, pulp_workers, pulp_celerybeat, and pulp_resource_manager.


This release has fixes for these issues.

Known Issues

  • None at this time.

Client Changes

  • Admin and consumer Pulp clients now support -v and -vv flags to get additional information. Server calls and exceptions raised for CLI and API level failures are not logged to the log files anymore. Instead, you can get the details of the failures on STDERR stream by using verbose flag. You can look at an example of the usage of verbose flag in the admin client troubleshooting section.
  • The pulp-admin command now supports obtaining detailed information for just one repo via the details flag.
  • pulp-admin tasks list command is adjusted to only display tasks in ‘waiting’ or ‘running’ state. Previously all tasks were shown regardless of state. The –all flag can be passed in to retrieve a list of tasks in all states.

Agent Changes

Rest API Changes

Binding API Changes

These are changes to the python bindings to pulp’s REST API. This does not affect most users.

User Create

The roles parameter to the user creation method was dropped. It was unused on the server side, and as of 2.7.0, the REST API complains about unused data passed in a POST request.

Plugin API Changes

  • The undocumented fields ‘owner_type’ and ‘owner_id’ have been removed from the ‘repo_content_units’ collection.

Thank You

Thank you to all of Pulp’s contributors, especially these new ones!

  • Graham Forest
  • Jonathan Mainguy