Setup: nova-api ant glance-api listens using https protocol. nova.conf has: glance_api_servers=https://api.domain.tld:9292 image_service=nova.image.glance.GlanceImageService Glance client shows images correct: # glance image-list +--------------------------------------+--------------------------+-------------+------------------+-----------+--------+ | ID | Name | Disk Format | Container Format | Size | Status | +--------------------------------------+--------------------------+-------------+------------------+-----------+--------+ | bea7002a-cd8b-4aee-bc3c-86fca88e02b0 | Centos 6.x x86_64 | qcow2 | bare | 476643328 | active | | 6b6c7b0e-ca00-409f-b044-726aaaab4d76 | Fedora 16 x86_64 | qcow2 | bare | 213581824 | active | | a66dd9a9-fd98-480e-b37a-b21542f74257 | Ubuntu 12.04 LTS 64 Bits | qcow2 | bare | 251068416 | active | | 45e2c419-80f2-49ff-9007-6e634ac7b398 | Ubuntu 13.04 x86_64 | qcow2 | bare | 229965824 | active | +--------------------------------------+--------------------------+-------------+------------------+-----------+--------+ Nova client doesn't works: % nova image-list ERROR: The server has either erred or is incapable of performing the requested operation. (HTTP 500) (Request-ID: req-f8391fd3-3dfc-4517-b398-46e32a7673de) In nova-api.log: 2013-04-10 15:12:28.793 6060 DEBUG nova.utils [-] Reloading cached file /etc/nova/policy.json read_cached_file /usr/lib/python2.7/dist-packages/nova/utils.py:1078 2013-04-10 15:12:29.300 DEBUG nova.api.openstack.wsgi [req-59a0e3cd-20d3-48df-9d3c-5687f06ef742 a88019e6a2aa45868af59c1dfc201185 e53acf8733034bd89fa39f7a8d4f9630] No Content-Type provided in request get_body /usr/lib/python2.7/dist-packages/nova/api/openstack/wsgi.py:791 2013-04-10 15:12:29.301 DEBUG nova.api.openstack.wsgi [req-59a0e3cd-20d3-48df-9d3c-5687f06ef742 a88019e6a2aa45868af59c1dfc201185 e53acf8733034bd89fa39f7a8d4f9630] Calling method <bound method Controller.detail of <nova.api.openstack.compute.images.Controller object at 0x44c89d0>> _process_stack /usr/lib/python2.7/dist-packages/nova/api/openstack/wsgi.py:911 2013-04-10 15:12:29.332 ERROR nova.api.openstack [req-59a0e3cd-20d3-48df-9d3c-5687f06ef742 a88019e6a2aa45868af59c1dfc201185 e53acf8733034bd89fa39f7a8d4f9630] Caught error: 2013-04-10 15:12:29.332 6060 TRACE nova.api.openstack Traceback (most recent call last): 2013-04-10 15:12:29.332 6060 TRACE nova.api.openstack File "/usr/lib/python2.7/dist-packages/nova/api/openstack/__init__.py", line 81, in __call__ 2013-04-10 15:12:29.332 6060 TRACE nova.api.openstack return req.get_response(self.application) 2013-04-10 15:12:29.332 6060 TRACE nova.api.openstack File "/usr/lib/python2.7/dist-packages/webob/request.py", line 1296, in send 2013-04-10 15:12:29.332 6060 TRACE nova.api.openstack application, catch_exc_info=False) 2013-04-10 15:12:29.332 6060 TRACE nova.api.openstack File "/usr/lib/python2.7/dist-packages/webob/request.py", line 1260, in call_application 2013-04-10 15:12:29.332 6060 TRACE nova.api.openstack app_iter = application(self.environ, start_response) 2013-04-10 15:12:29.332 6060 TRACE nova.api.openstack File "/usr/lib/python2.7/dist-packages/webob/dec.py", line 144, in __call__ 2013-04-10 15:12:29.332 6060 TRACE nova.api.openstack return resp(environ, start_response) 2013-04-10 15:12:29.332 6060 TRACE nova.api.openstack File "/usr/lib/python2.7/dist-packages/keystoneclient/middleware/auth_token.py", line 451, in __call__ 2013-04-10 15:12:29.332 6060 TRACE nova.api.openstack return self.app(env, start_response) 2013-04-10 15:12:29.332 6060 TRACE nova.api.openstack File "/usr/lib/python2.7/dist-packages/webob/dec.py", line 144, in __call__ 2013-04-10 15:12:29.332 6060 TRACE nova.api.openstack return resp(environ, start_response) 2013-04-10 15:12:29.332 6060 TRACE nova.api.openstack File "/usr/lib/python2.7/dist-packages/webob/dec.py", line 144, in __call__ 2013-04-10 15:12:29.332 6060 TRACE nova.api.openstack return resp(environ, start_response) 2013-04-10 15:12:29.332 6060 TRACE nova.api.openstack File "/usr/lib/python2.7/dist-packages/webob/dec.py", line 144, in __call__ 2013-04-10 15:12:29.332 6060 TRACE nova.api.openstack return resp(environ, start_response) 2013-04-10 15:12:29.332 6060 TRACE nova.api.openstack File "/usr/lib/python2.7/dist-packages/routes/middleware.py", line 131, in __call__ 2013-04-10 15:12:29.332 6060 TRACE nova.api.openstack response = self.app(environ, start_response) 2013-04-10 15:12:29.332 6060 TRACE nova.api.openstack File "/usr/lib/python2.7/dist-packages/webob/dec.py", line 144, in __call__ 2013-04-10 15:12:29.332 6060 TRACE nova.api.openstack return resp(environ, start_response) 2013-04-10 15:12:29.332 6060 TRACE nova.api.openstack File "/usr/lib/python2.7/dist-packages/webob/dec.py", line 130, in __call__ 2013-04-10 15:12:29.332 6060 TRACE nova.api.openstack resp = self.call_func(req, *args, **self.kwargs) 2013-04-10 15:12:29.332 6060 TRACE nova.api.openstack File "/usr/lib/python2.7/dist-packages/webob/dec.py", line 195, in call_func 2013-04-10 15:12:29.332 6060 TRACE nova.api.openstack return self.func(req, *args, **kwargs) 2013-04-10 15:12:29.332 6060 TRACE nova.api.openstack File "/usr/lib/python2.7/dist-packages/nova/api/openstack/wsgi.py", line 890, in __call__ 2013-04-10 15:12:29.332 6060 TRACE nova.api.openstack content_type, body, accept) 2013-04-10 15:12:29.332 6060 TRACE nova.api.openstack File "/usr/lib/python2.7/dist-packages/nova/api/openstack/wsgi.py", line 942, in _process_stack 2013-04-10 15:12:29.332 6060 TRACE nova.api.openstack action_result = self.dispatch(meth, request, action_args) 2013-04-10 15:12:29.332 6060 TRACE nova.api.openstack File "/usr/lib/python2.7/dist-packages/nova/api/openstack/wsgi.py", line 1022, in dispatch 2013-04-10 15:12:29.332 6060 TRACE nova.api.openstack return method(req=request, **action_args) 2013-04-10 15:12:29.332 6060 TRACE nova.api.openstack File "/usr/lib/python2.7/dist-packages/nova/api/openstack/compute/images.py", line 205, in detail 2013-04-10 15:12:29.332 6060 TRACE nova.api.openstack **page_params) 2013-04-10 15:12:29.332 6060 TRACE nova.api.openstack File "/usr/lib/python2.7/dist-packages/nova/image/glance.py", line 213, in detail 2013-04-10 15:12:29.332 6060 TRACE nova.api.openstack for image in images: 2013-04-10 15:12:29.332 6060 TRACE nova.api.openstack File "/usr/lib/python2.7/dist-packages/glanceclient/v1/images.py", line 149, in paginate 2013-04-10 15:12:29.332 6060 TRACE nova.api.openstack images = self._list(url, "images") 2013-04-10 15:12:29.332 6060 TRACE nova.api.openstack File "/usr/lib/python2.7/dist-packages/glanceclient/common/base.py", line 53, in _list 2013-04-10 15:12:29.332 6060 TRACE nova.api.openstack resp, body = self.api.json_request('GET', url) 2013-04-10 15:12:29.332 6060 TRACE nova.api.openstack File "/usr/lib/python2.7/dist-packages/glanceclient/common/http.py", line 222, in json_request 2013-04-10 15:12:29.332 6060 TRACE nova.api.openstack resp, body_iter = self._http_request(url, method, **kwargs) 2013-04-10 15:12:29.332 6060 TRACE nova.api.openstack File "/usr/lib/python2.7/dist-packages/glanceclient/common/http.py", line 184, in _http_request 2013-04-10 15:12:29.332 6060 TRACE nova.api.openstack resp = conn.getresponse() 2013-04-10 15:12:29.332 6060 TRACE nova.api.openstack File "/usr/lib/python2.7/httplib.py", line 1030, in getresponse 2013-04-10 15:12:29.332 6060 TRACE nova.api.openstack response.begin() 2013-04-10 15:12:29.332 6060 TRACE nova.api.openstack File "/usr/lib/python2.7/httplib.py", line 407, in begin 2013-04-10 15:12:29.332 6060 TRACE nova.api.openstack version, status, reason = self._read_status() 2013-04-10 15:12:29.332 6060 TRACE nova.api.openstack File "/usr/lib/python2.7/httplib.py", line 365, in _read_status 2013-04-10 15:12:29.332 6060 TRACE nova.api.openstack line = self.fp.readline() 2013-04-10 15:12:29.332 6060 TRACE nova.api.openstack File "/usr/lib/python2.7/socket.py", line 430, in readline 2013-04-10 15:12:29.332 6060 TRACE nova.api.openstack data = recv(1) 2013-04-10 15:12:29.332 6060 TRACE nova.api.openstack WantReadError 2013-04-10 15:12:29.332 6060 TRACE nova.api.openstack 2013-04-10 15:12:29.337 INFO nova.api.openstack [req-59a0e3cd-20d3-48df-9d3c-5687f06ef742 a88019e6a2aa45868af59c1dfc201185 e53acf8733034bd89fa39f7a8d4f9630] https://api.domain.tld:8774/v2/e53acf8733034bd89fa39f7a8d4f9630/images/detail returned with HTTP 500 2013-04-10 15:12:29.338 DEBUG nova.api.openstack.wsgi [req-59a0e3cd-20d3-48df-9d3c-5687f06ef742 a88019e6a2aa45868af59c1dfc201185 e53acf8733034bd89fa39f7a8d4f9630] Returning 500 to user: The server has either erred or is incapable of performing the requested operation. __call__ /usr/lib/python2.7/dist-packages/nova/api/openstack/wsgi.py:1165 2013-04-10 15:12:29.339 INFO nova.osapi_compute.wsgi.server [req-59a0e3cd-20d3-48df-9d3c-5687f06ef742 a88019e6a2aa45868af59c1dfc201185 e53acf8733034bd89fa39f7a8d4f9630] <ip> "GET /v2/e53acf8733034bd89fa39f7a8d4f9630/images/detail HTTP/1.1" status: 500 len: 335 time: 0.5630920 glance-api.log says that all is OK: 2013-04-10 15:15:11.042 12980 DEBUG glance.api.middleware.version_negotiation [-] Determining version of request: GET //v1/images/detail Accept: process_request /usr/lib/python2.7/dist-packages/glance/api/middleware/version_negotiation.py:46 2013-04-10 15:15:11.043 12980 DEBUG glance.api.middleware.version_negotiation [-] Using url versioning process_request /usr/lib/python2.7/dist-packages/glance/api/middleware/version_negotiation.py:59 2013-04-10 15:15:11.043 12980 DEBUG glance.api.middleware.version_negotiation [-] Matched version: v1 process_request /usr/lib/python2.7/dist-packages/glance/api/middleware/version_negotiation.py:71 2013-04-10 15:15:11.043 12980 DEBUG glance.api.middleware.version_negotiation [-] new uri /v1/images/detail process_request /usr/lib/python2.7/dist-packages/glance/api/middleware/version_negotiation.py:72 2013-04-10 15:15:11.053 DEBUG glance.api.policy [4a9817f5-1329-4d80-85b0-1b2e615c8495 a88019e6a2aa45868af59c1dfc201185 e53acf8733034bd89fa39f7a8d4f9630] Loaded policy rules: {u'default': '@', u'manage_image_cache': 'role:admin'} load_rules /usr/lib/python2.7/dist-packages/glance/api/policy.py:72 2013-04-10 15:15:11.054 DEBUG glance.common.client [4a9817f5-1329-4d80-85b0-1b2e615c8495 a88019e6a2aa45868af59c1dfc201185 e53acf8733034bd89fa39f7a8d4f9630] Constructed URL: https://api.domain.tld:9191/images/detail?is_public=none&limit=20 _construct_url /usr/lib/python2.7/dist-packages/glance/common/client.py:397 2013-04-10 15:15:11.132 DEBUG glance.registry.client [4a9817f5-1329-4d80-85b0-1b2e615c8495 a88019e6a2aa45868af59c1dfc201185 e53acf8733034bd89fa39f7a8d4f9630] Registry request GET /images/detail HTTP 200 request id req-e4d7e2ff-b564-48c3-b18a-6b684d3e1c7b do_request /usr/lib/python2.7/dist-packages/glance/registry/client.py:95