← Back to team overview

yahoo-eng-team team mailing list archive

[Bug 1381961] Re: Keystone API GET 5000/v3 returns wrong endpoint URL in response body

 

Reviewed:  https://review.openstack.org/226464
Committed: https://git.openstack.org/cgit/openstack/keystone/commit/?id=40c3942c12d1dd2c826d836987616838a73a64a1
Submitter: Jenkins
Branch:    master

commit 40c3942c12d1dd2c826d836987616838a73a64a1
Author: Julien Danjou <julien@xxxxxxxxxxx>
Date:   Mon Sep 21 17:27:07 2015 +0200

    wsgi: fix base_url finding
    
    The current wsgi.Application.base_url() function does not work correctly
    if Keystone runs on something like "http://1.2.3.4/identity"; which is now
    a default in devstack.
    
    This patch fixes that by using wsgiref.util to parse environment
    variable set in WSGI mode to find the real base url and returns the
    correct URL. The following environment variables will be used to
    produce the effective base url:
    
      HTTP_HOST
      SERVER_NAME
      SERVER_PORT
      SCRIPT_NAME
    
    Closes-Bug: #1381961
    Change-Id: I111c206a8a751ed117c6869f55f8236b29ab88a2


** Changed in: keystone
       Status: In Progress => Fix Released

-- 
You received this bug notification because you are a member of Yahoo!
Engineering Team, which is subscribed to OpenStack Identity (keystone).
https://bugs.launchpad.net/bugs/1381961

Title:
  Keystone API GET 5000/v3 returns wrong endpoint URL in response body

Status in OpenStack Identity (keystone):
  Fix Released

Bug description:
  When I was invoking a GET request to  public endpoint of Keystone, I found the admin endpoint URL in response body, I assume it should be the public endpoint URL:
  GET https://192.168.101.10:5000/v3

  {
    "version": {
      "status": "stable",
      "updated": "2013-03-06T00:00:00Z",
      "media-types": [
        {
          "base": "application/json",
          "type": "application/vnd.openstack.identity-v3+json"
        },
        {
          "base": "application/xml",
          "type": "application/vnd.openstack.identity-v3+xml"
        }
      ],
      "id": "v3.0",
      "links": [
        {
          "href": "https://172.20.14.10:35357/v3/";,
          "rel": "self"
        }
      ]
    }
  }

  ===============================================================
  Btw, I can get the right URL for public endpoint in the response body of the versionless API call:
  GET https://192.168.101.10:5000

  {
    "versions": {
      "values": [
        {
          "status": "stable",
          "updated": "2013-03-06T00:00:00Z",
          "media-types": [
            {
              "base": "application/json",
              "type": "application/vnd.openstack.identity-v3+json"
            },
            {
              "base": "application/xml",
              "type": "application/vnd.openstack.identity-v3+xml"
            }
          ],
          "id": "v3.0",
          "links": [
            {
              "href": "https://192.168.101.10:5000/v3/";,
              "rel": "self"
            }
          ]
        },
        {
          "status": "stable",
          "updated": "2014-04-17T00:00:00Z",
          "media-types": [
            {
              "base": "application/json",
              "type": "application/vnd.openstack.identity-v2.0+json"
            },
            {
              "base": "application/xml",
              "type": "application/vnd.openstack.identity-v2.0+xml"
            }
          ],
          "id": "v2.0",
          "links": [
            {
              "href": "https://192.168.101.10:5000/v2.0/";,
              "rel": "self"
            },
            {
              "href": "http://docs.openstack.org/api/openstack-identity-service/2.0/content/";,
              "type": "text/html",
              "rel": "describedby"
            },
            {
              "href": "http://docs.openstack.org/api/openstack-identity-service/2.0/identity-dev-guide-2.0.pdf";,
              "type": "application/pdf",
              "rel": "describedby"
            }
          ]
        }
      ]
    }
  }

To manage notifications about this bug go to:
https://bugs.launchpad.net/keystone/+bug/1381961/+subscriptions


References