List endpoints through XML interface using keystone v3 is not successful

Bug #1151747 reported by Rajalakshmi Ganesan
8
This bug affects 1 person
Affects Status Importance Assigned to Milestone
OpenStack Identity (keystone)
Fix Released
Medium
Guang Yee

Bug Description

Description:

Throwing 500 error code when the response of list endpoints is requested in XML format. While reuesting through curl command, "Accept: application/xml" is passed as header so as to get response in XML format.

Actual Result:

Gives "HTTP/1.1 500 Internal Server Error" along with Traceback. Response body of list endpoints in JSON format is displayed after trace back.( Though requested for XML response)..

Note: Not clear on why there is a 500 code+ Traceback+ and then a JSON response.

Expected Result:

Must return 200 response code with endpoints list in XML format.

LOG of CURL commands:

v3-user@Devstack-V3-230:~$ curl -i http://10.233.52.230:35357/v3/endpoints -X GET -H "User-Agent: python-keystoneclient" -H "Accept: application/xml" -H "X-Auth-Token: MIIKaQYJKoZIhvcNAQcCoIIKWjCCClYCAQExCTAHBgUrDgMCGjCCCUIGCSqGSIb3DQEHAaCCCTMEggkveyJhY2Nlc3MiOiB7InRva2VuIjogeyJpc3N1ZWRfYXQiOiAiMjAxMy0wMy0wN1QxMjoxNzo1OS40ODg0OTgiLCAiZXhwaXJlcyI6ICIyMDEzLTAzLTA4VDEyOjE3OjU5WiIsICJpZCI6ICJwbGFjZWhvbGRlciIsICJ0ZW5hbnQiOiB7ImVuYWJsZWQiOiB0cnVlLCAiZGVzY3JpcHRpb24iOiBudWxsLCAibmFtZSI6ICJhZG1pbiIsICJpZCI6ICI0MWM1ZDE4YjA3OGQ0NmE4YmMyOWRlMWIwOWJiM2U0MiJ9fSwgInNlcnZpY2VDYXRhbG9nIjogW3siZW5kcG9pbnRzIjogW3siYWRtaW5VUkwiOiAiaHR0cDovLzEwLjIzMy41Mi4yMzA6ODc3NC92Mi80MWM1ZDE4YjA3OGQ0NmE4YmMyOWRlMWIwOWJiM2U0MiIsICJyZWdpb24iOiAiUmVnaW9uT25lIiwgImludGVybmFsVVJMIjogImh0dHA6Ly8xMC4yMzMuNTIuMjMwOjg3NzQvdjIvNDFjNWQxOGIwNzhkNDZhOGJjMjlkZTFiMDliYjNlNDIiLCAiaWQiOiAiMWU2Y2Q3OTc5ZDE2NGUxZjlmZjc3YTNmOGFjOGJjNjEiLCAicHVibGljVVJMIjogImh0dHA6Ly8xMC4yMzMuNTIuMjMwOjg3NzQvdjIvNDFjNWQxOGIwNzhkNDZhOGJjMjlkZTFiMDliYjNlNDIifV0sICJlbmRwb2ludHNfbGlua3MiOiBbXSwgInR5cGUiOiAiY29tcHV0ZSIsICJuYW1lIjogIm5vdmEifSwgeyJlbmRwb2ludHMiOiBbeyJhZG1pblVSTCI6ICJodHRwOi8vMTAuMjMzLjUyLjIzMDozMzMzIiwgInJlZ2lvbiI6ICJSZWdpb25PbmUiLCAiaW50ZXJuYWxVUkwiOiAiaHR0cDovLzEwLjIzMy41Mi4yMzA6MzMzMyIsICJpZCI6ICI0OGNkZjdlNzM2MDg0MDI2YTZjY2IxMjBlMTNmY2QyOSIsICJwdWJsaWNVUkwiOiAiaHR0cDovLzEwLjIzMy41Mi4yMzA6MzMzMyJ9XSwgImVuZHBvaW50c19saW5rcyI6IFtdLCAidHlwZSI6ICJzMyIsICJuYW1lIjogInMzIn0sIHsiZW5kcG9pbnRzIjogW3siYWRtaW5VUkwiOiAiaHR0cDovLzEwLjIzMy41Mi4yMzA6OTI5MiIsICJyZWdpb24iOiAiUmVnaW9uT25lIiwgImludGVybmFsVVJMIjogImh0dHA6Ly8xMC4yMzMuNTIuMjMwOjkyOTIiLCAiaWQiOiAiMzE1OWJhNjdkYzFiNDcwMjkyYjUxNmExZjA3NTQ4MzQiLCAicHVibGljVVJMIjogImh0dHA6Ly8xMC4yMzMuNTIuMjMwOjkyOTIifV0sICJlbmRwb2ludHNfbGlua3MiOiBbXSwgInR5cGUiOiAiaW1hZ2UiLCAibmFtZSI6ICJnbGFuY2UifSwgeyJlbmRwb2ludHMiOiBbeyJhZG1pblVSTCI6ICJodHRwOi8vMTAuMjMzLjUyLjIzMDo4Nzc2L3YxLzQxYzVkMThiMDc4ZDQ2YThiYzI5ZGUxYjA5YmIzZTQyIiwgInJlZ2lvbiI6ICJSZWdpb25PbmUiLCAiaW50ZXJuYWxVUkwiOiAiaHR0cDovLzEwLjIzMy41Mi4yMzA6ODc3Ni92MS80MWM1ZDE4YjA3OGQ0NmE4YmMyOWRlMWIwOWJiM2U0MiIsICJpZCI6ICI4ODVlZWVmNTQ0MWI0MjFiOTgwNjZkZTljODRhNmYwYiIsICJwdWJsaWNVUkwiOiAiaHR0cDovLzEwLjIzMy41Mi4yMzA6ODc3Ni92MS80MWM1ZDE4YjA3OGQ0NmE4YmMyOWRlMWIwOWJiM2U0MiJ9XSwgImVuZHBvaW50c19saW5rcyI6IFtdLCAidHlwZSI6ICJ2b2x1bWUiLCAibmFtZSI6ICJjaW5kZXIifSwgeyJlbmRwb2ludHMiOiBbeyJhZG1pblVSTCI6ICJodHRwOi8vMTAuMjMzLjUyLjIzMDo4NzczL3NlcnZpY2VzL0FkbWluIiwgInJlZ2lvbiI6ICJSZWdpb25PbmUiLCAiaW50ZXJuYWxVUkwiOiAiaHR0cDovLzEwLjIzMy41Mi4yMzA6ODc3My9zZXJ2aWNlcy9DbG91ZCIsICJpZCI6ICI1YmRkYTM1MWMyODc0YTliYTI0OGQ3YzQ5YTJhNDAxZiIsICJwdWJsaWNVUkwiOiAiaHR0cDovLzEwLjIzMy41Mi4yMzA6ODc3My9zZXJ2aWNlcy9DbG91ZCJ9XSwgImVuZHBvaW50c19saW5rcyI6IFtdLCAidHlwZSI6ICJlYzIiLCAibmFtZSI6ICJlYzIifSwgeyJlbmRwb2ludHMiOiBbeyJhZG1pblVSTCI6ICJodHRwOi8vMTAuMjMzLjUyLjIzMDozNTM1Ny92Mi4wIiwgInJlZ2lvbiI6ICJSZWdpb25PbmUiLCAiaW50ZXJuYWxVUkwiOiAiaHR0cDovLzEwLjIzMy41Mi4yMzA6NTAwMC92Mi4wIiwgImlkIjogIjJlNTRlZTI5OGViOTQ1ZDM4YzZjYjgwNGY5ZTU0ZjJmIiwgInB1YmxpY1VSTCI6ICJodHRwOi8vMTAuMjMzLjUyLjIzMDo1MDAwL3YyLjAifV0sICJlbmRwb2ludHNfbGlua3MiOiBbXSwgInR5cGUiOiAiaWRlbnRpdHkiLCAibmFtZSI6ICJrZXlzdG9uZSJ9XSwgInVzZXIiOiB7InVzZXJuYW1lIjogImFkbWluIiwgInJvbGVzX2xpbmtzIjogW10sICJpZCI6ICIzNWJhNjk0MGZmNmM0YWEwOGMzMzc4ZDQxNDgzZmVlOSIsICJyb2xlcyI6IFt7Im5hbWUiOiAiYWRtaW4ifV0sICJuYW1lIjogImFkbWluIn0sICJtZXRhZGF0YSI6IHsiaXNfYWRtaW4iOiAwLCAicm9sZXMiOiBbIjc0N2YxN2YwNDQ4NzQ3N2ZiNWVmMmRjYWYwNjNjYTM4Il19fX0xgf8wgfwCAQEwXDBXMQswCQYDVQQGEwJVUzEOMAwGA1UECBMFVW5zZXQxDjAMBgNVBAcTBVVuc2V0MQ4wDAYDVQQKEwVVbnNldDEYMBYGA1UEAxMPd3d3LmV4YW1wbGUuY29tAgEBMAcGBSsOAwIaMA0GCSqGSIb3DQEBAQUABIGAWJ9hQpY92wm0OzROV6yhX7peQ5pnfZFOBGsp0dKoWKUzD1rVzYfhxtlOnnxA7rQnIRc-oX39MWG5YBtu4kvHLDBFg44Z7Jqe785jGy+jviCWSIfs0WTo2xi4hiLznAgIgUjYM4DAqXNAxmj9QHafyt9Xpj7SvGSwQN2lQk9MMTs="
HTTP/1.1 500 Internal Server Error
Content-Type: text/plain
Content-Length: 10455
Date: Thu, 07 Mar 2013 14:04:42 GMT
Connection: close

Traceback (most recent call last):
  File "/usr/local/lib/python2.7/dist-packages/eventlet/wsgi.py", line 383, in handle_one_response
    result = self.application(self.environ, start_response)
  File "/usr/lib/python2.7/dist-packages/paste/urlmap.py", line 203, in __call__
    return app(environ, start_response)
  File "/usr/local/lib/python2.7/dist-packages/webob/dec.py", line 130, in __call__
    resp = self.call_func(req, *args, **self.kwargs)
  File "/usr/local/lib/python2.7/dist-packages/webob/dec.py", line 195, in call_func
    return self.func(req, *args, **kwargs)
  File "/opt/stack/keystone/keystone/contrib/access/core.py", line 49, in __call__
    response = request.get_response(self.application)
  File "/usr/local/lib/python2.7/dist-packages/webob/request.py", line 1296, in send
    application, catch_exc_info=False)
  File "/usr/local/lib/python2.7/dist-packages/webob/request.py", line 1260, in call_application
    app_iter = application(self.environ, start_response)
  File "/usr/local/lib/python2.7/dist-packages/webob/dec.py", line 144, in __call__
    return resp(environ, start_response)
  File "/usr/local/lib/python2.7/dist-packages/webob/dec.py", line 130, in __call__
    resp = self.call_func(req, *args, **self.kwargs)
  File "/usr/local/lib/python2.7/dist-packages/webob/dec.py", line 195, in call_func
    return self.func(req, *args, **kwargs)
  File "/opt/stack/keystone/keystone/common/wsgi.py", line 353, in __call__
    response = request.get_response(self.application)
  File "/usr/local/lib/python2.7/dist-packages/webob/request.py", line 1296, in send
    application, catch_exc_info=False)
  File "/usr/local/lib/python2.7/dist-packages/webob/request.py", line 1260, in call_application
    app_iter = application(self.environ, start_response)
  File "/usr/local/lib/python2.7/dist-packages/webob/dec.py", line 130, in __call__
    resp = self.call_func(req, *args, **self.kwargs)
  File "/usr/local/lib/python2.7/dist-packages/webob/dec.py", line 195, in call_func
    return self.func(req, *args, **kwargs)
  File "/opt/stack/keystone/keystone/common/wsgi.py", line 353, in __call__
    response = request.get_response(self.application)
  File "/usr/local/lib/python2.7/dist-packages/webob/request.py", line 1296, in send
    application, catch_exc_info=False)
  File "/usr/local/lib/python2.7/dist-packages/webob/request.py", line 1260, in call_application
    app_iter = application(self.environ, start_response)
  File "/usr/local/lib/python2.7/dist-packages/webob/dec.py", line 130, in __call__
    resp = self.call_func(req, *args, **self.kwargs)
  File "/usr/local/lib/python2.7/dist-packages/webob/dec.py", line 195, in call_func
    return self.func(req, *args, **kwargs)
  File "/opt/stack/keystone/keystone/common/wsgi.py", line 353, in __call__
    response = request.get_response(self.application)
  File "/usr/local/lib/python2.7/dist-packages/webob/request.py", line 1296, in send
    application, catch_exc_info=False)
  File "/usr/local/lib/python2.7/dist-packages/webob/request.py", line 1260, in call_application
    app_iter = application(self.environ, start_response)
  File "/usr/local/lib/python2.7/dist-packages/webob/dec.py", line 130, in __call__
    resp = self.call_func(req, *args, **self.kwargs)
  File "/usr/local/lib/python2.7/dist-packages/webob/dec.py", line 195, in call_func
    return self.func(req, *args, **kwargs)
  File "/opt/stack/keystone/keystone/common/wsgi.py", line 353, in __call__
    response = request.get_response(self.application)
  File "/usr/local/lib/python2.7/dist-packages/webob/request.py", line 1296, in send
    application, catch_exc_info=False)
  File "/usr/local/lib/python2.7/dist-packages/webob/request.py", line 1260, in call_application
    app_iter = application(self.environ, start_response)
  File "/usr/local/lib/python2.7/dist-packages/webob/dec.py", line 130, in __call__
    resp = self.call_func(req, *args, **self.kwargs)
  File "/usr/local/lib/python2.7/dist-packages/webob/dec.py", line 195, in call_func
    return self.func(req, *args, **kwargs)
  File "/opt/stack/keystone/keystone/common/wsgi.py", line 354, in __call__
    return self.process_response(request, response)
  File "/opt/stack/keystone/keystone/middleware/core.py", line 164, in process_response
    raise exception.Error(message=response.body)
