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

Jay Pipes jaypipes at gmail.com
Mon Jun 15 17:25:51 UTC 2015


On 06/15/2015 01:16 PM, Dmitry Tantsur wrote:
> On 06/15/2015 07:07 PM, Jay Pipes wrote:
>> It has come to my attention in [1] that the microversion spec for Nova
>> [2] and Ironic [3] have used the project name -- i.e. Nova and Ironic --
>> instead of the name of the API -- i.e. "OpenStack Compute" and
>> "OpenStack Bare Metal" -- in the HTTP header that a client passes to
>> indicate a preference for or knowledge of a particular API microversion.
>>
>> 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].
>>
>> To be blunt, Nova is the *implementation* of the OpenStack Compute API.
>> Ironic is the *implementation* of the OpenStack BareMetal API.
>>
>> The HTTP headers should never have been changed like this, IMHO, and I'm
>> disappointed that they were. In fact, it looks like a very select group
>> of individuals pushed through this change [5] with little to no input
>> from the mailing list or community.
>>
>> Since no support for these headers has yet to land in the client
>> packages, can we please reconsider this?
>
> ironicclient has support for the header for a while, and anyway we
> released it with Ironic Kilo, so I guess it's a breaking change.

Would it be possible to add support and deprecate the 
X-OpenStack-Ironic-API-Version HTTP header?

> also while the only implementation and source of authority for the
> "baremetal" API is Ironic, I'm not sure there's point of calling it
> "baremetal API", but I'm neutral to this suggestion modulo compatibility
> break.

What does the Ironic endpoint show up in the keystone service catalog as?

-jay

>> Thanks,
>> -jay
>>
>> [1] https://review.openstack.org/#/c/187112/
>> [2]
>> https://github.com/openstack/nova-specs/blob/master/specs/kilo/implemented/api-microversions.rst
>>
>>
>> [3]
>> https://github.com/openstack/ironic-specs/blob/master/specs/kilo/api-microversions.rst
>>
>>
>> [4] https://review.openstack.org/#/c/155611/
>> [5] https://review.openstack.org/#/c/153183/
>>
>> __________________________________________________________________________
>>
>> OpenStack Development Mailing List (not for usage questions)
>> Unsubscribe:
>> OpenStack-dev-request at lists.openstack.org?subject:unsubscribe
>> http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev
>
>
> __________________________________________________________________________
> OpenStack Development Mailing List (not for usage questions)
> Unsubscribe: OpenStack-dev-request at lists.openstack.org?subject:unsubscribe
> http://lists.openstack.org/cgi-bin/mailman/listinfo/openstack-dev



More information about the OpenStack-dev mailing list