At the suggestion of Doug Hellmann, and relative to a conversation with him and 
Flavio at Summit. Doug suggested that I pose this question on the dev mailing 
list so someone from OSLO can communicate the answer to the entire community 
(rather than just the private email exchange that we had).

Here's the situation, I'm using loopingcall.py as an example, this is not 
limited to this module but serves as an example.

An OSLO incubator module loopingcall depends on another OSLO incubator module 
timeutils.

timeutils has graduated [drum-roll] and is now part of oslo.utils.

There is also other project code that references timeutils.

So, to handle the graduation of timeutils, the changes I'll be making are:


1.  Remove timeutils from openstack-common.conf

2.  Make the project code reference oslo.utils

But what of loopingcall? Should I


a.  Update it and change the import(s) therein to point to oslo.utils, or

b.  Sync the oslo-incubator code for loopingcall, picking up all changes at 
least upto and including the change in oslo-incubator that handles the 
graduation of oslo.utils.

In speaking with Doug and Flavio, (after I submitted copious amounts of code 
that did (a)) above, I've come to learn that I chose the wrong answer. The 
correct answer is (b). This doesn't have to be part of the same commit, and 
what I've ended up doing is this ...


c.  Leave timeutils in <project>/openstack/common and let oslo-incubator depend 
on it while migrating the project to use oslo.utils. In a subsequent commit, a 
sync from oslo-incubator can happen.

I'd like someone on OSLO to confirm this, and for other projects whose lead I 
followed, you may want to address these in the changes you have in flight or 
have already merged.

Thanks,

-amrith


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

Reply via email to