[openstack-dev] [api] [devstack] [ocata] Consistent Endpoint Discovery

Michael Krotscheck krotscheck at gmail.com
Tue Aug 30 17:11:39 UTC 2016

Hey everyone - I have a little bit of a UX request for our API developers.

For the last week or so, I've been working on building version negotiation
logic for an OpenStack SDK. The process is pretty simple:

1- Read clouds.yaml for the keystone URL.
2- Query keystone for the service catalog.
3- Instantiate service instances for each discovered service.
4- Perform version negotiation on each service.

The problem: the service endpoints registered in the catalog all behave
just a little bit differently, which makes building consistent version
negotiation a royal PITA. I've annotated the various behaviors from a
default devstack configuration here: http://paste.openstack.org/show/564863/

In a perfect world, every endpoint would return the same type of resource -
most likely the versions resource as described in the API WG Microversions
spec. It would also be nice if version negotiation can happen without
requiring authentication, the easiest path to which would be supporting the
'max_version' and 'min_version' fields in the root versions resource.

Sadly, this is my last week before I'm no longer paid to contribute to the
OpenStack community, so I can't take on the responsibility of proposing
something of this magnitude as an Ocata goal with only my own free time to
offer. Is there anyone willing to help push this forward?

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.openstack.org/pipermail/openstack-dev/attachments/20160830/a3bf2d1d/attachment.html>

More information about the OpenStack-dev mailing list