Thanks for the summary on this topic, Monty. Comments inline On Mon, 2011-11-07 at 10:53 -0800, Monty Taylor wrote: > Dealing with the client libraries has become a little bit of a tricky > subject, which is both lacking consistency and direction - but is kind > of essential to the project. (a service without a client library isn't > nearly as useful) At UDS this past week, Joe Heck, Jim Blair and I sat > down for a while and worked through a bunch of the issues and would like > to propose the following: > > - Each project that exposes an API should have a separate client library > project. For instance, python-novaclient, python-glanceclient, etc.
I'd prefer to name the clients based on the API that they talk, not the name of the reference implementation project. So, I'd prefer this: Client library that speaks the OpenStack Images API: python-openstack-image-client Reference implementation of OpenStack Images API server: python-glance That way, it's clear from the client library package name that: a) It's a client library for an OpenStack API b) The client isn't tied to the reference implementation server(s) > - Each of these projects will have its own top-level git repo and be > managed by gerrit just like a core project. ++ > - The python-*client project will be under the purvue of the PTL for the > main project (mainly so that we don't have an explosion of PTLs all of a > sudden) ++ > - Each client library project will release milestones and final releases > on the same schedule as the rest of the core projects. Agree with notmyname on questioning why the above is necessary, or even advisable, considering a true client library package only needs to change when an API changes, not when a server-side reference implementation changes. > - The client libraries will release directly to PyPI at final release > time. If we do this, releasing the need to release main core projects to > PyPI is obviated (which is good, as we do not expect anyone to actually > install a running OpenStack from PyPI - but it is reasonable to expect > people to want to use client libraries from PyPI) w00t. MUCH needed. Can we get this done this week? ;) > - OpenStack projects that need to depend on these will reference the git > repo of the project in their tools/pip-requires file. This should take > care of depends for developers. Normal installation depends can be taken > care of by distro packagers as usual. ++ <snip> > Finally, as we're on the cusp of rolling out some integration-test > gating of trunk, it's important that we can also gate all of the > components that are used as a part of that gating. (would suck if the > client lib being used to test broke all of a sudden) +10 > We'd love to get a PPB vote on this approach, and if people consent > begin to implement it. Glance needs to split its client lib out, and > keystone and nova client libs need to get moved to gerrit and the > openstack org. Also agree with notmyname on this one... I don't think the PPB needs to be involved in this. Cheers! -jay _______________________________________________ Mailing list: https://launchpad.net/~openstack-poc Post to : [email protected] Unsubscribe : https://launchpad.net/~openstack-poc More help : https://help.launchpad.net/ListHelp

