Development

Lustre Development Activities
The next release under development (accepting new features)
 * Release 2.16.0

If you are looking for small development projects to add minor improvements to Lustre and/or become more familiar with the code and development process, there is a keyword easy that is added to tickets that are suitable: easier development items

Submitting Changes
The Submitting Changes page covers steps you'll need to follow to contribute code changes.

Code Reviews
The Code Reviewers page describes how to find developers willing to perform code reviews on particular sections of the Lustre code.

Upstream contributing
The Upstream contributing page covers how to contribute to the Linux kernel Lustre client.

Updating Documentation
Updating the Lustre User Manual is a very useful way for non-coders to contribute to Lustre. See Lustre Manual Changes for more information on how to contribute changes, and the list of open documentation tickets.

Developer Meetings

 * Developer Day 2019-05-14
 * Developer Day 2018-04-23
 * RobinHood User Group 2017-10-03
 * Developer Day 2017-05-30
 * Developer Day 2016-04-04
 * Developer Day 2015-04-16
 * Developer Meeting 2015-01-22

Feature Development
All known development efforts are tracked on the Projects page. The Architecture and Design documents of various projects are available for review and future reference.

Please see Lustre Coding Style Guidelines and Lustre Style Guide Includes for information about writing Lustre code, and Submitting Changes for details on how to submit patches. There is also Lustre Script Coding Style for writing test scripts.

Patches and landing status can be tracked via some Gerrit searches courtesy of John Hammond:


 * 


 * 

Kernel Policy
As Lustre runs in the Linux kernel it can be sensitive to changes between Linux kernel version. While Lustre is used in production on a wide variety of Linux distributions, testing efforts are concentrated on a limited number of primary Linux distributions. There are usually some secondary Linux distributions that either have been demonstrated to work to some reasonable degree or are work-in-progress towards becoming a primary distribution in the future. The primary Linux distributions are what is called out in the release page and the Lustre support matrix, but both the primary and secondary Linux distributions will be mentioned in the Lustre change log.

At the time of writing, the primary Linux distribution for Lustre servers is the latest Red Hat 7.7 kernel and the primary Linux distributions for Lustre clients are the latest RHEL 7.7, RHEL 8.0, Ubuntu 18.04 and SLES 12 SP4. Please consult lustre/Changelog in the Lustre tree for the latest details and known secondary Linux distributions.

Please note that wherever Red Hat or RHEL is mentioned that it includes RHEL-like Linux distributions like CentOS and Scientific Linux.

Protocol Documentation
There is some work-in-progress Lustre Protocol Documentation available (PDF format). While the documentation is not complete, it may still prove to be a valuable resource for developers, and contributions and improvements to the protocol documentation project are welcome.