[openstack-dev] "Changing" an API
Mellquist, Peter
peter.mellquist at hp.com
Thu Feb 7 01:30:27 UTC 2013
Hi David,
I think the links you point out are good but also quite general. Of course we want "API stability" but...
* tell me in detail what the rules are for when to create an API extension verses not?
* do all Openstack APIs have a required way to express versioning?
* how does a service advertise a version and allow a client to negotiate a version?
* etc...
Many of the new projects pick up the latest Nova or Keystone specs and try to emulate these areas but do we assume that Nova or Keystone API specs are the 'API blueprint' for all?
Good Discussion,
Peter.
-----Original Message-----
From: David Kranz [mailto:david.kranz at qrclab.com]
Sent: Wednesday, February 06, 2013 5:16 PM
To: openstack-dev at lists.openstack.org
Subject: Re: [openstack-dev] "Changing" an API
On 2/6/2013 8:03 PM, Mellquist, Peter wrote:
> Hi Gabriel,
>
> I 100% agree that changes which are totally backward compatible should be allowed rather than bifurcate the APIs with extensions which cause the clients and language bindings grief. Backward compatible changes with a minor version bump is the logical thing to do.
>
> The more general problem is lack of any real API guidelines across all APIs, including versioning as you point out. There exists a relatively small set of guidelines which would solve much of the API mess. My feeling is that all API related decisions are totally up to the PTLs who can do whatever they like. And they do. So we have some API patterns which are good, some bad, and some totally different. In the past there has been push back on creating common API guidelines so I guess I am not totally surprised of what we are seeing.
>
> Peter.
>
This is not entirely true. See
http://wiki.openstack.org/Governance/Approved/APIStability
and
http://wiki.openstack.org/APIChangeGuidelines
There are still gray areas and judgment calls to be made, but the intent
of these documents was to try to provide exactly the kinds of guidelines
you say are lacking. It is an expressed goal of Tempest to catch
user-detectable API changes so they can be dealt with appropriately.
-David
_______________________________________________
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