On Feb 11, 2014, at 3:02 PM, Boris Pavlovic <bpavlo...@mirantis.com> wrote:

> Jesse,
> 
> Why not next approach:
> 1) Switch all clients to apiclient[1] (internal unification)

This was discussed several weeks ago here:

http://lists.openstack.org/pipermail/openstack-dev/2014-January/024441.html

This discussion covered everything you mention and more. At that time, it was 
pointed out the blueprint that the internal unification work was being checked 
in against lacked sufficient design, thought towards the end-user (e.g. 
developers). I have spoken to *a lot* of people - across multiple projects and 
teams (and companies) who concur that wrapping the existing clients is 
insufficient and actively *harmful* to the experience of end-users and 
consumers of openstack clouds. More below:

> 2) Unify API of all clients (external unification)
> 3) Unify work with keystone
> 4) Graduate apiclient
> 5) Switch all clients to apiclient lib
> 6) Make one simple plugable mechanism. e.g. subclass based factory + steavdore
> 7) Add one by one subclasse that present client in this factory 
> 8) In one pretty day stop gates & switch to unified client.
> 
> This is actually step by step solution that works for community and could be 
> done independently by tons of developers.
> 

When this last came up, I was Linus’ed:

http://lists.openstack.org/pipermail/openstack-dev/2014-January/024583.html

And not everyone in openstack core is aligned with the common-client-library-2 
work:
https://review.openstack.org/#/q/topic:bp/common-client-library-2,n,z

And it is generally agreed that although “big up-front design” can be a drag, 
the current blueprints and work is confusing and a project like this actually 
requires a deal of design of front to ensure that the API contracts and 
interfaces we expose to users is consistent, usable and not entirely optimized 
for “developers who work on openstack”.

common-client-library-2: 
https://blueprints.launchpad.net/oslo/+spec/common-client-library-2

The blueprint is not a design, or a justification - it’s a todo list and while 
I think code cleanup and reuse is generally a Good Thing, I don’t think 
imposing a series of changes without some coordination and planning across the 
-dev group is going to end up with a good, consistent *end-user* experience. In 
fact, I think the goals are orthogonal - the goals of this BP work seems to be 
to reduce duplicated code; this is an optimization for the OpenStack project.

The python-openstacksdk and python-openstackclient are aimed at a fundamentally 
different (but overlapping set sometimes) audience: developers building 
applications that target openstack deployments, and other end-users. See the 
audience section here:

        • Application Developers: Application developers are not OpenStack 
Operators or Developers. These are developers looking to consume a feature-rich 
OpenStack Cloud with its many services. These Developers require a consistent, 
single namespace API ("Application Programming Interface") that allows them to 
build and deploy their application with minimal dependencies.

In a perfect scenario: python-openstackclient’s 1 dependency becomes 
python-openstacksdk which in turn has a dependency list of 1 or two fundamental 
libraries (e.g. requests). 

I did propose in the original thread that we join efforts: in fact, we already 
have a fully functioning, unified SDK that *could* be checked in today - but 
without discussing the APIs, design and other items with the community at 
large, I don’t think that that would be successful.


> 
> [1] 
> https://github.com/openstack/oslo-incubator/tree/master/openstack/common/apiclient
> 
> 
> Best regards, 
> Boris Pavlovic 
> 
> 
> On Wed, Feb 12, 2014 at 12:40 AM, Jesse Noller <jesse.nol...@rackspace.com> 
> wrote:
> As I said last week; we’re ready to kickoff and have regular meetings for the 
> “unified python SDK” project. The initial meeting is scheduled on the wiki:
> 
> https://wiki.openstack.org/wiki/Meetings#python-openstacksdk_Meeting
> 
> Date/Time: Feb. 19th - 19:00 UTC / 1pm CST
> 
> IRC channel: #openstack-meeting-3
> 
> Meeting Agenda:
>         https://wiki.openstack.org/wiki/Meetings/PythonOpenStackSDK
> 
> About the project:
>         https://wiki.openstack.org/wiki/PythonOpenStackSDK
> 
> If you have questions, all of us lurk in #openstack-sdks on freenode!
> 
> See you then.
> 
> Jesse
> _______________________________________________
> OpenStack-dev mailing list
> OpenStack-dev@lists.openstack.org
> http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev
> 
> _______________________________________________
> OpenStack-dev mailing list
> OpenStack-dev@lists.openstack.org
> http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev


_______________________________________________
OpenStack-dev mailing list
OpenStack-dev@lists.openstack.org
http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev

Reply via email to