Pulp 2.1 Release Notes

Pulp 2.1.1

This release provides bugfixes and also includes some performance improvements.


When making a REST API call to copy units between repositories, there is now an opportunity to limit which fields of those units get loaded into RAM and handed to the importer. This can enable great reductions in RAM use when copying units that contain a lot of metadata.

Notable Bugs

RHBZ #928087 - pickling error in pulp.log when cancelling sync tasks

RHBZ #949186 - The pycurl downloader times out on active downloads, even during very good transfer rates

All Bugs

You can see the complete list of bugs that were fixed in Pulp 2.1.1.

Upgrade Instructions for 2.1.0 –> 2.1.1

Before beginning the upgrade, stop Apache so that it doesn’t cause any concurrency problems during the database migration step.

To upgrade to the new Pulp release from version 2.1.0, use yum to install the latest RPMs from the Pulp repository and run the database migrations:

$ sudo yum upgrade
$ sudo pulp-manage-db

After upgrading, start Apache again and Pulp 2.1.1 should be functioning properly.

Pulp 2.1.0

New Features

  1. Pulp now has support for hierarchical collections of Pulp Servers that are able to synchronize with each other. These are called Pulp Nodes, and you can read more about them in the nodes section.
  2. Unit counts within each repository are now tracked by type.
  3. We now support Fedora 18 and Apache 2.4.
  4. It is now possible to upgrade from Pulp 1.1 to 2.1.

Client Changes

  1. The pulp-consumer [bind, unbind] operations have been moved into pulp-consumer rpm [bind, unbind]. These operations have been moved out of this project into the pulp_rpm project. You will need to install pulp-rpm-consumer-extensions to get the pulp-consumer rpm section to find these commands.
  2. The pulp-admin rpm consumer [list, search, update, unregister, history] commands from the pulp_rpm project have been moved into this project, and can now be found under pulp-admin consumer *.

Noteworthy Bugs Fixed

RHBZ #872724 - Requesting package profile on consumer without a package profile results in error

RHBZ #878234 - Consumer group package_install, update and uninstall not returning correct result

RHBZ #916794 - pulp-admin orphan list, Performance & Memory concerns (~17 minutes and consuming consuming ~1.65GB memory). The –summary flag was removed and summary behavior was made the default when listing orphans. A new –details flag has been added to get the previous behavior.

RHBZ #918160 - Orphan list –summary mode isn’t a summary. Listing orphans now returns a much smaller set of related fields (namely only the unit keys).

RHBZ #920792 - High memory usage (growth of 2GB) from orphan remove –all. All server-side orphan operations now use generators instead of database batch queries.

RFE Bugs

RHBZ #876725 - RFE - consumer/agent - support option to perform ‘best effort’ install of content. We will now avoid aborting an install when one of the packages is not available for installation.

All Bugs

You can see the complete list of bugs that were fixed in Pulp 2.1.0.

API Changes

Applicability API Changes

We have improved the Content Applicability API significantly in this release. A few major enhancements are:

  1. Added an optional repo_criteria parameter that can restrict applicability searches by repository.
  2. Changed units specification format to be a dictionary keyed by Content Type ID and a list of units of that type as a value. You can also pass in an empty list corresponding to a Content Type ID to check the applicability of all units of that specific type.
  3. All 3 parameters are now optional. Check out updated API documentation to read more about the behavior of the API in case of missing parameters.
  4. Return format is updated to a more compact format keyed by Consumer ID and Content Type ID and it now returns only applicable units.

The API is documented in detail in the applicability API documentation.

Distributor Plugin API Change

The Distributor plugin method create_consumer_payload has changed to accept a new parameter, binding_config. Individual bindings can contain configuration options that may be necessary when providing the consumer with the information necessary to use the published repository. This field will contain those options if specified by the user.

Upgrade Instructions for 2.0 –> 2.1

To upgrade to the new Pulp release from version 2.0, you should begin by using yum to install the latest RPMs from the Pulp repository, run the database migrations, and cleanup orphaned packages:

$ sudo yum upgrade
$ sudo pulp-manage-db
$ sudo pulp-admin orphan remove --all