[openstack-dev] [api][nova][ironic] Microversion API HTTP header

Sean Dague sean at dague.net
Tue Jun 16 10:57:35 UTC 2015

On 06/15/2015 03:45 PM, Kevin L. Mitchell wrote:
> On Mon, 2015-06-15 at 13:07 -0400, Jay Pipes wrote:
>> The original spec said that the HTTP header should contain the name of 
>> the service type returned by the Keystone service catalog (which is also 
>> the official name of the REST API). I don't understand why the spec was 
>> changed retroactively and why Nova has been changed to return 
>> X-OpenStack-Nova-API-Version instead of X-OpenStack-Compute-API-Version 
>> HTTP headers [4].
> Given the disagreement evinced by the responses to this thread, let me
> ask a question: Would there be any particular problem with using
> "X-OpenStack-API-Version"?

So, here is my concern with not having the project namespacing at all:

Our expectation is that services are going to move towards real wsgi on
their API instead of eventlet. Which is, hopefully, naturally going to
give you things like this:

GET api.server/compute/servers
GET api.server/baremetal/chasis

In such a world it will end up possibly confusing that
OpenStack-API-Version 2.500 is returned from api.server/compute/servers,
but OpenStack-API-Version 1.200 is returned from

>From an outsider looking in that seems very unexpected.

So I think we still need service level namespacing on the version header
for clarity of understanding by application writers, by people filing
support tickets, and by people running these services.


Sean Dague

More information about the OpenStack-dev mailing list