<div dir="ltr"><div class="gmail_default" style="font-size:small"><br></div><div class="gmail_extra"><br><br><div class="gmail_quote">On Tue, Mar 11, 2014 at 11:07 PM, John Griffith <span dir="ltr"><<a href="mailto:john.griffith@solidfire.com" target="_blank">john.griffith@solidfire.com</a>></span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr"><div style="font-family:courier new,monospace">Hey Everyone,</div><div style="font-family:courier new,monospace">
<br></div><div style="font-family:courier new,monospace">
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:</div><div style="font-family:courier new,monospace">
<br></div><div style="font-family:courier new,monospace">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.</div>
<div style="font-family:courier new,monospace"><br></div><div style="font-family:courier new,monospace">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.</div>
<div style="font-family:courier new,monospace"><br></div><div style="font-family:courier new,monospace">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).</div>
<div style="font-family:courier new,monospace"><br></div><div style="font-family:courier new,monospace">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].</div>
<div style="font-family:courier new,monospace"><br></div><div style="font-family:courier new,monospace">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).</div>
<div style="font-family:courier new,monospace"><br></div><div style="font-family:courier new,monospace">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.</div>
</div></blockquote><div><br></div><div><div class="gmail_default" style="font-size:small">Thanks for raising this, John, it's a good reminder.</div><div class="gmail_default" style="font-size:small"><br></div><div class="gmail_default" style="font-size:small">
This is also one reason we are going to be working so hard during Juno to move code out of the incubator and into libraries. In addition to eliminating some of the copying, it will force us to address some of these sorts of slight incompatibility issues, because projects won't have private copies to modify.</div>
<div class="gmail_default" style="font-size:small"><br></div><div class="gmail_default" style="font-size:small">Doug</div><br></div><div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<div dir="ltr">
<div style="font-family:courier new,monospace"><br></div><div style="font-family:courier new,monospace">Thanks,</div><div style="font-family:courier new,monospace">
John</div><div style="font-family:courier new,monospace"><br></div></div>
<br>_______________________________________________<br>
OpenStack-dev mailing list<br>
<a href="mailto:OpenStack-dev@lists.openstack.org">OpenStack-dev@lists.openstack.org</a><br>
<a href="http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev" target="_blank">http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev</a><br>
<br></blockquote></div><br></div></div>