The Pulp team is gearing up for the first community release of the v2 code base. Over the next few weeks I’ll be highlighting some of the new features in the v2 release. As with any blog entry, this is scoped to a point in time and the specific details are subject to some change before release. The overall concepts, however, should remain consistent despite any tweaks we make.

HTTP and HTTPS Support

Pulp now supports serving repositories over both HTTP and HTTPS. This is selected on a per repository basis as part of its configuration and can be changed at any time. Repositories can be served over HTTP, HTTPS, or both (only repositories served over HTTPS can be configured as protected repositories due to the protection scheme used).

Feed URL Changing

A fix that has already gotten a lot of good karma for Pulp, the restrictions on changing a feed URL have been removed. The feed URL can be changed at any time regardless of whether or not the repository has been synchronized.

Multiple Schedule Support

Pulp’s sync schedule support has been modified to support multiple sync schedules per repository. Intervals can still be specified (now including increments of months or years), however for desired behavior that can not be broken down into intervals, multiple schedules may be created. For example, synchronizing a repository on the 7th and 21st of every month can now be achieved by defining two schedules: 2012-01-07T00:00:00Z/P1M and 2012-01-21T00:00:00Z/P1M.

REST API Improvements

The REST APIs in v2 follow REST conventions much more closely than in the past. The REST API documentation has been rewritten using reST and Sphinx and is significantly more flushed out, including example request and response bodies. The REST API documentation can be found at: http://pulpproject.org/v2/rest-api/

Improved Metadata Regeneration

To be clear, this is not scheduled to be included in the initial community release but will be in a subsequent release. We have investigated replacing our usage of createrepo with a new, faster implementation named createrepo_c. The new implementation is nearly complete and, once it is, Pulp will integrate support for it to greatly increase metadata generation tasks.