From Lustre Wiki
Revision as of 16:21, 21 September 2023 by Adilger (talk | contribs) (→‎Feature Development: link to Autotest, Maloo, Gerrit presentation)
Jump to navigation Jump to search

Lustre Development Activities

The next release under development (accepting new features)

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

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.