[cdwg] Lustre maintenance releases

Christopher J. Morrone morrone2 at llnl.gov
Fri Jul 13 10:59:28 PDT 2012


Hi folks,

Attached is a graphic (lustre_releases.png) that I've made to try to 
illustrate the difference between "feature" and "maintenance" releases. 
  Note that this doesn't fully represent every tag and branch in the 
repo, but this should be all that most end users and non-developer folks 
should likely need to concern themselves with.

The horizontal arrow represents the "master" branch of lustre, on which 
we land both bug fixes and all new features.  We follow a development 
cadence of 6 months between major tags on master.  We've been calling 
those tags "feature" releases.  Perhaps we need to change that 
terminology in the future to reduce confusion.

The vertical arrows represent the "maintenance" branches.  Code changes 
along the vertical branches should ONLY be bug fixes.  This is the place 
to go if you are an institution or vendor that plans to have a system 
that needs to be stable for 18 months, 3 years, whatever, and you are 
not planning to do and significant OS upgrades.  I know we have systems 
like that here at LLNL, and there are other systems out there that 
operate that way.

The "maintenance" branch is where we point the user that just wants a 
stable lustre, and isn't interested in the latest bleeding-edge features.

We are doing this today.  The only part of my diagram that has not been 
decided is if we should officially declare that a new maintenance branch 
will begin on every third feature release.  So the "18 months" is not 
official yet, and we don't yet know if "b2_4" will be the next 
maintenance branch.

I would like us to decide on that rather soon, so we can all begin 
shifting our internal schedules to align with the 2.4 release in March 
2013 (or whatever release we decide to designate).

After that, an obvious question might be: "how long lived are these 
branches?".  I am going to propose, to start the conversation, that we 
make the stated lifetime of the maintenance branches 3 years.  That 
would make the timeline for stable maintenance branches look like the 
attached timeline graphic (lustre_maintenance_timeline.png).  A new 
maintenance branch would start every 18 months, and live for 36 months.

If we maintain our rule that a maintenance branch receives only bug 
fixes, after the first 18 months I suspect that a maintenance branch's 
required effort will have tapered off quite a bit, so hopefully 
overlapping the supported stable maintenance branches will not prove an 
unacceptable burden on the development community.

This proposal would mean that at any point in time there are basically 
three major branches that the general public will be aware of:

   Current stable maintenance branch
   Previous stable maintenance branch
   Development branch (master)

And frankly, most end users will only look at one of the maintenance 
branches.  Anyone not already using lustre should always pick the 
current stable maintenance branch.  Anyone running an older machine that 
has no plans to upgrade their OS will stick with the maintenance branch 
that they are already on.

And of course, if you absolutely need some new feature in lustre, you 
can always pick up the latest feature release from master.  But you do 
that knowing that your upgrade path is always horizontally on the master 
branch until you reach the next maintenance release that forks off 
vertically (as represented in the lustre_releases.png).

Chris

-------------- next part --------------
A non-text attachment was scrubbed...
Name: lustre_releases.png
Type: image/png
Size: 30403 bytes
Desc: not available
URL: <http://lists.opensfs.org/pipermail/cdwg-opensfs.org/attachments/20120713/27392c15/attachment-0002.png>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: lustre_maintenance_timeline.png
Type: image/png
Size: 21416 bytes
Desc: not available
URL: <http://lists.opensfs.org/pipermail/cdwg-opensfs.org/attachments/20120713/27392c15/attachment-0003.png>


More information about the cdwg mailing list