<html><head></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space; ">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.<div><br></div><div>-Chris<br><div><br></div><div><br><div><div>On Aug 26, 2010, at 4:42 PM, Vishvananda Ishaya wrote:</div><br class="Apple-interchange-newline"><blockquote type="cite">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.<div>
<br></div><div>Vish<br><br><div class="gmail_quote">On Thu, Aug 26, 2010 at 12:04 PM, Jay Pipes <span dir="ltr"><<a href="mailto:jaypipes@gmail.com">jaypipes@gmail.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;">
Hey all,<br>
<br>
So, I've noticed that there are a lot of similar code in the Nova and<br>
Swift (and I presume Glance as well...) that is redundant in its<br>
purpose.<br>
<br>
Examples of redundant code include:<br>
<br>
Configuration file and options processing<br>
=================================<br>
<br>
In Nova, gflags is used for CLI option processing and there is the<br>
--flags-file ability to read configuration options<br>
In Swift, the getopt, optparse and ConfigParser are used throughout the codebase<br>
<br>
WSGI<br>
=====<br>
<br>
In Nova, eventlet.wsgi is used, but wrapped with some convenience<br>
functions in /nova/wsgi.py<br>
In Swift, same thing, wrappers are in /swift/common/wsgi.py<br>
<br>
Logging<br>
======<br>
<br>
Both Nova and Swift use the standard logging module with some utility<br>
wrappers linked with the<br>
way configuration options are processed.<br>
<br>
Common utility functions<br>
====================<br>
<br>
Nova contains a file /nova/utils.py containing common utility functions.<br>
Swift contains a file /swift/common/utils.py also containing utility<br>
functions, many serving similar purposes of those in Nova and vice<br>
versa<br>
<br>
My proposal is to create another project on Launchpad called<br>
openstack-common that will contain a Python library that standardizes<br>
and consolidates all the above-mentioned overlap and makes an<br>
easy-to-use, well-documented library of common utilities and modules<br>
for the OpenStack family of projects to use.  We could definitely be<br>
more efficient in re-using code from Nova and Swfit that are<br>
redundant, and it would be good to have a common way of, for instance,<br>
accessing program configuration options and such.<br>
<br>
Thoughts?<br>
<br>
-jay<br>
<br>
_______________________________________________<br>
Mailing list: <a href="https://launchpad.net/~openstack" target="_blank">https://launchpad.net/~openstack</a><br>
Post to     : <a href="mailto:openstack@lists.launchpad.net">openstack@lists.launchpad.net</a><br>
Unsubscribe : <a href="https://launchpad.net/~openstack" target="_blank">https://launchpad.net/~openstack</a><br>
More help   : <a href="https://help.launchpad.net/ListHelp" target="_blank">https://help.launchpad.net/ListHelp</a><br>
</blockquote></div><br></div>
_______________________________________________<br>Mailing list: <a href="https://launchpad.net/~openstack">https://launchpad.net/~openstack</a><br>Post to     : <a href="mailto:openstack@lists.launchpad.net">openstack@lists.launchpad.net</a><br>Unsubscribe : <a href="https://launchpad.net/~openstack">https://launchpad.net/~openstack</a><br>More help   : <a href="https://help.launchpad.net/ListHelp">https://help.launchpad.net/ListHelp</a><br></blockquote></div><br></div></div></body></html>