[OpenStack-Infra] Announcing a new infrastructure project, Vinz code review system.

Clint Byrum clint at fewbar.com
Mon Mar 17 19:43:37 UTC 2014


Excerpts from Philip Schwartz's message of 2014-03-17 12:01:29 -0700:
> 
> On 3/17/14, 12:59 PM, "Thierry Carrez" <thierry at openstack.org> wrote:
> >Being fully aware of the irony, I'll play the devil's advocate:
> >
> >Could you detail why improving Gerrit is not an option ? At first glance
> >its development seemed to be open enough, and it didn't appear
> >fundamentally wrong (just needing a few incremental changes).
> 
> Thierry,
> 
> I am glad that you asked this question as it was the first thing that I
> looked at. As most know, Gerrit is a monolithic Java application. For a
> community of python developers (many of which know Java), it is not the
> best code base to work with. It has a steep learning curve for new
> developers to make changes to the software as a whole. This is the first
> issue I see with modifying Gerrit directly.
> 

I would have a hard time getting used to a brand new code base, even
though I do know python a while. I think this is a very small issue.
Java is well known and there are likely many Java developers out there
involved with OpenStack who are learning python for the first time too.
The point of Python in OpenStack is that we want to make sure operators
can approach the code of the bits they'll be operating. The pieces of
our development infrastucture are quite a bit different.

> The second is the project itself. Yes, it moves forward at a good pace,
> but they take a majority of guidance from 2 open source projects (Android
> and wikimedia). This tends to leave issues from smaller projects, or
> parties, left in limbo or voted against as they do not align with the
> goals they see fit along with not offering a recourse for discussion of
> it. 
>

According to ohloh.net:

http://www.ohloh.net/p/android - 576 developers
http://www.ohloh.net/p/mediawiki - 233 developers
http://www.ohloh.net/p/openstack - 1556 developers

So I'm not sure why we would consider ourselves "small" as a user of
Gerrit. IMO we should carry 3x more weight than Android as users. I
suspect that we are considered "small" because our contribution is
small.

> The third problem I see it is how the system is extended itself, this is
> through triggers and plugins. They get the job done, but leave much wanted
> in easy of adding to the system. The first issue I see is with triggers,
> you either have to script or write an application to connect into Gerrit
> and poll for triggers on a review. Second is with plugins being pure java
> code with a strict format of plugins that requires a developer to have a
> fully working Gerrit developer install along with a working knowledge of
> the structure of the plugin API in order to build a new plugin. (Not
> difficult, but time consuming for developers that have never worked with
> the Gerrit code base).
>

Is it unreasonable to try and add a better system for extending and
integrating with Gerrit? I go back to the fact that the challenge for a
Python team with a python plugin will only be slightly less, so I don't
think this is a really great argument for writing something from
scratch.

> I feel that our proposal of a complete replacement written in python and
> using parts of oslo will lead to a cleaner and more maintainable tool for
> OpenStack in the long run. Using Oslo and styling standards of the
> OpenStack project will allow a much greater audience of developers to
> extend the system which I feel in turn will lead to a much better tool.
>

Storyboard is not a good example of a reason to do this. Storyboard
is coming from a place where there really isn't a tool that will meet
the needs of OpenStack's processes. Launchpad is already written in
Python, but we are not going to fix/extend it because it is an extremely
monolithic code base and we're not really interested in rewriting it to
be lean.

To my mind, Gerrit is doing its job well, and we'd just like to make
some incremental improvements.

> Also starting a new tool like this at this time gives us one more large
> opportunity. This is being able to share code and integrate with
> Storyboard from an early stage while Storyboard is still in development.
> Currently integration of launchpad and Gerrit are at a very minimal
> amount. With the ongoing development of Storyboard we are in a unique
> place to be able to share style guidelines and UI elements leading to a
> set of tools that will have a much more cohesive feel.
> 


Please please, even if you go through, do not integrate tightly with
Storyboard. Use the API it provides, drive the API development, and keep
them modular so that we can improve them at different paces.



More information about the OpenStack-Infra mailing list