<html xmlns:v="urn:schemas-microsoft-com:vml" xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:w="urn:schemas-microsoft-com:office:word" xmlns:x="urn:schemas-microsoft-com:office:excel" xmlns:p="urn:schemas-microsoft-com:office:powerpoint" xmlns:a="urn:schemas-microsoft-com:office:access" xmlns:dt="uuid:C2F41010-65B3-11d1-A29F-00AA00C14882" xmlns:s="uuid:BDC6E3F0-6DA3-11d1-A2A3-00AA00C14882" xmlns:rs="urn:schemas-microsoft-com:rowset" xmlns:z="#RowsetSchema" xmlns:b="urn:schemas-microsoft-com:office:publisher" xmlns:ss="urn:schemas-microsoft-com:office:spreadsheet" xmlns:c="urn:schemas-microsoft-com:office:component:spreadsheet" xmlns:odc="urn:schemas-microsoft-com:office:odc" xmlns:oa="urn:schemas-microsoft-com:office:activation" xmlns:html="http://www.w3.org/TR/REC-html40" xmlns:q="http://schemas.xmlsoap.org/soap/envelope/" xmlns:rtc="http://microsoft.com/officenet/conferencing" xmlns:D="DAV:" xmlns:Repl="http://schemas.microsoft.com/repl/" xmlns:mt="http://schemas.microsoft.com/sharepoint/soap/meetings/" xmlns:x2="http://schemas.microsoft.com/office/excel/2003/xml" xmlns:ppda="http://www.passport.com/NameSpace.xsd" xmlns:ois="http://schemas.microsoft.com/sharepoint/soap/ois/" xmlns:dir="http://schemas.microsoft.com/sharepoint/soap/directory/" xmlns:ds="http://www.w3.org/2000/09/xmldsig#" xmlns:dsp="http://schemas.microsoft.com/sharepoint/dsp" xmlns:udc="http://schemas.microsoft.com/data/udc" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:sub="http://schemas.microsoft.com/sharepoint/soap/2002/1/alerts/" xmlns:ec="http://www.w3.org/2001/04/xmlenc#" xmlns:sp="http://schemas.microsoft.com/sharepoint/" xmlns:sps="http://schemas.microsoft.com/sharepoint/soap/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:udcs="http://schemas.microsoft.com/data/udc/soap" xmlns:udcxf="http://schemas.microsoft.com/data/udc/xmlfile" xmlns:udcp2p="http://schemas.microsoft.com/data/udc/parttopart" xmlns:wf="http://schemas.microsoft.com/sharepoint/soap/workflow/" xmlns:dsss="http://schemas.microsoft.com/office/2006/digsig-setup" xmlns:dssi="http://schemas.microsoft.com/office/2006/digsig" xmlns:mdssi="http://schemas.openxmlformats.org/package/2006/digital-signature" xmlns:mver="http://schemas.openxmlformats.org/markup-compatibility/2006" xmlns:m="http://schemas.microsoft.com/office/2004/12/omml" xmlns:mrels="http://schemas.openxmlformats.org/package/2006/relationships" xmlns:spwp="http://microsoft.com/sharepoint/webpartpages" xmlns:ex12t="http://schemas.microsoft.com/exchange/services/2006/types" xmlns:ex12m="http://schemas.microsoft.com/exchange/services/2006/messages" xmlns:pptsl="http://schemas.microsoft.com/sharepoint/soap/SlideLibrary/" xmlns:spsl="http://microsoft.com/webservices/SharePointPortalServer/PublishedLinksService" xmlns:Z="urn:schemas-microsoft-com:" xmlns:st="" xmlns="http://www.w3.org/TR/REC-html40">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
<meta name="Generator" content="Microsoft Word 12 (filtered medium)">
<style><!--
/* Font Definitions */
@font-face
{font-family:"Cambria Math";
panose-1:2 4 5 3 5 4 6 3 2 4;}
@font-face
{font-family:Calibri;
panose-1:2 15 5 2 2 2 4 3 2 4;}
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
{margin:0in;
margin-bottom:.0001pt;
font-size:11.0pt;
font-family:"Calibri","sans-serif";}
a:link, span.MsoHyperlink
{mso-style-priority:99;
color:blue;
text-decoration:underline;}
a:visited, span.MsoHyperlinkFollowed
{mso-style-priority:99;
color:purple;
text-decoration:underline;}
span.EmailStyle17
{mso-style-type:personal-compose;
font-family:"Calibri","sans-serif";
color:windowtext;}
.MsoChpDefault
{mso-style-type:export-only;}
@page WordSection1
{size:8.5in 11.0in;
margin:1.0in 1.0in 1.0in 1.0in;}
div.WordSection1
{page:WordSection1;}
--></style><!--[if gte mso 9]><xml>
<o:shapedefaults v:ext="edit" spidmax="1026" />
</xml><![endif]--><!--[if gte mso 9]><xml>
<o:shapelayout v:ext="edit">
<o:idmap v:ext="edit" data="1" />
</o:shapelayout></xml><![endif]-->
</head>
<body lang="EN-US" link="blue" vlink="purple">
<div class="WordSection1">
<p class="MsoNormal" style="text-autospace:none"><span style="font-size:10.0pt;font-family:"Courier New"">During the course of several discussions with OpenSFS members since LUG,<br>
I have come to the following understanding of how Whamcloud manages<br>
Lustre releases. I prepared the notes below for my team in Cray. Peter<br>
and Pam thought these notes might also help provide a baseline for<br>
further discussion within the cdwg. <br>
<br>
Errors or omissions are mine -- please send corrections and comments to<br>
this reflector.<br>
<br>
thanks,<br>
<br>
--jc<br>
<br>
Whamcloud produces two Lustre release streams: a feature release every <br>
6 months and a maintenance release every 3 months. Feature releases are<br>
new branches off of the master codeline that include all new code and<br>
the bugfixes accumulated during the previous 6 months. Maintenance<br>
releases apply bugfixes to the existing maintenance branch, which is<br>
currently Lustre 2.1.<br>
<br>
Whamcloud documents the release roadmap for both streams through its<br>
"Community Lustre Roadmap" wiki [1]. Feature landings are projected<br>
based on code Whamcloud produces for NRE contracts as well as code<br>
received from 3rd parties. These features and expected landings are<br>
detailed on a "Development in Progress" wiki [2].<br>
<br>
OpenSFS currently has two contracts with Whamcloud. The first is a<br>
development contract to produce features intended to improve Lustre<br>
metadata performance. This contract stipulates that all features must<br>
land in the master codeline (aka the canonical tree). The second<br>
contract shares support with Whamcloud for the release manager and<br>
gatekeeper positions for the feature releases.<br>
<br>
It is this latter contract which has caused confusion within the<br>
Community. The contract states that<br>
<br>
Ongoing Lustre development requires periodic Lustre feature<br>
releases which are fully tested and qualified Lustre releases<br>
featuring the latest code (both features and bugfixes) from the<br>
master codeline (git://git.opensfs.org/fs/lustre-release.git).<br>
It is expected that feature releases should occur roughly every<br>
six months. These are distinct from Lustre maintenance<br>
releases, which are funded by support contracts.<br>
<br>
Nonetheless, perhaps because the title of contract is "Lustre<br>
Development Community Tree Maintenance", the expectation among OpenSFS<br>
members has been that bugfixes found after a feature release would be<br>
applied back to the feature release branch where the bugs were found.<br>
This level of maintenance is not, however, what Whamcloud agreed to<br>
provide with this contract. <br>
<br>
Landing bugfixes is a two-step process. Whamcloud lands all bugfixes<br>
against the master codeline. They then backport these patches to the<br>
maintenance branch. Because it takes considerable resources (both<br>
people and hardware time) to backport the patches to a feature branch,<br>
test the new code and release a maintenance update, Whamcloud only<br>
produces these updates when it is viable to do so. Subsequent feature<br>
releases will incorporate all bugfixes and feature landings to the<br>
master codeline at the time the branch is made. <br>
<br>
Because the Lustre 2 codeline has had substantial re-engineering work<br>
and is only recently getting wider testing exposure to a greater variety<br>
of hardware and production workloads, the initial 2.x releases have<br>
uncovered a number of bugs, especially in the new client package (CLIO)<br>
as well as interoperability with Lustre 1.8. There have been very few<br>
bugs found in the new features themselves. Over time, as the Community<br>
gains more experience and fixes more bugs in the Lustre2 codeline,<br>
there should be fewer bugs found following each feature release. <br>
<br>
For now, it will be easier for community members to key their production<br>
releases of Lustre from a Whamcloud maintenance release since this will<br>
include all of the bugfixes since the release branch was created.<br>
Community members can pull the bugfixes and apply the patches to a<br>
feature release themselves (as Cray and ORNL have done for Lustre 2.2),<br>
but this requires tracking master for relevant updates that should be<br>
applied to support their production use of the feature branch.<br>
<br>
A more strategic solution is to do more testing of a feature release<br>
candidate _before_ it is released. Even if a Community member has no<br>
interest in using a feature release in production, early testing with<br>
pre-release versions of feature releases will help identify<br>
instabilities created by the new feature with their workloads and<br>
hardware before the release is official. <br>
<br>
OpenSFS is working with Whamcloud to identify which future release<br>
branch will become the new maintenance branch. <br>
<br>
[1] http://wiki.whamcloud.com/display/PUB/Community+Lustre+Roadmap<br>
[2] http://wiki.whamcloud.com/display/PUB/Lustre+Community+Development+in+Progress<br>
<br>
<br>
<o:p></o:p></span></p>
<p class="MsoNormal"><o:p> </o:p></p>
</div>
</body>
</html>