Now that Community Release 13 is available, we’ve begun work on our next sprint of Pulp development. We want to start being more visible as the sprint progresses rather than just at community release time, so the following is a quick summary of what’s planned over the next few weeks. Since this if the first post about it, there’s also some information on how we do things; future blogs should hopefully only be a few links and some feature summaries.
Assume the normal disclaimer about how this is just the plans and are subject to change based on how development progresses, random outside influence, zombie apocalypse, and so on.
Duration and Community Release
The sprint runs until July 11th. Our community release candidate build is cut around that time and handed to QE for sanity testing. Depending on how that goes, the community release itself should be out at some point near the end of that week.
The high level details of each sprint are tracked on individual pages on the Pulp wiki. The tracker page for sprint 25 can be found here. We’re still deciding on a format for these pages and what we track, but for now we’re using the following sections:
- Deep Dives – The Pulp team is almost completely remote from each other, so twice a week we choose topics (mostly related to what we’re working on) to demo/code review/discuss/whatever with the rest of the team. Currently, these are internal-only, but we’re looking into ways of opening these up, either through a recording or potentially by holding the meetings publicly. More information on those initiatives as we figure it out.
- Feature Checklists – A few sprints ago we came up with a checklist of things to keep in mind when working on a feature. It’s proven very useful for the team members themselves to make sure the non-code aspects such as the user guide and release notes don’t get missed. They are also a great place to find a summary of links about a particular feature.
- Bugs – Each sprint we align a handful of bugs to be fixed during that sprint. The sprint tracker page has a link to bugs aligned to the given sprint.
- Release Notes – A running summary of things to keep in mind for the upcoming community release. At the end of the sprint, this is populated with feature summaries to be included in the announcement e-mail/blog. During the sprint, this section usually houses any information users will need to know during an upgrade. For instance, if midway through the sprint a new dependent library version is needed, the release notes section will usually reflect that.
Like I said, the tracker wiki page is still a work in progress. We’re still refining what it is we’re including and reorienting ourselves to remember to keep it updated.
Sprint 25 Features
The following is a quick summary of what we’re aiming to accomplish during this sprint. For more information, check the sprint tracker wiki page. For input, hop in #pulp on Freenode and let us know what you think.
- Generic Content Support – The initial phase for Pulp was to handle RPM content, but it was always expected to branch out and support a wider array of types. We’re beginning the push towards this support in this sprint by flushing out what we want to be able to do with content, selecting some initial non-RPM types to include, and beginning the migration of the existing code base to the new model.
- REST API Documentation – The goal is to finish/clean up the API documentation for our packages and CDS subsystems, as well as set something up internally to automatically generate and publish the documentation.
- Stronger Repository Sync Cancel – When cancelling a repo sync, any packages currently being downloaded are allowed to finish (the rest of the repository is not syncced). With our growing focus on non-RPM content, we need to rework this to be able to cancel midway through a file (for instance, cancelling a 4GB ISO download without waiting for it to complete).
- Advanced Collection Queries – There are a number of fields that can be used in Pulp queries. This feature is looking to increase the syntax for specifying them to allow the caller to specify things such as the union or intersection across fields.
- Errata Enhancement Tasks – The continuation from previous work on errata, we’re looking to increase the parameters that can be used in errata searches.
- Repository Group Operations – This sprint will see the beginning of supporting repository operations on groups. The focus for this sprint is on repository update, such as the ability to batch set a sync schedule. Future sprints will address more complicated features such as sync.
- LDAP Enhancements – There’s actually not much to do in this area. We received a patch from the community that fixed up our LDAP support that was added a while ago and will be incorporating it into Pulp.