[Openstack] Are the Python APIs public or internal?

Miller, Mark M (EB SW Cloud - R&D - Corvallis) mark.m.miller at hp.com
Fri Mar 1 17:50:27 UTC 2013


I have a question about the keystone client. You just mentioned keystoneclient.v3. I was under the impression that the keystone client was going to be deprecated and replaced by the openstackclient. However, when I checked yesterday I noticed that the openstackclient was listed as "abandoned". Are you saying that an updated version of the keystoneclient will shortly be made available for V3? If so, would you please post the URL for the project?

Thanks,

Mark

From: openstack-bounces+mark.m.miller=hp.com at lists.launchpad.net [mailto:openstack-bounces+mark.m.miller=hp.com at lists.launchpad.net] On Behalf Of Dolph Mathews
Sent: Friday, March 01, 2013 5:51 AM
To: Lorin Hochstein
Cc: openstack at lists.launchpad.net (openstack at lists.launchpad.net)
Subject: Re: [Openstack] Are the Python APIs public or internal?

I believe they should certainly be treated as public API's -- just like any other library. I'd also treat them as stable if they've ever been included in a versioned release. That said, I'm sure it would be easy to find examples of methods & attributes within the library that are not intended to be consumed externally, but perhaps either the naming convention or documentation doesn't sufficiently indicate that.

In keysoneclient, we're making backwards incompatible changes in a new subpackage (keystoneclient.v3) while maintaing compatibility in the common client code. For example, you should always be able to initialize the client with a tenant_id / tenant_name, even though the client will soon be using project_id / project_name internally to reflect our revised lingo.


-Dolph

On Thu, Feb 28, 2013 at 11:07 PM, Lorin Hochstein <lorin at nimbisservices.com<mailto:lorin at nimbisservices.com>> wrote:
Here's an issue that came up in the operators doc sprint this week.

Let's say I wanted to write some Python scripts using the APIs exposed by the python-*client packages. As a concrete example, let's say I wrote a script that uses the keystone Python API that's exposed in the python-keystoneclient package:

https://github.com/lorin/openstack-ansible/blob/master/playbooks/keystone/files/keystone-init.py

Are these APIs "public" or "stable"  in some meaningful way? (i.e., can I count on this script still working across minor release upgrades)? Or should they be treated like "internal" APIs that could be changed at any time in the future? Or is this not defined at all?

Lorin


_______________________________________________
Mailing list: https://launchpad.net/~openstack
Post to     : openstack at lists.launchpad.net<mailto:openstack at lists.launchpad.net>
Unsubscribe : https://launchpad.net/~openstack
More help   : https://help.launchpad.net/ListHelp

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.openstack.org/pipermail/openstack/attachments/20130301/9e090a08/attachment.html>


More information about the Openstack mailing list