Error: {"endpoints": [{"links": {"self": "http://localhost:5000/v3/endpoints/1e6cd7979d164e1f9ff77a3f8ac8bc61"}, "url": "http://10.233.52.230:8774/v2/$(tenant_id)s", "region": "RegionOne", "legacy_endpoint_id": "1db2a3b6889d4e5a920af08013f72309", "interface": "public", "service_id": "90692d2a47ec439f9eaf81cad22035f9", "id": "1e6cd7979d164e1f9ff77a3f8ac8bc61"}, {"links": {"self": "http://localhost:5000/v3/endpoints/23cad2bbe2b84513a8b8ee21aece5467"}, "url": "http://10.233.52.230:8774/v2/$(tenant_id)s", "region": "RegionOne", "legacy_endpoint_id": "1db2a3b6889d4e5a920af08013f72309", "interface": "admin", "service_id": "90692d2a47ec439f9eaf81cad22035f9", "id": "23cad2bbe2b84513a8b8ee21aece5467"}, {"links": {"self": "http://localhost:5000/v3/endpoints/2e54ee298eb945d38c6cb804f9e54f2f"}, "url": "http://10.233.52.230:5000/v2.0", "region": "RegionOne", "legacy_endpoint_id": "f98ee2aae1d84a8b98b2a517733fcd06", "interface": "internal", "service_id": "301ce68c286445d39d141f832c817f8c", "id": "2e54ee298eb945d38c6cb804f9e54f2f"}, {"links": {"self": "http://localhost:5000/v3/endpoints/3159ba67dc1b470292b516a1f0754834"}, "url": "http://10.233.52.230:9292", "region": "RegionOne", "legacy_endpoint_id": "d670941a1eff42c396c3b21732766192", "interface": "admin", "service_id": "b5526fc722b34b8aace8f549222196d8", "id": "3159ba67dc1b470292b516a1f0754834"}, {"links": {"self": "http://localhost:5000/v3/endpoints/48cdf7e736084026a6ccb120e13fcd29"}, "url": "http://10.233.52.230:3333", "region": "RegionOne", "legacy_endpoint_id": "309fc7184945434b86bfd465f30b0255", "interface": "public", "service_id": "cf7891968343438cb32f934f8b6397ee", "id": "48cdf7e736084026a6ccb120e13fcd29"}, {"links": {"self": "http://localhost:5000/v3/endpoints/4a2292bbcd824cb1b236bf57d22d60f9"}, "url": "http://10.233.52.230:3333", "region": "RegionOne", "legacy_endpoint_id": "309fc7184945434b86bfd465f30b0255", "interface": "admin", "service_id": "cf7891968343438cb32f934f8b6397ee", "id": "4a2292bbcd824cb1b236bf57d22d60f9"}, {"links": {"self": "http://localhost:5000/v3/endpoints/55729a80886a46deadab52da38272f01"}, "url": "http://10.233.52.230:35357/v2.0", "region": "RegionOne", "legacy_endpoint_id": "f98ee2aae1d84a8b98b2a517733fcd06", "interface": "admin", "service_id": "301ce68c286445d39d141f832c817f8c", "id": "55729a80886a46deadab52da38272f01"}, {"links": {"self": "http://localhost:5000/v3/endpoints/5bdda351c2874a9ba248d7c49a2a401f"}, "url": "http://10.233.52.230:8773/services/Cloud", "region": "RegionOne", "legacy_endpoint_id": "5c5bd28d490e43399c4aaf4a94ba279e", "interface": "internal", "service_id": "001f1b23d7564e57b379dd287e893e97", "id": "5bdda351c2874a9ba248d7c49a2a401f"}, {"links": {"self": "http://localhost:5000/v3/endpoints/5c7a2378372f4390ad7faa87504259d2"}, "url": "http://10.233.52.230:3333", "region": "RegionOne", "legacy_endpoint_id": "309fc7184945434b86bfd465f30b0255", "interface": "internal", "service_id": "cf7891968343438cb32f934f8b6397ee", "id": "5c7a2378372f4390ad7faa87504259d2"}, {"links": {"self": "http://localhost:5000/v3/endpoints/6e46895330614fa58a115caa929de7f4"}, "url": "http://10.233.52.230:8774/v2/$(tenant_id)s", "region": "RegionOne", "legacy_endpoint_id": "1db2a3b6889d4e5a920af08013f72309", "interface": "internal", "service_id": "90692d2a47ec439f9eaf81cad22035f9", "id": "6e46895330614fa58a115caa929de7f4"}, {"links": {"self": "http://localhost:5000/v3/endpoints/7e8ae7931f80404693afe717a5967a87"}, "url": "http://10.233.52.230:5000/v2.0", "region": "RegionOne", "legacy_endpoint_id": "f98ee2aae1d84a8b98b2a517733fcd06", "interface": "public", "service_id": "301ce68c286445d39d141f832c817f8c", "id": "7e8ae7931f80404693afe717a5967a87"}, {"links": {"self": "http://localhost:5000/v3/endpoints/842e37d80c3c4cb0bc0fc9a23e47a26c"}, "url": "http://10.233.52.230:8773/services/Cloud", "region": "RegionOne", "legacy_endpoint_id": "5c5bd28d490e43399c4aaf4a94ba279e", "interface": "public", "service_id": "001f1b23d7564e57b379dd287e893e97", "id": "842e37d80c3c4cb0bc0fc9a23e47a26c"}, {"links": {"self": "http://localhost:5000/v3/endpoints/885eeef5441b421b98066de9c84a6f0b"}, "url": "http://10.233.52.230:8776/v1/$(tenant_id)s", "region": "RegionOne", "legacy_endpoint_id": "70ff4c1cff2446c3afe37782fb6aef5a", "interface": "admin", "service_id": "5b4526baf4cc425d853c2eacafd27196", "id": "885eeef5441b421b98066de9c84a6f0b"}, {"links": {"self": "http://localhost:5000/v3/endpoints/892a9ab949c04fe6a9302c299ef3a725"}, "url": "http://10.233.52.230:8773/services/Admin", "region": "RegionOne", "legacy_endpoint_id": "5c5bd28d490e43399c4aaf4a94ba279e", "interface": "admin", "service_id": "001f1b23d7564e57b379dd287e893e97", "id": "892a9ab949c04fe6a9302c299ef3a725"}, {"links": {"self": "http://localhost:5000/v3/endpoints/9fa90c4f0f9444e398a3b74fea7538d1"}, "url": "http://10.233.52.230:9292", "region": "RegionOne", "legacy_endpoint_id": "d670941a1eff42c396c3b21732766192", "interface": "public", "service_id": "b5526fc722b34b8aace8f549222196d8", "id": "9fa90c4f0f9444e398a3b74fea7538d1"}, {"links": {"self": "http://localhost:5000/v3/endpoints/b3f99c14fb5a4b94b781cc5a674917d3"}, "url": "http://10.233.52.230:8776/v1/$(tenant_id)s", "region": "RegionOne", "legacy_endpoint_id": "70ff4c1cff2446c3afe37782fb6aef5a", "interface": "internal", "service_id": "5b4526baf4cc425d853c2eacafd27196", "id": "b3f99c14fb5a4b94b781cc5a674917d3"}, {"links": {"self": "http://localhost:5000/v3/endpoints/d4200fe95e0e4e998f26c795f2c1b3b9"}, "url": "http://10.233.52.230:9292", "region": "RegionOne", "legacy_endpoint_id": "d670941a1eff42c396c3b21732766192", "interface": "internal", "service_id": "b5526fc722b34b8aace8f549222196d8", "id": "d4200fe95e0e4e998f26c795f2c1b3b9"}, {"links": {"self": "http://localhost:5000/v3/endpoints/d50548c708e0444ebf004327571e1ca8"}, "url": "http://10.233.52.230:8776/v1/$(tenant_id)s", "region": "RegionOne", "legacy_endpoint_id": "70ff4c1cff2446c3afe37782fb6aef5a", "interface": "public", "service_id": "5b4526baf4cc425d853c2eacafd27196", "id": "d50548c708e0444ebf004327571e1ca8"}], "links": {"self": "http://localhost:5000/v3/endpoints", "previous": null, "next": null}}
v3-user@Devstack-V3-230:~$

Revision history for this message
Rajalakshmi Ganesan (rajalakshmi-ganesan) wrote :
Download full text (5.5 KiB)

THE SAME CURL REQUEST WORKS WHEN KEYSTONE VERSION IS V2.0:

v3-user@Devstack-V3-230:~$ curl -i http://10.233.52.230:35357/v2.0/endpoints -X GET -H "User-Agent: python-keystoneclient" -H "Accept: application/xml" -H "X-Auth-Token: MIIKaQYJKoZIhvcNAQcCoIIKWjCCClYCAQExCTAHBgUrDgMCGjCCCUIGCSqGSIb3DQEHAaCCCTMEggkveyJhY2Nlc3MiOiB7InRva2VuIjogeyJpc3N1ZWRfYXQiOiAiMjAxMy0wMy0wN1QxMjoxNzo1OS40ODg0OTgiLCAiZXhwaXJlcyI6ICIyMDEzLTAzLTA4VDEyOjE3OjU5WiIsICJpZCI6ICJwbGFjZWhvbGRlciIsICJ0ZW5hbnQiOiB7ImVuYWJsZWQiOiB0cnVlLCAiZGVzY3JpcHRpb24iOiBudWxsLCAibmFtZSI6ICJhZG1pbiIsICJpZCI6ICI0MWM1ZDE4YjA3OGQ0NmE4YmMyOWRlMWIwOWJiM2U0MiJ9fSwgInNlcnZpY2VDYXRhbG9nIjogW3siZW5kcG9pbnRzIjogW3siYWRtaW5VUkwiOiAiaHR0cDovLzEwLjIzMy41Mi4yMzA6ODc3NC92Mi80MWM1ZDE4YjA3OGQ0NmE4YmMyOWRlMWIwOWJiM2U0MiIsICJyZWdpb24iOiAiUmVnaW9uT25lIiwgImludGVybmFsVVJMIjogImh0dHA6Ly8xMC4yMzMuNTIuMjMwOjg3NzQvdjIvNDFjNWQxOGIwNzhkNDZhOGJjMjlkZTFiMDliYjNlNDIiLCAiaWQiOiAiMWU2Y2Q3OTc5ZDE2NGUxZjlmZjc3YTNmOGFjOGJjNjEiLCAicHVibGljVVJMIjogImh0dHA6Ly8xMC4yMzMuNTIuMjMwOjg3NzQvdjIvNDFjNWQxOGIwNzhkNDZhOGJjMjlkZTFiMDliYjNlNDIifV0sICJlbmRwb2ludHNfbGlua3MiOiBbXSwgInR5cGUiOiAiY29tcHV0ZSIsICJuYW1lIjogIm5vdmEifSwgeyJlbmRwb2ludHMiOiBbeyJhZG1pblVSTCI6ICJodHRwOi8vMTAuMjMzLjUyLjIzMDozMzMzIiwgInJlZ2lvbiI6ICJSZWdpb25PbmUiLCAiaW50ZXJuYWxVUkwiOiAiaHR0cDovLzEwLjIzMy41Mi4yMzA6MzMzMyIsICJpZCI6ICI0OGNkZjdlNzM2MDg0MDI2YTZjY2IxMjBlMTNmY2QyOSIsICJwdWJsaWNVUkwiOiAiaHR0cDovLzEwLjIzMy41Mi4yMzA6MzMzMyJ9XSwgImVuZHBvaW50c19saW5rcyI6IFtdLCAidHlwZSI6ICJzMyIsICJuYW1lIjogInMzIn0sIHsiZW5kcG9pbnRzIjogW3siYWRtaW5VUkwiOiAiaHR0cDovLzEwLjIzMy41Mi4yMzA6OTI5MiIsICJyZWdpb24iOiAiUmVnaW9uT25lIiwgImludGVybmFsVVJMIjogImh0dHA6Ly8xMC4yMzMuNTIuMjMwOjkyOTIiLCAiaWQiOiAiMzE1OWJhNjdkYzFiNDcwMjkyYjUxNmExZjA3NTQ4MzQiLCAicHVibGljVVJMIjogImh0dHA6Ly8xMC4yMzMuNTIuMjMwOjkyOTIifV0sICJlbmRwb2ludHNfbGlua3MiOiBbXSwgInR5cGUiOiAiaW1hZ2UiLCAibmFtZSI6ICJnbGFuY2UifSwgeyJlbmRwb2ludHMiOiBbeyJhZG1pblVSTCI6ICJodHRwOi8vMTAuMjMzLjUyLjIzMDo4Nzc2L3YxLzQxYzVkMThiMDc4ZDQ2YThiYzI5ZGUxYjA5YmIzZTQyIiwgInJlZ2lvbiI6ICJSZWdpb25PbmUiLCAiaW50ZXJuYWxVUkwiOiAiaHR0cDovLzEwLjIzMy41Mi4yMzA6ODc3Ni92MS80MWM1ZDE4YjA3OGQ0NmE4YmMyOWRlMWIwOWJiM2U0MiIsICJpZCI6ICI4ODVlZWVmNTQ0MWI0MjFiOTgwNjZkZTljODRhNmYwYiIsICJwdWJsaWNVUkwiOiAiaHR0cDovLzEwLjIzMy41Mi4yMzA6ODc3Ni92MS80MWM1ZDE4YjA3OGQ0NmE4YmMyOWRlMWIwOWJiM2U0MiJ9XSwgImVuZHBvaW50c19saW5rcyI6IFtdLCAidHlwZSI6ICJ2b2x1bWUiLCAibmFtZSI6ICJjaW5kZXIifSwgeyJlbmRwb2ludHMiOiBbeyJhZG1pblVSTCI6ICJodHRwOi8vMTAuMjMzLjUyLjIzMDo4NzczL3NlcnZpY2VzL0FkbWluIiwgInJlZ2lvbiI6ICJSZWdpb25PbmUiLCAiaW50ZXJuYWxVUkwiOiAiaHR0cDovLzEwLjIzMy41Mi4yMzA6ODc3My9zZXJ2aWNlcy9DbG91ZCIsICJpZCI6ICI1YmRkYTM1MWMyODc0YTliYTI0OGQ3YzQ5YTJhNDAxZiIsICJwdWJsaWNVUkwiOiAiaHR0cDovLzEwLjIzMy41Mi4yMzA6ODc3My9zZXJ2aWNlcy9DbG91ZCJ9XSwgImVuZHBvaW50c19saW5rcyI6IFtdLCAidHlwZSI6ICJlYzIiLCAibmFtZSI6ICJlYzIifSwgeyJlbmRwb2ludHMiOiBbeyJhZG1pblVSTCI6ICJodHRwOi8vMTAuMjMzLjUyLjIzMDozNTM1Ny92Mi4wIiwgInJlZ2lvbiI6ICJSZWdpb25PbmUiLCAiaW50ZXJuYWxVUkwiOiAiaHR0cDovLzEwLjIzMy41Mi4yMzA6NTAwMC92Mi4wIiwgImlkIjogIjJlNTRlZTI5OGViOTQ1ZDM4YzZjYjgwNGY5ZTU0ZjJmIiwgInB1YmxpY1VSTCI6ICJodHRwOi8vMTAuMjMzLjUyLjIzMDo1MDAwL3YyLjAifV0sICJlbmRwb2ludHNfbGlua3MiOiBbXSwgInR5cGUiOiAiaWRlbnRpdHkiLCAibmFtZSI6ICJrZXlzdG9uZSJ9XSwgInVzZXIiOiB7InVzZXJuYW1lIjogImFkbWluIiwg...

