Landing a Patch to a Maintenance Release
Whamcloud produces maintenance releases every 3 months. Check the Whamcloud Lustre Roadmap to find out when the next one is scheduled and which codeline it will be against.
Note that landings for the release will freeze a month prior to GA.
Pre-requisites
Before getting started please read over the background material on Patch Landing Process, Signed Off By, Uploading Patches to Gerrit and Requirements for Patch Submission
Patch Landing Checklist
- All code conforms to the Coding Guidelines
- A JIRA ticket has been opened to track the issue
- The commit comment is well formatted
- A regression test has been created that fails without the patch and passes with the patch
- The patch has been uploaded to Gerrit with the appropriate signed off by line
Landing a Patch to a Feature Release
Whamcloud produces feature releases every 6 months. Check the Whamcloud Lustre Roadmap to find out when the next one is scheduled.
First Steps
Before starting to think about the logistics associated with developing your feature it is imperative to share your plans with the Lustre community.
If you choose not to do this you may find that you are either duplicating work with someone else or that your work needs to be repeated to accommodate some other changes occurring in the same part of Lustre code.
It is also strongly suggested that you gain experience in the Lustre landing process by fixing one or more bugs for a maintenance release before attempting to tackle writing a Lustre feature. Feel free to ask for suggestions on the wc-discuss mailing list for a suitable bug to get started with.
Schedule and Timing
Whamcloud Lustre releases operate to a "train model". The schedule is fixed and will not wait for features that are not ready in time - they are deferred to the next release.
History has shown that a lengthy stabilization period is needed after all features have landed to work through bugs introduced by the new code.
For a feature release scheduled for release in month T the schedule is roughly as follows. For more precise dates, keep up to date on the wc-discuss mailing list .
- T-7 A call for features is sent out to the wc-discuss mailing list . The amount of change that can be landed for a given release is limited so it is prudent to respond early if you feel that you will have a feature that warrants consideration for inclusion. Expect to be asked to provide the information on the Feature Landing Checklist below - either completed or with estimates as to when any missing portions will be completed.
- T-6 Initial review of candidate features to define the scope of the release. A test plan is created and the Whamcloud Lustre Roadmap is updated. Landing schedule created so that feature landings are spaced out to make it easier to identify when features introduce regressions. If serious regressions are found when a feature is landed then it will be reverted from master until the problems have been addressed
- T-3 Feature Freeze - bug fixes only from now on. The Whamcloud Lustre Roadmap is updated.
- T-1 Code Freeze - critical bug fixes only from now on. A release candidate (RC) is tagged and release testing commences
- T GA announced and RPMs available for download from the Whamcloud download site
Feature Landing Checklist
- High level design has been reviewed and signed off by a senior Whamcloud engineer
- Test plan has been reviewed and signed off by a senior Whamcloud engineer. The test plan should include performance testing
- Results from executing the test plan uploaded into Maloo
- Proposed revisions to the manual have been provided
- The criteria from the Patch Landing Checklist (above) are met
Seeking Guidance
Please alert the Whamcloud team via the wc-discuss mailing list if you need some extra guidance in getting your patch submitted for the release.