← Back to team overview

openstack team mailing list archive

Re: OpenStack core components library

 

To be clear, I certainly wasn't proposing this for the Nova Austin
release.  I was just brainstorming for the future.  I was proposing
this as a separate Launchpad project, and there's no reason work
couldn't be going on in this openstack-common project at the same time
as work on Austin...it was just a "big picture" kinda thought...

Cheers!
jay

On Thu, Aug 26, 2010 at 5:46 PM, Christopher MacGown
<chris@xxxxxxxxxxxxx> wrote:
> I think openstack-common is a great idea also, but should we consider
> blueprinting it for discussion in San Antonio at the next openstack summit
> in November? It'll back-burner the thing and people will be able to mull
> over what makes sense to pull out and make common.
> -Chris
>
>
> On Aug 26, 2010, at 4:42 PM, Vishvananda Ishaya wrote:
>
> I openstack-common is a great idea.  I would suggest that it goes in the
> post-austin release of nova.  Integrating the different openstack components
> into a common system seems important, but I think we should solidify the 1.0
> release of nova before focusing on integration.
> Vish
>
> On Thu, Aug 26, 2010 at 12:04 PM, Jay Pipes <jaypipes@xxxxxxxxx> wrote:
>>
>> Hey all,
>>
>> So, I've noticed that there are a lot of similar code in the Nova and
>> Swift (and I presume Glance as well...) that is redundant in its
>> purpose.
>>
>> Examples of redundant code include:
>>
>> Configuration file and options processing
>> =================================
>>
>> In Nova, gflags is used for CLI option processing and there is the
>> --flags-file ability to read configuration options
>> In Swift, the getopt, optparse and ConfigParser are used throughout the
>> codebase
>>
>> WSGI
>> =====
>>
>> In Nova, eventlet.wsgi is used, but wrapped with some convenience
>> functions in /nova/wsgi.py
>> In Swift, same thing, wrappers are in /swift/common/wsgi.py
>>
>> Logging
>> ======
>>
>> Both Nova and Swift use the standard logging module with some utility
>> wrappers linked with the
>> way configuration options are processed.
>>
>> Common utility functions
>> ====================
>>
>> Nova contains a file /nova/utils.py containing common utility functions.
>> Swift contains a file /swift/common/utils.py also containing utility
>> functions, many serving similar purposes of those in Nova and vice
>> versa
>>
>> My proposal is to create another project on Launchpad called
>> openstack-common that will contain a Python library that standardizes
>> and consolidates all the above-mentioned overlap and makes an
>> easy-to-use, well-documented library of common utilities and modules
>> for the OpenStack family of projects to use.  We could definitely be
>> more efficient in re-using code from Nova and Swfit that are
>> redundant, and it would be good to have a common way of, for instance,
>> accessing program configuration options and such.
>>
>> Thoughts?
>>
>> -jay
>>
>> _______________________________________________
>> Mailing list: https://launchpad.net/~openstack
>> Post to     : openstack@xxxxxxxxxxxxxxxxxxx
>> Unsubscribe : https://launchpad.net/~openstack
>> More help   : https://help.launchpad.net/ListHelp
>
> _______________________________________________
> Mailing list: https://launchpad.net/~openstack
> Post to     : openstack@xxxxxxxxxxxxxxxxxxx
> Unsubscribe : https://launchpad.net/~openstack
> More help   : https://help.launchpad.net/ListHelp
>
>



References