[openstack-dev] [oslo] Split Oslo Incubator?

Ihar Hrachyshka ihrachys at redhat.com
Tue Apr 8 11:54:18 UTC 2014


-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA512

On 08/04/14 12:35, Victor Stinner wrote:
> (Follow-up of the "[olso] use of the "oslo" namespace package"
> thread)
> 
> Hi,
> 
> The openstack.common module also known as "Oslo Incubator" or
> "OpenStack Common Libraries" has 44 dependencies. IMO we reach a
> point where it became too huge. Would it be possible to split it
> into smaller parts and distribute it on PyPI with a stable API? I
> don't know Olso Incubator enough to suggest the best granularity. A
> hint can be the number of dependencies.
> 

The code put into oslo-incubator is intended to stay there until API
is stable enough. Once it matures, it should be moved to a separate
library. So oslo-incubator cannot be considered as a library with
stable API, by design.

> Sharing code is a good idea, but now we have SQLAchmey, WSGI,
> cryptographic, RPC, etc. in the same module. Who needs all these
> features at once? Olso Incubator must be usable outside OpenStack.
> 
> 
> Currently, Oslo Incubator is installed and updated manually using a
>  "update.sh" script which copy ".py" files and replace
> "openstack.common" with "nova.openstack.common" (where nova is the
> name of the project where Oslo Incubator is installed).
> 
> I guess that update.sh was written to solve the two following
> points, tell me if I'm wrong:
> 
> - unstable API: the code changes too often, whereas users don't
> want to update their code regulary. Nova has maybe an old version
> of Olso Incubator because of that.
> 
> - only copy a few files to avoid a lot of dependencies and copy
> useless files
> 

Yes, you're right about the intended motivation in both cases.

> Smaller modules should solve these issues. They should be used as
> module: installed system-wide, not copied in each project. So
> fixing a bug would only require a single change, without having to
> "synchronize" each project.
> 

That's exactly where the Oslo team currently heads to - moving code
from oslo-incubator to separate modules and eventually obsoleting
oslo-incubator.

> 
> Yesterday, I proposed to add a new time_monotonic() function to the
> timeutils module. We asked me to enhance existing modules (like
> Monotime).
> 
> We should now maybe move code from Oslo Incubator to "upstream"
> projects. For example, timeutils extends the iso8601 module. We
> should maybe contribute to this project and replace usage of
> timeutils with directy call to iso8601?
> 

Indeed, those features that may be used outside Openstack should be
merged to existing modules, or separate modules. There is still
openstack-specific code though that should be left under the 'oslo' hood.

> Victor
> 
> _______________________________________________ OpenStack-dev
> mailing list OpenStack-dev at lists.openstack.org 
> http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev
> 
-----BEGIN PGP SIGNATURE-----
Version: GnuPG/MacGPG2 v2.0.22 (Darwin)
Comment: Using GnuPG with Thunderbird - http://www.enigmail.net/

iQEcBAEBCgAGBQJTQ+NqAAoJEC5aWaUY1u57AuQH/2kQLYfIVVKJTBir6J2gk+X/
3ClBKX2H7RB2jr/CzP42BKkFfCpuHzCISHa3S4RqjY0zIT/ieGei77ynaPt6f5jx
kBYimUeTGAxhUkQuPDMeYsz9ZqtZ5JYprj+TKGi+nE6st3qFG+9zxvEl/YLzXFFy
lHaJzFfqqehaGlsEZBruCJGW+ZsNn9pY9WNzDagADj8XKx6KabKI47T0iMmCAgvd
ZMLZjXw6wtvR+/x8ADwdEmJksYPR6ANa9gszqg0myHygwnFA8l7th1m8EjsQN+t8
Y14qTaELOeWxfOsSeLsfnjODZBowOtzHJeWybKdYADwyeVhwkYWeheCDp5HSMk4=
=qmnD
-----END PGP SIGNATURE-----



More information about the OpenStack-dev mailing list