[openstack-dev] [OpenStack-Dev] Refresher on OSLO-Incubator

John Griffith john.griffith at solidfire.com
Wed Mar 12 03:07:43 UTC 2014


Hey Everyone,

I wanted to send an email out to point out something that we ran across in
Cinder yesterday.  First I want to review my understanding of how
OSLO-Incubator is intended to work:

The idea behind having the OSLO repository is to consolidate the various
modules and such that all of the OpenStack projects use.  Not only is this
great to reduce code duplication (at least reinventing the wheel), it also
provides consistency and what should in the end be more reliable modules
for all of those methods and functionality that all of the OpenStack
projects share.

Typically in Cinder if a patch comes along that attempts to modify anything
in cinder/openstack/common directly it's rejected, the reason is that the
idea of OSLO is that it is to be the master/upstream repository for the
shared code.  If a change is needed or a bug needs fixing it needs to be
fixed their first, and then synched back to the other projects.

In my personal opinion the whole concept of OSLO-Incubator falls apart and
doesn't work if this process isn't followed.  If the OSLO code needs a
special customization for a single project then we need to look at the
module and see if it can be modified to suit everyones needs, or said
project just shouldn't import that module and should use their own (I know
some won't like that but hey, it's reality).

Anyway, the reason I'm sending this email out is that recently we had a
problem showing up in CI with Cinder-API logging a ton of tracebacks.  It
wasn't overly visible at first because the tests were actually passing, but
it was a problem in logging and the logging messages.  After some digging
it turned out that the problem was actually a bug in the
openstack/common/log.py module which we just recently synched from OSLO,
bug here [1].

When I first started looking at this I discounted the synch with log.py
because I noticed that other project (based on git history) had performed
the same sync recently and had the same version.  After some digging and
some work by Luis and others however we noticed that those projects had
patched the log.py file directly in the project (Nova and Glance
inparticular).

So the problem now is that even though we have what we call "common" it
seems there's a good chance that a number of projects have their own custom
version of the code that's there.  That defeats the purpose in my opinion.
 I don't want to argue the concept or policy of OSLO-Incubator code, but my
point is that we do have a policy and we agreed on it so we should be
careful to make sure we follow it.  It's easy for things like this to slip
by so I'm by no means criticizing (especially since I'm sure there's
similar things in Cinder), I just mentioned it in the project meeting today
and folks thought it might be good to get it out on the ML to remind all of
us about the process here.

Thanks,
John
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.openstack.org/pipermail/openstack-dev/attachments/20140311/5ad4a0ae/attachment.html>


More information about the OpenStack-dev mailing list