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

2014-03-12 Thread Doug Hellmann
On Tue, Mar 11, 2014 at 11:07 PM, John Griffith john.griff...@solidfire.com
 wrote:

 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 for raising this, John, it's a good reminder.

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.

Doug




 Thanks,
 John


 ___
 OpenStack-dev mailing list
 OpenStack-dev@lists.openstack.org
 http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev


___
OpenStack-dev mailing list
OpenStack-dev@lists.openstack.org
http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev


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

2014-03-11 Thread John Griffith
On Tue, Mar 11, 2014 at 9:07 PM, John Griffith
john.griff...@solidfire.comwrote:

 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

 sorry... it's not nice to reference a link and not include it
[1]: https://bugs.launchpad.net/cinder/+bug/1290503
___
OpenStack-dev mailing list
OpenStack-dev@lists.openstack.org
http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev