← Back to team overview

yahoo-eng-team team mailing list archive

[Bug 1664468] [NEW] V3 version API through admin returns public_endpoint

 

Public bug reported:

I use the following keystone.conf:
 ・・・
 public_endpoint = https://ct-dmz-vip:5000
 admin_endpoint = http://ct-int-vip:25357 
 ・・・

The v3 version API (GET /v3) through "public" endpoint returns response
body with public_endpoint("href": "https://ct-dmz-vip:5000/v3/";) as
follows:

curl -X GET -k https://ct-dmz-vip:5000/v3
{"version": {"status": "stable", "updated": "2016-04-04T00:00:00Z", "media-types": [{"base": "application/json", "type": "application/vnd.openstack.identity-v3+json"}], "id": "v3.6", "links": [{"href": "https://ct-dmz-vip:5000/v3/";, "rel": "self"}]}}

And, the v3 version API (GET /v3) through "admin" endpoint also returns
response body with public_endpoint("href": "https://ct-dmz-
vip:5000/v3/") as follows:

curl -X GET http://ct-int-vip:25357/v3
{"version": {"status": "stable", "updated": "2016-04-04T00:00:00Z", "media-types": [{"base": "application/json", "type": "application/vnd.openstack.identity-v3+json"}], "id": "v3.6", "links": [{"href": "https://ct-dmz-vip:5000/v3/";, "rel": "self"}]}}

On the other hand, the v2 version API (GET /v2.0) through "public"
endpoint returns response body with public_endpoint("href": "https://ct-
dmz-vip:5000/v2.0/") as follows:

curl -X GET -k https://ct-dmz-vip:5000/v2.0
{"version": {"status": "stable", "updated": "2014-04-17T00:00:00Z", "media-types": [{"base": "application/json", "type": "application/vnd.openstack.identity-v2.0+json"}], "id": "v2.0", "links": [{"href": "https://ct-dmz-vip:5000/v2.0/";, "rel": "self"}, {"href": "http://docs.openstack.org/";, "type": "text/html", "rel": "describedby"}]}

And, the v2 version API (GET /v2.0) through "admin" endpoint returns
response body with admin_endpoint("href": "http://ct-int-
vip:25357/v2.0/") as follows:

curl -X GET http://ct-int-vip:25357/v2.0
{"version": {"status": "stable", "updated": "2014-04-17T00:00:00Z", "media-types": [{"base": "application/json", "type": "application/vnd.openstack.identity-v2.0+json"}], "id": "v2.0", "links": [{"href": "http://ct-int-vip:25357/v2.0/";, "rel": "self"}, {"href": "http://docs.openstack.org/";, "type": "text/html", "rel": "describedby"}]}

It would be better that v3 version API through "admin" endpoint returns
admin_endpoint, like v2 version API.

I think that it is caused by the following source code:
def v3_app_factory(global_conf, **local_conf):
    ・・・
    sub_routers.append(routers.VersionV3('public', _routers))★
    return wsgi.ComposingRouter(mapper, sub_routers)

https://github.com/openstack/keystone/blob/master/keystone/version/service.py#L158

** Affects: keystone
     Importance: Undecided
         Status: New

-- 
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/1664468

Title:
  V3 version API through admin returns public_endpoint

Status in OpenStack Identity (keystone):
  New

Bug description:
  I use the following keystone.conf:
   ・・・
   public_endpoint = https://ct-dmz-vip:5000
   admin_endpoint = http://ct-int-vip:25357 
   ・・・

  The v3 version API (GET /v3) through "public" endpoint returns
  response body with public_endpoint("href": "https://ct-dmz-
  vip:5000/v3/") as follows:

  curl -X GET -k https://ct-dmz-vip:5000/v3
  {"version": {"status": "stable", "updated": "2016-04-04T00:00:00Z", "media-types": [{"base": "application/json", "type": "application/vnd.openstack.identity-v3+json"}], "id": "v3.6", "links": [{"href": "https://ct-dmz-vip:5000/v3/";, "rel": "self"}]}}

  And, the v3 version API (GET /v3) through "admin" endpoint also
  returns response body with public_endpoint("href": "https://ct-dmz-
  vip:5000/v3/") as follows:

  curl -X GET http://ct-int-vip:25357/v3
  {"version": {"status": "stable", "updated": "2016-04-04T00:00:00Z", "media-types": [{"base": "application/json", "type": "application/vnd.openstack.identity-v3+json"}], "id": "v3.6", "links": [{"href": "https://ct-dmz-vip:5000/v3/";, "rel": "self"}]}}

  On the other hand, the v2 version API (GET /v2.0) through "public"
  endpoint returns response body with public_endpoint("href": "https
  ://ct-dmz-vip:5000/v2.0/") as follows:

  curl -X GET -k https://ct-dmz-vip:5000/v2.0
  {"version": {"status": "stable", "updated": "2014-04-17T00:00:00Z", "media-types": [{"base": "application/json", "type": "application/vnd.openstack.identity-v2.0+json"}], "id": "v2.0", "links": [{"href": "https://ct-dmz-vip:5000/v2.0/";, "rel": "self"}, {"href": "http://docs.openstack.org/";, "type": "text/html", "rel": "describedby"}]}

  And, the v2 version API (GET /v2.0) through "admin" endpoint returns
  response body with admin_endpoint("href": "http://ct-int-
  vip:25357/v2.0/") as follows:

  curl -X GET http://ct-int-vip:25357/v2.0
  {"version": {"status": "stable", "updated": "2014-04-17T00:00:00Z", "media-types": [{"base": "application/json", "type": "application/vnd.openstack.identity-v2.0+json"}], "id": "v2.0", "links": [{"href": "http://ct-int-vip:25357/v2.0/";, "rel": "self"}, {"href": "http://docs.openstack.org/";, "type": "text/html", "rel": "describedby"}]}

  It would be better that v3 version API through "admin" endpoint
  returns admin_endpoint, like v2 version API.

  I think that it is caused by the following source code:
  def v3_app_factory(global_conf, **local_conf):
      ・・・
      sub_routers.append(routers.VersionV3('public', _routers))★
      return wsgi.ComposingRouter(mapper, sub_routers)

  https://github.com/openstack/keystone/blob/master/keystone/version/service.py#L158

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


Follow ups