[openstack-dev] [all] Re-evaluating the suitability of the 6 month release cycle

Sean Dague sean at dague.net
Tue Feb 24 20:28:08 UTC 2015


On 02/24/2015 03:21 PM, Joe Gordon wrote:
> 
> 
> On Tue, Feb 24, 2015 at 6:57 AM, Daniel P. Berrange <berrange at redhat.com
> <mailto:berrange at redhat.com>> wrote:
> 
>     On Tue, Feb 24, 2015 at 08:50:45AM -0500, Sean Dague wrote:
>     > On 02/24/2015 07:48 AM, Russell Bryant wrote:
>     > > On 02/24/2015 12:54 PM, Daniel P. Berrange wrote:
>     > >> On Tue, Feb 24, 2015 at 11:48:29AM +0000, Chris Dent wrote:
>     > >>> On Tue, 24 Feb 2015, Daniel P. Berrange wrote:
>     > >>>
>     > >>>> need to do more work. If this is so, then I don't think this
>     is a blocker,
>     > >>>> it is just a sign that the project needs to focus on
>     providing more resources
>     > >>>> to the teams impacted in that way.
>     > >>>
>     > >>> What are the mechanisms whereby the project provides more
>     resources
>     > >>> to teams?
>     > >>
>     > >> The technical committee and / or foundation board can highlight
>     the need
>     > >> for investment of resources in critical areas of the project,
>     to either
>     > >> the community members or vendors involved. As an example, this
>     was done
>     > >> successfully recently to increase involvement in maintaining
>     the EC2
>     > >> API support.  There are plenty of vendors involved in OpenStack
>     which
>     > >> have the ability to target resources, if they can learn where those
>     > >> resources are best spent.
>     > >
>     > > Indeed ... and if horizontal teams are the ones hit the most by the
>     > > extra work, each project should help with that burden.  For example,
>     > > projects may need to take their responsibility for documentation
>     more
>     > > seriously and require documentation with features (content at
>     least, not
>     > > necessarily integration into the proper documentation deliverables)
>     > > instead of assuming it magically gets written later.
>     >
>     > Right, and I think this actually hits at the most important part
>     of the
>     > discussion. The question of:
>     >
>     > 1) what would we need to do to make different release cadences viable?
>     > 2) are those good things to do regardless of release cadence?
>     >
>     > The horizontal teams really can't function at different cadences. It
>     > completely breaks any flow and planning at turns them even further
>     into
>     > firefighting because now everyone has crunch time at different times,
>     > and the horizontal efforts are required to just play catch up. I know
>     > what that future looks like, the horizontal teams dry up because
>     no one
>     > wants that job.
>     >
>     > Ok, so that being said, what we'd need to do is have horizontal teams
>     > move to more of a self supporting model. So that the relevant content
>     > for a project (docs, full stack tests, requirements, etc) all live
>     > within that project itself, and aren't centrally synchronized.
>     > Installation of projects needs to be fully isolated from each other so
>     > that upgrading project A can be done independent of project B, as
>     their
>     > release cadences might all bit disparate. Basically, ever OpenStack
>     > project needs to reabsorb the cross project efforts they've
>     externalized.
>     >
>     > Then if project A decided to move off the coupled release, it's impact
>     > to the rest would be minimal. These are robust components that
>     stand on
>     > their own, and work well with robust other components.
>     >
>     > Which... is basically the point of the big tent / new project
>     governance
>     > model. Decompose OpenStack from a giant blob of goo into Robust
>     elements
>     > that are more loosely coupled (so independently robust, and robust in
>     > their interaction with others). Move the horizontal teams into
>     > infrastructure vs. content roles, have projects own more of this
>     content
>     > themselves.
>     >
>     > But it is a long hard process. Devstack external plugins was implement
>     > to support this kind of model, but having walked a bunch of different
>     > teams through this (at all skill levels) there ends up being a lot of
>     > work to get this right, and a lot of rethinking by teams that assumed
>     > their interaction with full stack testing is something they'd get to
>     > contribute once and have someone else maintain (instead of something
>     > they now need dedicated watchful eye on).
>     >
>     > The amount of full stack configurations immediately goes beyond
>     anywhere
>     > near testable, so it requires more robust project testing to ensure
>     > every exposed interface is more robust (i.e. the testing in pyramids
>     > from https://review.openstack.org/#/c/150653/).
>     >
>     > And, I think the answer to #2 is: yes, this just makes it all better.
>     >
>     > So, honestly, I'm massively supportive of the end game. I've been
>     > carving out the bits of this I can for the last six months. But I
>     think
>     > the way we get there is to actually get the refactoring of the
>     > horizontal efforts first.
> 
>     I pretty much fully agree that refactoring the horizontal efforts to
>     distribute responsbility across the individual projects is the way
>     forward. I don't think it needs to be a pre-requisite step for changing
>     the release cycle. We can do both in parallel if we put our minds to
>     it.
> 
>     My biggest fear is that we just keeping debating problems and
>     alternatives,
>     but continue to be too afraid of theoretical problems, to actually
>     take the
>     risk of effecting meaningful improvemnts in the operation of the
>     project.
> 
> 
> I tend to agree with you on this.  I don't think completing the
> refactoring of the horizontal efforts is a pre-requisite of adjusting
> the release model for projects that will be having a coordinated release
> for the foreseeable future.  That being said, maybe it would be easier
> to pick off the projects that don't need to be part of a coordinated
> release first.

Definitely. And doing so would produce a lot of lessons learned about
what's needed to do this correctly. I expect that we can actually free a
lot of projects to do that in Liberty cycle, get some feedback on how
that's working, and evaluate what we can peel off in Marmite.

	-Sean

-- 
Sean Dague
http://dague.net



More information about the OpenStack-dev mailing list