Read more...

summary: - List enpoints through XML interface using keystone v3 is not successful
+ List endpoints through XML interface using keystone v3 is not successful
Revision history for this message
Dolph Mathews (dolph) wrote :

Haven't reproduced yet, but I'm guessing this affects all collection responses in XML.

Changed in keystone:
importance: Undecided → Medium
status: New → Triaged
milestone: none → grizzly-rc1
Revision history for this message
Dolph Mathews (dolph) wrote :
Download full text (5.4 KiB)

Verified that this occurs for all collections requested in XML.

GET http://localhost:35357/v3/projects
Accept: application/xml
X-Auth-Token: ADMIN

500 Internal Server Error
Date: Thu, 07 Mar 2013 14:17:01 GMT
Status: 500
Content-Length: 5197
Content-Type: text/plain
Connection: close

Traceback (most recent call last):
  File "/Users/dolph/Environments/os/lib/python2.7/site-packages/eventlet/wsgi.py", line 383, in handle_one_response
    result = self.application(self.environ, start_response)
  File "/Users/dolph/Environments/os/lib/python2.7/site-packages/paste/urlmap.py", line 203, in __call__
    return app(environ, start_response)
  File "/Users/dolph/Environments/os/lib/python2.7/site-packages/webob/dec.py", line 130, in __call__
    resp = self.call_func(req, *args, **self.kwargs)
  File "/Users/dolph/Environments/os/lib/python2.7/site-packages/webob/dec.py", line 195, in call_func
    return self.func(req, *args, **kwargs)
  File "/Users/dolph/Projects/keystone/keystone/contrib/access/core.py", line 49, in __call__
    response = request.get_response(self.application)
  File "/Users/dolph/Environments/os/lib/python2.7/site-packages/webob/request.py", line 1296, in send
    application, catch_exc_info=False)
  File "/Users/dolph/Environments/os/lib/python2.7/site-packages/webob/request.py", line 1260, in call_application
    app_iter = application(self.environ, start_response)
  File "/Users/dolph/Environments/os/lib/python2.7/site-packages/webob/dec.py", line 144, in __call__
    return resp(environ, start_response)
  File "/Users/dolph/Environments/os/lib/python2.7/site-packages/webob/dec.py", line 130, in __call__
    resp = self.call_func(req, *args, **self.kwargs)
  File "/Users/dolph/Environments/os/lib/python2.7/site-packages/webob/dec.py", line 195, in call_func
    return self.func(req, *args, **kwargs)
  File "/Users/dolph/Projects/keystone/keystone/common/wsgi.py", line 353, in __call__
    response = request.get_response(self.application)
  File "/Users/dolph/Environments/os/lib/python2.7/site-packages/webob/request.py", line 1296, in send
    application, catch_exc_info=False)
  File "/Users/dolph/Environments/os/lib/python2.7/site-packages/webob/request.py", line 1260, in call_application
    app_iter = application(self.environ, start_response)
  File "/Users/dolph/Environments/os/lib/python2.7/site-packages/webob/dec.py", line 130, in __call__
    resp = self.call_func(req, *args, **self.kwargs)
  File "/Users/dolph/Environments/os/lib/python2.7/site-packages/webob/dec.py", line 195, in call_func
    return self.func(req, *args, **kwargs)
  File "/Users/dolph/Projects/keystone/keystone/common/wsgi.py", line 353, in __call__
    response = request.get_response(self.application)
  File "/Users/dolph/Environments/os/lib/python2.7/site-packages/webob/request.py", line 1296, in send
    application, catch_exc_info=False)
  File "/Users/dolph/Environments/os/lib/python2.7/site-packages/webob/request.py", line 1260, in call_application
    app_iter = application(self.environ, start_response)
  File "/Users/dolph/Environments/os/lib/python2.7/site-packages/webob/dec.py", line 130, in __call__
    resp = self.call_func(req, *ar...

Read more...

Changed in keystone:
status: Triaged → Confirmed
Revision history for this message
Dolph Mathews (dolph) wrote :

The following JSON structure should be properly handled by the xml_body middleware:

  {"users": [{...}, {...}, {...}],
   "links": {
     "self": "http://identity:35357/v3/users",
     "next": null,
     "previous": null
    }
  }

And translated to something like:

  <users>
    <user />
    <user />
    <user />
    <link rel="self" href="http://identity:35357/v3/users">
  </users>

Guang Yee (guang-yee)
Changed in keystone:
assignee: nobody → Guang Yee (guang-yee)
Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix proposed to keystone (master)

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

Changed in keystone:
status: Confirmed → In Progress
Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix merged to keystone (master)

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

commit c51507323df494066505aeca78a69da735e0a484
Author: Guang Yee <email address hidden>
Date: Tue Mar 12 23:56:50 2013 -0700

    Fixes bug 1151747: broken XML translation for resource collections

    Special-case "links" when converting a collection from JSON to XML and
    vice versa.

    Change-Id: I7ab1f50c1da3ec389930c1bf45d498551c4cf954

Changed in keystone:
status: In Progress → Fix Committed
Thierry Carrez (ttx)
Changed in keystone:
status: Fix Committed → Fix Released
Thierry Carrez (ttx)
Changed in keystone:
milestone: grizzly-rc1 → 2013.1
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.