I would expect that if a core does not understand a piece of code then he/she 
would not approve it they can always give a +1 and be honest that it is not 
part of the code base that they understand. That is legitimate in such a 
complex and large project.
We all make mistakes, it is the only way that we can learn and grow. Limiting 
the size of the core team is limiting the growth, quality and pulse of the 

From: Sylvain Bauza <sba...@redhat.com<mailto:sba...@redhat.com>>
Reply-To: OpenStack List 
Date: Monday, December 8, 2014 at 10:15 AM
To: OpenStack List 
Subject: Re: [openstack-dev] [Nova] Spring cleaning nova-core

Le 07/12/2014 23:27, Dan Smith a écrit :

The argument boils down to there is a communications cost to adding
someone to core, and therefore there is a maximum size before the
communications burden becomes to great.

I'm definitely of the mindset that the core team is something that has a
maximum effective size. Nova is complicated and always changing; keeping
everyone on top of current development themes is difficult. Just last
week, we merged a patch that bumped the version of an RPC API without
making the manager tolerant of the previous version. That's a theme
we've had for a while, and yet it was still acked by two cores.

A major complaint I hear a lot is "one core told me to do X and then
another core told me to do !X". Obviously this will always happen, but I
do think that the larger and more disconnected the core team becomes,
the more often this will occur. If all the cores reviewed at the rate of
the top five and we still had a throughput problem, then evaluating the
optimal size would be a thing we'd need to do. However, even at the
current size, we have (IMHO) communication problems, mostly uninvolved
cores, and patches going in that break versioning rules. Making the team
arbitrarily larger doesn't seem like a good idea to me.

As a non-core, I can't speak about how cores communicate within the team. That 
said, I can just say it is sometimes very hard to review all the codepaths that 
Nova has, in particular when some new rules are coming in (for example, API 
microversions, online data migrations or reducing the tech debt in the 

As a consequence, I can understand that some people can do mistakes when 
reviewing a specific change because they are not experts or because they missed 
some important non-written good practice.
That said, I think this situatiion doesn't necessarly mean that it can't be 
improved by simple rules.

For example, the revert policy is a good thing : errors can happen, and 
admitting that it's normal that a revert can happen in the next couple of days 
seems fine by me. Also, why not considering that some cores are more experts 
than others in a single codepath ? I mean, we all know who to address if we 
have some specific questions about a change (like impacting virt drivers, 
objects, or API). So, why a change wouldn't be at least +1'd by these expert 
cores before *approving* it ?

As Nova is growing, I'm not sure if it's good to cap the team. IMHO, mistakes 
are human, that shouldn't be the reason why the team is not growing, but rather 
how we can make sure that disagreements wouldn't be a problem.

(Now going back in my cavern)

I will say that I am disappointed that we have cores who don't
regularly attend our IRC meetings. That makes the communication much
more complicated.

Agreed. We alternate the meeting times such that this shouldn't be hard,


OpenStack-dev mailing list

OpenStack-dev mailing list

Reply via email to