I can confirm the bug. On a fresh install of OpenStack Pike:
1. Run "cinder --debug list":
...
DEBUG:keystoneauth:REQ: curl -g -i -X GET http://nisse.simula.nornet:8776/v3/168529e95adc4284a40c28f648d48d6f/volumes/detail -H "User-Agent: python-cinderclient" -H "Accept: application/json" -H "X-Auth-Token: {SHA1}fc794cac0686f40616da08b48c22144c58d2745b"
DEBUG:keystoneauth:RESP: [500] Date: Thu, 14 Sep 2017 20:30:08 GMT Server: Apache/2.4.18 (Ubuntu) Content-Length: 618 Connection: close Content-Type: text/html; charset=iso-8859-1
RESP BODY: Omitted, Content-Type is set to text/html; charset=iso-8859-1. Only application/json responses have their bodies logged.
DEBUG (shell:974) Internal Server Error (HTTP 500)
Traceback (most recent call last):
File "/usr/lib/python2.7/dist-packages/cinderclient/shell.py", line 969, in main
for item in sys.argv[1:]])
File "/usr/lib/python2.7/dist-packages/cinderclient/shell.py", line 787, in main
args.func(self.cs, args)
File "/usr/lib/python2.7/dist-packages/cinderclient/v3/shell.py", line 328, in do_list
sort_dir=args.sort_dir, sort=args.sort)
File "/usr/lib/python2.7/dist-packages/cinderclient/v2/volumes.py", line 321, in list
return self._list(url, resource_type, limit=limit)
File "/usr/lib/python2.7/dist-packages/cinderclient/base.py", line 84, in _list
resp, body = self.api.client.get(url)
File "/usr/lib/python2.7/dist-packages/cinderclient/client.py", line 177, in get
return self._cs_request(url, 'GET', **kwargs)
File "/usr/lib/python2.7/dist-packages/cinderclient/client.py", line 168, in _cs_request
return self.request(url, method, **kwargs)
File "/usr/lib/python2.7/dist-packages/cinderclient/client.py", line 154, in request
raise exceptions.from_response(resp, body)
ClientException: Internal Server Error (HTTP 500)
DEBUG:cinderclient.shell:Internal Server Error (HTTP 500)
Traceback (most recent call last):
File "/usr/lib/python2.7/dist-packages/cinderclient/shell.py", line 969, in main
for item in sys.argv[1:]])
File "/usr/lib/python2.7/dist-packages/cinderclient/shell.py", line 787, in main
args.func(self.cs, args)
File "/usr/lib/python2.7/dist-packages/cinderclient/v3/shell.py", line 328, in do_list
sort_dir=args.sort_dir, sort=args.sort)
File "/usr/lib/python2.7/dist-packages/cinderclient/v2/volumes.py", line 321, in list
return self._list(url, resource_type, limit=limit)
File "/usr/lib/python2.7/dist-packages/cinderclient/base.py", line 84, in _list
resp, body = self.api.client.get(url)
File "/usr/lib/python2.7/dist-packages/cinderclient/client.py", line 177, in get
return self._cs_request(url, 'GET', **kwargs)
File "/usr/lib/python2.7/dist-packages/cinderclient/client.py", line 168, in _cs_request
return self.request(url, method, **kwargs)
File "/usr/lib/python2.7/dist-packages/cinderclient/client.py", line 154, in request
raise exceptions.from_response(resp, body)
ClientException: Internal Server Error (HTTP 500)
ERROR: Internal Server Error (HTTP 500)
2. Check /var/log/apache2/cinder_error.log
017-09-14 20:40:59.764418 mod_wsgi (pid=20203): Target WSGI script '/usr/bin/cinder-wsgi' cannot be loaded as Python module.
2017-09-14 20:40:59.764463 mod_wsgi (pid=20203): Exception occurred processing WSGI script '/usr/bin/cinder-wsgi'.
2017-09-14 20:40:59.764487 Traceback (most recent call last):
2017-09-14 20:40:59.764508 File "/usr/bin/cinder-wsgi", line 51, in <module>
2017-09-14 20:40:59.764574 application = initialize_application()
2017-09-14 20:40:59.764590 File "/usr/lib/python2.7/dist-packages/cinder/wsgi/wsgi.py", line 46, in initialize_application
2017-09-14 20:40:59.764640 return wsgi.Loader(CONF).load_app(name='osapi_volume')
2017-09-14 20:40:59.764655 File "/usr/lib/python2.7/dist-packages/oslo_service/wsgi.py", line 340, in __init__
2017-09-14 20:40:59.764793 raise ConfigNotFound(path=config_path)
2017-09-14 20:40:59.764819 ConfigNotFound: Could not find config at api-paste.ini
I can confirm the bug. On a fresh install of OpenStack Pike:
1. Run "cinder --debug list": uth:REQ: curl -g -i -X GET http:// nisse.simula. nornet: 8776/v3/ 168529e95adc428 4a40c28f648d48d 6f/volumes/ detail -H "User-Agent: python- cinderclient" -H "Accept: application/json" -H "X-Auth-Token: {SHA1}fc794cac0 686f40616da08b4 8c22144c58d2745 b" uth:RESP: [500] Date: Thu, 14 Sep 2017 20:30:08 GMT Server: Apache/2.4.18 (Ubuntu) Content-Length: 618 Connection: close Content-Type: text/html; charset=iso-8859-1
...
DEBUG:keystonea
DEBUG:keystonea
RESP BODY: Omitted, Content-Type is set to text/html; charset=iso-8859-1. Only application/json responses have their bodies logged.
DEBUG (shell:974) Internal Server Error (HTTP 500) python2. 7/dist- packages/ cinderclient/ shell.py" , line 969, in main python2. 7/dist- packages/ cinderclient/ shell.py" , line 787, in main func(self. cs, args) python2. 7/dist- packages/ cinderclient/ v3/shell. py", line 328, in do_list dir=args. sort_dir, sort=args.sort) python2. 7/dist- packages/ cinderclient/ v2/volumes. py", line 321, in list python2. 7/dist- packages/ cinderclient/ base.py" , line 84, in _list client. get(url) python2. 7/dist- packages/ cinderclient/ client. py", line 177, in get request( url, 'GET', **kwargs) python2. 7/dist- packages/ cinderclient/ client. py", line 168, in _cs_request python2. 7/dist- packages/ cinderclient/ client. py", line 154, in request from_response( resp, body) ent.shell: Internal Server Error (HTTP 500) python2. 7/dist- packages/ cinderclient/ shell.py" , line 969, in main python2. 7/dist- packages/ cinderclient/ shell.py" , line 787, in main func(self. cs, args) python2. 7/dist- packages/ cinderclient/ v3/shell. py", line 328, in do_list dir=args. sort_dir, sort=args.sort) python2. 7/dist- packages/ cinderclient/ v2/volumes. py", line 321, in list python2. 7/dist- packages/ cinderclient/ base.py" , line 84, in _list client. get(url) python2. 7/dist- packages/ cinderclient/ client. py", line 177, in get request( url, 'GET', **kwargs) python2. 7/dist- packages/ cinderclient/ client. py", line 168, in _cs_request python2. 7/dist- packages/ cinderclient/ client. py", line 154, in request from_response( resp, body)
Traceback (most recent call last):
File "/usr/lib/
for item in sys.argv[1:]])
File "/usr/lib/
args.
File "/usr/lib/
sort_
File "/usr/lib/
return self._list(url, resource_type, limit=limit)
File "/usr/lib/
resp, body = self.api.
File "/usr/lib/
return self._cs_
File "/usr/lib/
return self.request(url, method, **kwargs)
File "/usr/lib/
raise exceptions.
ClientException: Internal Server Error (HTTP 500)
DEBUG:cindercli
Traceback (most recent call last):
File "/usr/lib/
for item in sys.argv[1:]])
File "/usr/lib/
args.
File "/usr/lib/
sort_
File "/usr/lib/
return self._list(url, resource_type, limit=limit)
File "/usr/lib/
resp, body = self.api.
File "/usr/lib/
return self._cs_
File "/usr/lib/
return self.request(url, method, **kwargs)
File "/usr/lib/
raise exceptions.
ClientException: Internal Server Error (HTTP 500)
ERROR: Internal Server Error (HTTP 500)
2. Check /var/log/ apache2/ cinder_ error.log cinder- wsgi' cannot be loaded as Python module. cinder- wsgi'. cinder- wsgi", line 51, in <module> application( ) python2. 7/dist- packages/ cinder/ wsgi/wsgi. py", line 46, in initialize_ application CONF).load_ app(name= 'osapi_ volume' ) python2. 7/dist- packages/ oslo_service/ wsgi.py" , line 340, in __init__ path=config_ path)
017-09-14 20:40:59.764418 mod_wsgi (pid=20203): Target WSGI script '/usr/bin/
2017-09-14 20:40:59.764463 mod_wsgi (pid=20203): Exception occurred processing WSGI script '/usr/bin/
2017-09-14 20:40:59.764487 Traceback (most recent call last):
2017-09-14 20:40:59.764508 File "/usr/bin/
2017-09-14 20:40:59.764574 application = initialize_
2017-09-14 20:40:59.764590 File "/usr/lib/
2017-09-14 20:40:59.764640 return wsgi.Loader(
2017-09-14 20:40:59.764655 File "/usr/lib/
2017-09-14 20:40:59.764793 raise ConfigNotFound(
2017-09-14 20:40:59.764819 ConfigNotFound: Could not find config at api-paste.ini
Fix is as in message #2:
/etc/apache2/ conf-available/ cinder- wsgi.conf contains:
WSGIDaemonProcess cinder-wsgi processes=5 threads=1 user=cinder display- name=%{ GROUP}
Changing it to:
WSGIDaemonProcess cinder-wsgi processes=5 threads=1 user=cinder group=cinder display- name=%{ GROUP}
solves the problem.