[cdwg] Lustre maintenance releases

Cory Spitz spitzcor at cray.com
Tue Jul 24 12:02:31 PDT 2012


I like the direction of this thread and there are some good ideas for a
long term model.  Thanks, Chris, for making your proposal to the list.
I promised on the last CDWG call that I would send mail to the list to
clarify the idea that I had to get us to our future model.  Apologies
for the lateness.

We seemed to reach a consensus that b2_4 ought to be designated as a
maintenance branch after the initial 2.4 feature release.  What I was
trying to say over the phone was that if we do agree on that and if we
nominally wait 3 months to spool up bugfixes to 2.4, it will arrive
around Q2'13 if everything stays on-track.  And that's over a year away
from the original 2.1.x maintenance release and an awful lot of change
for folks to take between 2.1.x and 2.4.1, which seemed like a concern
for people on the call.

I was only suggesting that we could create a 2.3.1 release as a quick
stability catch-up for the feature stream and as a stepping stone to get
to a future 2.4.1.  We would have to state up-front that there would be
no 2.3.2.  It was merely a proposal to mitigate the risk of a big
catch-up to 2.4.x.  If we don't feel that it is worthwhile to address
that issue, then I suggest that we get started on formalizing the long
term maintenance branch and release model.

To recap, here is what I was thinking for the maintenance stream:

             2012                            2013
  Q1      Q2      Q3      Q4      Q1      Q2      Q3      Q4
2.1.1 -> 2.1.2 -> 2.1.3
 2.2
                  2.3 -> 2.3.1
                                 2.4 -> 2.4.1 -> 2.4.2
                                                  2.5

I think that the above agrees with what Chris has proposed for the short
term, aside from the quick blip of 2.3.1.

Thanks,
-Cory

On 07/13/2012 12:59 PM, Christopher J. Morrone wrote:
> 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
> 
> 
> 
> _______________________________________________
> cdwg mailing list
> cdwg at lists.opensfs.org
> http://lists.opensfs.org/listinfo.cgi/cdwg-opensfs.org



More information about the cdwg mailing list