[openstack-dev] [api] service type vs. project name for use in headers

Sean Dague sean at dague.net
Mon Feb 1 14:24:55 UTC 2016


On 02/01/2016 09:13 AM, Brant Knudson wrote:
> 
> 
> On Wed, Jan 27, 2016 at 1:47 PM, michael mccune <msm at redhat.com
> <mailto:msm at redhat.com>> wrote:
> 
>     hi all,
> 
>     there have been a few reviews recently where the issue of service
>     type versus project name have come up for use in the headers. as
>     usual this conversation can get quite murky as there are several
>     good examples where service type alone is not sufficient (for
>     example if a service exposes several api controllers), and as has
>     been pointed out project name can also be problematic (for example
>     projects can change name).
> 
>     i'm curious if we could come to a consensus regarding the use of
>     service type *or* project name for headers. i propose leaving the
>     ultimate decision up to the projects involved to choose the most
>     appropriate identifier for their custom headers.
> 
>     i am not convinced that we would ever need to have a standard on how
>     these names are chosen for the header values, or if we would even
>     need to have header names that could be deduced. for me, it would be
>     much better for the projects use an identifier that makes sense to
>     them, *and* for each project to have good api documentation.
> 
>     so, instead of using examples where we have header names like
>     "OpenStack-Some-[SERVICE_TYPE]-Header", maybe we should suggest
>     "OpenStack-Some-[SERVICE_TYPE or PROJECT_NAME]-Header" as our guideline.
> 
>     for reference, here are the current reviews that are circling around
>     this issue:
> 
>     https://review.openstack.org/#/c/243429
>     https://review.openstack.org/#/c/273158
>     https://review.openstack.org/#/c/243414
> 
>     and one that has already been merged:
> 
>     https://review.openstack.org/#/c/196918
> 
>     thoughts?
> 
> 
> Why does the service type or name need to be in the header at all? The
> request goes to a specific service so the server and client already know
> the service type or name. - Brant

Sometimes it does. But some times we have one service return ref links
to another url, which might be in a different service.

A very common instance is Nova returning links to glance images, which
include a glance image url directly.

Keeping that header in place is extremely helpful from a clarity
perspective instead of using heuristics of manually splitting apart urls
and guessing. That second approach is one of the reasons the devstack
keystone v3 patches keep being disruptive.

	-Sean

-- 
Sean Dague
http://dague.net



More information about the OpenStack-dev mailing list