Incompatible version response

Bug #1187101 reported by Brant Knudson on 2013-06-03
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
OpenStack Identity (keystone)
Medium
Brant Knudson

Bug Description

The XML response for the versions request (GET /) changed in Grizzly so that clients that worked with Folsom don't work with Grizzly.
Specifically, the link to the "stable" endpoint in Folsom is in the versions/version/link element, whereas in Grizzly it's under versions/version/links/link (there's an extra links container).

The Keystone server's response to a versions request on Grizzly should be compatible with the response in Folsom so that a client that worked with Folsom will work with Grizzly.

One way to fix this is to also include the link elements directly under the version elements. This way clients that are used to the current behavior will continue to work and clients that worked with Folsom will now work.

To recreate, use devstack. 'curl -H "Accept: application/xml" http://localhost:5000' with a Folsom devstack and the same with a Grizzly devstack.

BTW - I tried with application/json media-type and the response looks compatible, so it's just XML that's affected.

Here's the results from my system:

Folsom:

$ curl -H "Accept: application/xml" http://localhost:5000
<?xml version="1.0" encoding="UTF-8"?>
<versions xmlns="http://docs.openstack.org/identity/api/v2.0">
  <version status="stable" updated="2012-10-13T17:42:56Z" id="v2.0">
    <media-types>
      <media-type base="application/json" type="application/vnd.openstack.identity-v2.0+json"/>
      <media-type base="application/xml" type="application/vnd.openstack.identity-v2.0+xml"/>
    </media-types>
    <link href="http://192.168.122.31:5000/v2.0/" rel="self"/>
    <link href="http://docs.openstack.org/api/openstack-identity-service/2.0/content/" type="text/html" rel="describedby"/>
    <link href="http://docs.openstack.org/api/openstack-identity-service/2.0/identity-dev-guide-2.0.pdf" type="application/pdf" rel="describedby"/>
  </version>
</versions>

Grizzly:

$ curl -H "Accept: application/xml" http://localhost:5000
<?xml version="1.0" encoding="UTF-8"?>
<versions xmlns="http://docs.openstack.org/identity/api/v2.0">
  <version status="stable" updated="2013-03-06T00:00:00Z" id="v3.0">
    <media-types>
      <media-type base="application/json" type="application/vnd.openstack.identity-v3+json"/>
      <media-type base="application/xml" type="application/vnd.openstack.identity-v3+xml"/>
    </media-types>
    <links>
      <link href="http://localhost:5000/v3/" rel="self"/>
    </links>
  </version>
  <version status="stable" updated="2013-03-06T00:00:00Z" id="v2.0">
    <media-types>
      <media-type base="application/json" type="application/vnd.openstack.identity-v2.0+json"/>
      <media-type base="application/xml" type="application/vnd.openstack.identity-v2.0+xml"/>
    </media-types>
    <links>
      <link href="http://localhost:5000/v2.0/" rel="self"/>
      <link href="http://docs.openstack.org/api/openstack-identity-service/2.0/content/" type="text/html" rel="describedby"/>
      <link href="http://docs.openstack.org/api/openstack-identity-service/2.0/identity-dev-guide-2.0.pdf" type="application/pdf" rel="describedby"/>
    </links>
  </version>
</versions>

Brant Knudson (blk-u) on 2013-06-03
Changed in keystone:
assignee: nobody → Brant Knudson (blk-u)
Dolph Mathews (dolph) wrote :

I'm betting this is due to a xml middleware change in support of v3 API links?

Changed in keystone:
status: New → Triaged
importance: Undecided → Medium

Fix proposed to branch: master
Review: https://review.openstack.org/31566

Changed in keystone:
status: Triaged → In Progress

Reviewed: https://review.openstack.org/31566
Committed: http://github.com/openstack/keystone/commit/b0d766343bf618398df45cc1d5b4444255d986bc
Submitter: Jenkins
Branch: master

commit b0d766343bf618398df45cc1d5b4444255d986bc
Author: Brant Knudson <email address hidden>
Date: Mon Jun 3 17:12:38 2013 -0500

    Version response compatible with Folsom

    This change adds <link> elements to the <version id="v2.0">
    element in the version response to be compatible with the
    response given by the Keystone server in the Folsom release.

    Fixes bug 1187101

    Change-Id: Ida71e2dbe3cf432d429fb739e68a83d7e009ca40

Changed in keystone:
status: In Progress → Fix Committed
Thierry Carrez (ttx) on 2013-07-17
Changed in keystone:
milestone: none → havana-2
status: Fix Committed → Fix Released
Thierry Carrez (ttx) on 2013-10-17
Changed in keystone:
milestone: havana-2 → 2013.2
To post a comment you must log in.
This report contains Public information  Edit
Everyone can see this information.

Other bug subscribers