[openstack-dev] [nova] Averting the Nova crisis by splitting out virt drivers

Russell Bryant rbryant at redhat.com
Thu Sep 4 22:48:33 UTC 2014


On 09/04/2014 06:24 AM, Daniel P. Berrange wrote:
> Position statement
> ==================
> 
> Over the past year I've increasingly come to the conclusion that
> Nova is heading for (or probably already at) a major crisis. If
> steps are not taken to avert this, the project is likely to loose
> a non-trivial amount of talent, both regular code contributors and
> core team members. That includes myself. This is not good for
> Nova's long term health and so should be of concern to anyone
> involved in Nova and OpenStack.
> 
> For those who don't want to read the whole mail, the executive
> summary is that the nova-core team is an unfixable bottleneck
> in our development process with our current project structure.
> The only way I see to remove the bottleneck is to split the virt
> drivers out of tree and let them all have their own core teams
> in their area of code, leaving current nova core to focus on
> all the common code outside the virt driver impls. I, now, none
> the less urge people to read the whole mail.

Fantastic write-up.  I can't +1 enough the problem statement, which I
think you've done a nice job of framing.  We've taken steps to try to
improve this, but none of them have been big enough.  I feel we've
reached a tipping point.  I think many others do too, and several
proposals being discussed all seem rooted in this same core issue.

When it comes to the proposed solution, I'm +1 on that too, but part of
that is that it's hard for me to ignore the limitations placed on us by
our current review infrastructure (gerrit).

If we ignored gerrit for a moment, is rapid increase in splitting out
components the ideal workflow?  Would we be better off finding a way to
finally just implement a model more like the Linux kernel with
sub-system maintainers and pull requests to a top-level tree?  Maybe.
I'm not convinced that split of repos is obviously better.

You make some good arguments for why splitting has other benefits.
Besides, even if we weren't going to split them and instead wanted to
have separate branches, we'd have to take interface stability much more
seriously.   I think the work immediately needed overlaps quite a bit.

In any case, let's not completely side-tracked on the end game workflow.
 I am completely on board with the idea that we have to move to a model
that involves more than one team and spreading out the responsibility
further than we have thus far.

I don't think we can afford to wait much longer without drastic change,
so let's make it happen.

-- 
Russell Bryant



More information about the OpenStack-dev mailing list