openstack team mailing list archive
-
openstack team
-
Mailing list archive
-
Message #03343
OpenStack Common
All,
I love the idea of having an openstack-common project. However, the prospect of creating such a project is daunting and quite difficult.
It's my belief that standardizing/collecting common logic into a single module will be beneficial to our current code-base and allow for future projects to be created more quickly/easily.
Currently the behemoth in the room is OpenStack Compute (aka Nova). The Compute project contains much more code than all other OpenStack projects (combined), and rightly so...virtualization is a pretty darn complex thing to do in a flexible way. This might be why other projects have been spawned to take away some of the logic from a single massive project and place that logic into smaller, more focused projects.
However, I would argue that the barrier of entry is too high for this strategy to work. Projects such as Quantum, Burrow, Lunr, and Keystone suffer from the lack of a single cohesive strategy in the following areas:
-Logging
-Configuration
-WSGI
-RPC
-Database
-Testing
-Deployment/Distribution of code
These are the building blocks which most projects will require, yet every project has to create their own implementations? Sure, it's not going to be easy, and maybe some categories I've labeled won't make the final cut, but I would like to start a conversation with the community as to the feasibility of such an endeavor.
This is not the first time such a project has been brought up. Much earlier in the year, a number of people suggested moving "lazy loading" code into a common project. I would like to think that project died due to complexity rather than the community rejecting the idea.
To create a common library of this nature requires a bit of pushing aside one's partisan blinders and the abandonment of ideological entrenchments*, so hopefully this won't deteriorate into a FLAGS vs. argparse flame-war.
TLDR: No
* - Shamelessly stolen from The West Wing (tm)
Follow ups