[openstack-dev] [metrics] Continuous deployment - significant process change

Jesus M. Gonzalez-Barahona jgb at bitergia.com
Tue Apr 30 21:06:36 UTC 2013


On Mon, 2013-04-29 at 17:50 -0400, Russell Bryant wrote:
> On 04/29/2013 05:04 PM, Robert Collins wrote:
> > We had a process track session about bringing in upstream continuous
> > deployment for openstack.
> > https://etherpad.openstack.org/HavanaContinuousDeployment
> > 
> > I suspect that while the session was good with both deployer and
> > distributor attendees, we need to do more to make it happen, as it
> > impinges on review / testing / backwards compat requirements for every
> > project.
> > 
> > Note that CD doesn't require no-downtime deployments, CD is about
> > being able to adopt *any arbitrary revision of trunk* at *any point in
> > time*. The engineering required to do deployments without disruption
> > is beneficial to both CD and per-release deployments.
> > 
> > Here are the key takeaways we came up with:
> >  * No more big landings [except the purely mechanical]. Set a hard
> > limit - maybe 500 lines of diff. Big landings are more risky per line
> > of diff than small ones due to reviewer cognitive overhead - reviewers
> > get non-linearly less effective the larger the review.
> > 
> 
> I don't think we can set a # of lines that always makes sense.  However,
> I feel like in Nova we already do a nice job of pushing back hard on
> large patches in favor of breaking them up into a reasonable patch series.
> 
> https://wiki.openstack.org/wiki/GitCommitMessages
> 
> So, at least for Nova, this is business as usual.
[...]

Some numbers, just in case they are useful:

OpenStack (all projects):
Total number of commits: 29,943
Commits with > 250 lines added+removed: 3,239 (10.81%)
Commits with > 500 lines added+removed: 1,766 (5.89%)
Commits with > 1000 lines added+removed: 945 (3.15%)

Openstack (all projects, since 2013-01-01):
Total number of commits: 3,850
Commits with > 500 lines added+removed: 265 (6,88%)

Nova:
Total number of commits: 12,683
Commits with > 500 lines added+removed: 535 (4.21%)

Nova (since 2013-01-01):

Total number of commits: 1052
Commits with > 500 lines added+removed: 58 (5.51%)

[All of this, up to 2013-03-25, excluding commits whith 0 lines added
and removed, which usually are merge commits]

So, it seems Nova is below the numbers for the whole project, although
the fraction of large patches seems to be increasing in both cases.

More detailed numbers, such as evolution over time for each project
could be produced.

Saludos,

	Jesus.

PS: All of these data can be calculated on the database produced by
CVSAnalY, which you can get as the dumpfile
openstack_git_2013_04_04.mysql.7z from
http://bitergia.com/public/reports/openstack/2013_04_grizzly/data/db/

[Well, I used an slightly older version, that's why it gets only up to
April 25th]

Updated database dumps soon to be available at
http://activity.openstack.org/dash/

Queries used:

select max(date) from scmlog;

# All OpenStack projects
select count(commit_id) from commits_lines where added+removed > 0;
select count(commit_id) from commits_lines where added+removed > 250;
select count(commit_id) from commits_lines where added+removed > 500;
select count(commit_id) from commits_lines where added+removed > 1000;

# All OpenStack projects since 2013-01-01
select count(commit_id) from commits_lines,scmlog
where added+removed > 500  and scmlog.id=commit_id and
  scmlog.date>="2013-01-01";
select count(commit_id) from commits_lines,scmlog
where added+removed > 0  and scmlog.id=commit_id and
  scmlog.date>="2013-01-01";

# Nova
select count(commit_id) from commits_lines,scmlog
where added+removed > 500 and scmlog.id=commit_id and
  scmlog.repository_id=13;
select count(commit_id) from commits_lines,scmlog
where added+removed > 0 and scmlog.id=commit_id and
  scmlog.repository_id=13;

# Nova since 2013-01-01
select count(commit_id) from commits_lines,scmlog
where added+removed > 0  and scmlog.id=commit_id and
  scmlog.repository_id=13 and scmlog.date>="2013-01-01";
select count(commit_id) from commits_lines,scmlog
where added+removed > 500  and scmlog.id=commit_id and
  scmlog.repository_id=13 and scmlog.date>="2013-01-01";

-- 
-- 
Bitergia: http://bitergia.com http://blog.bitergia.com




More information about the OpenStack-dev mailing list