Development: Difference between revisions

From Lustre Wiki
Jump to navigation Jump to search
m (hpdd->whamcloud)
(→‎Feature Development: link to Autotest, Maloo, Gerrit presentation)
 
(13 intermediate revisions by 4 users not shown)
Line 1: Line 1:
== Lustre Development Activities ==
== Lustre Development Activities ==
The next release under development (accepting new features)
The next release under development (accepting new features)
* [[Release 2.11.0]]
* [[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:
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:
[https://jira.hpdd.intel.com/issues/?jql=labels%3Deasy%20AND%20resolution%3Dunresolved easier development items]
[https://jira.whamcloud.com/issues/?jql=labels%3Deasy%20AND%20resolution%3Dunresolved easier development items]


== Submitting Changes ==
== Submitting Changes ==
Line 12: Line 12:
== Code Reviews ==
== Code Reviews ==


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


== Upstream contributing ==
== Upstream contributing ==
Line 21: Line 21:


Updating the [http://lustre.org/documentation Lustre User Manual] is a very useful way for non-coders to contribute to Lustre.
Updating the [http://lustre.org/documentation Lustre User Manual] is a very useful way for non-coders to contribute to Lustre.
See [https://wiki.hpdd.intel.com/display/PUB/Making+changes+to+the+Lustre+Manual Making Changes to the Lustre Manual] for more information on how to contribute changes, and the list of [https://jira.hpdd.intel.com/issues/?jql=project%3DLUDOC%20AND%20resolution%3Dunresolved open documentation tickets].
See [[Lustre Manual Changes]] for more information on how to contribute changes, and the list of [https://jira.whamcloud.com/issues/?jql=project%3DLUDOC%20AND%20resolution%3Dunresolved open documentation tickets].


== Developer Meetings ==
== Developer Meetings ==


* [[Developer Day 2023-05-01]]
* [[Lustre_User_Group_2022#Monday,_May_9_%E2%80%93_Tutorial_Day|Tutorial Day 2022-05-09]]
* [[Lustre_User_Group_2020#Wednesday,_August_5th_Virtual_Developer_Day|Developer Day 2020-08-05]]
* [[Developer Day 2019-05-14]]
* [[Developer Day 2018-04-23]]
* [https://github.com/cea-hpc/robinhood/wiki/RUG2017 RobinHood User Group 2017-10-03]
* [[Developer Day 2017-05-30]]
* [[Developer Day 2016-04-04]]
* [[Developer Day 2015-04-16]]
* [http://wiki.opensfs.org/Lustre_Developer_Meeting_2015-01-22 Developer Meeting 2015-01-22]
* [http://wiki.opensfs.org/Lustre_Developer_Meeting_2015-01-22 Developer Meeting 2015-01-22]


Line 32: Line 41:


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.
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.
* [[Media:LUG2023-Lustre-Autotest-Maloo-Gerrit.pdf|Tips to effectively use Lustre Autotest, Maloo, Git, and Gerrit]]


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


* [https://wiki.whamcloud.com/display/~jhammond/Patch+Status Gerrit Patch Status]
* [https://wiki.whamcloud.com/display/PUB/Patch+Status]
 
* [https://wiki.whamcloud.com/display/PUB/Patch+Status+2?src=contextnavpagetreemode]
 
== 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.


* [https://wiki.whamcloud.com/display/~jhammond/Patch+Status+2 Gerrit Patch Status 2]
Please note that wherever Red Hat or RHEL is mentioned that it includes RHEL-like Linux distributions like CentOS and Scientific Linux.


== Protocol Documentation ==
== Protocol Documentation ==

Latest revision as of 16:21, 21 September 2023

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.