[openstack-dev] [python-openstacksdk] First meeting scheduled

Jesse Noller jesse.noller at RACKSPACE.COM
Tue Feb 11 21:30:34 UTC 2014


On Feb 11, 2014, at 3:02 PM, Boris Pavlovic <bpavlovic at 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.noller at 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 at lists.openstack.org
> http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev
> 
> _______________________________________________
> OpenStack-dev mailing list
> OpenStack-dev at lists.openstack.org
> http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev




More information about the OpenStack-dev mailing list