[openstack-dev] [Nova] Spring cleaning nova-core
gkotton at vmware.com
Mon Dec 8 08:25:07 UTC 2014
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 project.
From: Sylvain Bauza <sbauza at redhat.com<mailto:sbauza at redhat.com>>
Reply-To: OpenStack List <openstack-dev at lists.openstack.org<mailto:openstack-dev at lists.openstack.org>>
Date: Monday, December 8, 2014 at 10:15 AM
To: OpenStack List <openstack-dev at lists.openstack.org<mailto:openstack-dev at lists.openstack.org>>
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 Scheduler).
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
Agreed. We alternate the meeting times such that this shouldn't be hard,
OpenStack-dev mailing list
OpenStack-dev at lists.openstack.org<mailto:OpenStack-dev at lists.openstack.org>http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev
-------------- next part --------------
An HTML attachment was scrubbed...
More information about the OpenStack-dev