Finding a Project: Difference between revisions

From Lustre Wiki
Jump to navigation Jump to search
(Initial creation as part of accelerated wiki migration)
 
(Fix links to JIRA and internal pages)
Line 1: Line 1:
{| class='wikitable'
|-
!Note: This page originated on the old Lustre wiki. It was identified as likely having value and was migrated to the new wiki. It is in the process of being reviewed/updated and may currently have content that is out of date.
|}
<small>''(Updated: Nov 2009)''</small>
__TOC__
__TOC__
This page describes how to [[#Finding a Bug to Fix|find a bug to fix]], [[#Selecting a Project to Enhance Lustre|select a project to enhance Lustre]] or [[#Helping with Lustre Testing|help with Lustre testing]]. Lustre defects and features or to-do items are logged in the Bugzilla bug tracking system.  
This page describes how to [[#Finding a Bug to Fix|find a bug to fix]], [[#Selecting a Project to Enhance Lustre|select a project to enhance Lustre]] or [[#Helping with Lustre Testing|help with Lustre testing]]. Lustre defects and features or to-do items are logged in the Bugzilla bug tracking system.  


You can also also contact the [[Lustre_Mailing_Lists|Lustre Development mailing list]] (often referred to as [mailto:[email protected] lustre-devel]) to discuss ideas for projects that match your skills and interests. Note that Lustre encompasses a number of development areas, including user tools, documentation, disk filesystems, networking, kernel integration, etc., so you can almost always find a project that is interesting and challenging.
You can also also contact the [Mailing_Lists_and_IRC|Lustre Development mailing list]] (often referred to as [mailto:[email protected] lustre-devel]) to discuss ideas for projects that match your skills and interests. Note that Lustre encompasses a number of development areas, including user tools, documentation, disk filesystems, networking, kernel integration, etc., so you can almost always find a project that is interesting and challenging.


Having a specific problem to fix requires an understanding of the flow of operations and how that maps to specific code.  It gives you a concrete goal that provides a context for investigating the code, rather than just reading vaguely through the vast Lustre code base.   
Having a specific problem to fix requires an understanding of the flow of operations and how that maps to specific code.  It gives you a concrete goal that provides a context for investigating the code, rather than just reading vaguely through the vast Lustre code base.   
Line 17: Line 11:
Fixing bugs in Lustre is a good way to become familiar with the Lustre code if you've not worked on it before. Some ways to find a bug you'd like to work on are:
Fixing bugs in Lustre is a good way to become familiar with the Lustre code if you've not worked on it before. Some ways to find a bug you'd like to work on are:


* ''Search [https://bugzilla.lustre.org/buglist.cgi?query_format=advanced&product=Lustre&keywords_type=anywords&keywords=easy+needs-test&bug_status=UNCONFIRMED&bug_status=NEW&bug_status=ASSIGNED&bug_status=REOPENED&order=Reuse+same+sort+as+last+time Bugzilla] key words for bugs designated "easy" bugs.'' Some Lustre developers use this keyword to indicate that a bug could be fixed by someone without in-depth familiarity with the Lustre code.
* ''Search [https://jira.hpdd.intel.com/issues/?jql=labels%3Deasy%20AND%20resolution%3Dunresolved JIRA] key words for bugs designated "easy" bugs.'' Some Lustre developers use this keyword to indicate that a bug could be fixed by someone without in-depth familiarity with the Lustre code.
* ''Search [https://bugzilla.lustre.org/query.cgi Bugzilla] for very old Lustre bugs.''  These are typically non-critical bugs that are not dependent on a release timeline. They can vary widely in complexity.  In particular, doing an empty Bugzilla query and looking at the first 100 items (sorted by bug number) shows a lot of bugs that are either relatively hard to reproduce, not generally visible to users, or "nice-to-have" features that no customer has specifically prioritized to be fixed.
* ''Search [https://jira.hpdd.intel.com/ JIRA] for very old Lustre bugs.''  These are typically non-critical bugs that are not dependent on a release timeline. They can vary widely in complexity.  In particular, doing an empty query and looking at the oldest 100 items (sorted by bug number) shows a lot of bugs that are either relatively hard to reproduce, not generally visible to users, or "nice-to-have" features that no customer has specifically prioritized to be fixed.


== Selecting a Project to Enhance Lustre ==
== Selecting a Project to Enhance Lustre ==
If you'd like to take on a project to enhance or add a new feature to Lustre, consider one of these options:
If you'd like to take on a project to enhance or add a new feature to Lustre, consider one of these options:


* Pick a project from the [[Lustre Project List]]. For guidance in selecting or proceeding with a project, contact [mailto:[email protected] lustre-devel].
* Pick a project from the [[Projects]] list. For guidance in selecting or proceeding with a project, contact [mailto:[email protected] lustre-devel].


* Ask for a project on [mailto:[email protected] lustre-devel].  This mailing list is read by many of the Lustre developers and is a good place for questions, ideas, feedback.
* Ask for a project on [mailto:[email protected] lustre-devel].  This mailing list is read by many of the Lustre developers and is a good place for questions, ideas, feedback.
Line 33: Line 27:
Testing Lustre under a variety of workloads is always of interest.  The more unusual the IO pattern used by a benchmark, application, or testing tool, the more likely it is to find something of interest.
Testing Lustre under a variety of workloads is always of interest.  The more unusual the IO pattern used by a benchmark, application, or testing tool, the more likely it is to find something of interest.


To find out how you can contribute to the testing of upcoming Lustre releases, see [[Lustre_Test_Plans|Lustre Test Plans]].
To find out how you can contribute to the testing of upcoming Lustre releases, see [[http://wiki.old.lustre.org/index.php/Lustre_Test_Plans|Lustre Test Plans]].


[[Category: NeedsReview]]
[[Category: Development]]

Revision as of 11:49, 20 April 2017

This page describes how to find a bug to fix, select a project to enhance Lustre or help with Lustre testing. Lustre defects and features or to-do items are logged in the Bugzilla bug tracking system.

You can also also contact the [Mailing_Lists_and_IRC|Lustre Development mailing list]] (often referred to as lustre-devel) to discuss ideas for projects that match your skills and interests. Note that Lustre encompasses a number of development areas, including user tools, documentation, disk filesystems, networking, kernel integration, etc., so you can almost always find a project that is interesting and challenging.

Having a specific problem to fix requires an understanding of the flow of operations and how that maps to specific code. It gives you a concrete goal that provides a context for investigating the code, rather than just reading vaguely through the vast Lustre code base.

Once you have selected a project, contact lustre-devel to discuss the best approach to take and to keep others aware of what you are working on.

Finding a Bug to Fix

Fixing bugs in Lustre is a good way to become familiar with the Lustre code if you've not worked on it before. Some ways to find a bug you'd like to work on are:

  • Search JIRA key words for bugs designated "easy" bugs. Some Lustre developers use this keyword to indicate that a bug could be fixed by someone without in-depth familiarity with the Lustre code.
  • Search JIRA for very old Lustre bugs. These are typically non-critical bugs that are not dependent on a release timeline. They can vary widely in complexity. In particular, doing an empty query and looking at the oldest 100 items (sorted by bug number) shows a lot of bugs that are either relatively hard to reproduce, not generally visible to users, or "nice-to-have" features that no customer has specifically prioritized to be fixed.

Selecting a Project to Enhance Lustre

If you'd like to take on a project to enhance or add a new feature to Lustre, consider one of these options:

  • Pick a project from the Projects list. For guidance in selecting or proceeding with a project, contact lustre-devel.
  • Ask for a project on lustre-devel. This mailing list is read by many of the Lustre developers and is a good place for questions, ideas, feedback.
  • Assist with keeping Lustre up-to-date with recent kernel changes. Porting Lustre to newer kernel versions is an ongoing effort, given the large number of vendor and upstream kernel releases. For some changes, a simple fix to the Lustre code will be required, while for others, a good understanding of the Linux kernel and how Lustre interfaces with it is needed.
  • Propose a new feature that can be developed as a separate module on top of Lustre. Be sure to get feedback on your proposal by contacting lustre-devel before you get started.

Helping with Lustre Testing

Testing Lustre under a variety of workloads is always of interest. The more unusual the IO pattern used by a benchmark, application, or testing tool, the more likely it is to find something of interest.

To find out how you can contribute to the testing of upcoming Lustre releases, see [Test Plans].