$ glance image-list
+--------------------------------------+---------------------------------+-------------+------------------+----------+--------+
| ID | Name | Disk Format | Container Format | Size | Status |
+--------------------------------------+---------------------------------+-------------+------------------+----------+--------+
| bfc0d850-c5eb-4406-a794-3967422131f3 | cirros-0.3.2-x86_64-uec | ami | ami | 25165824 | active |
| fec08a17-28b9-471a-96da-b4c6a52a9ef0 | cirros-0.3.2-x86_64-uec-kernel | aki | aki | 4969360 | active |
| 114c9b68-cce9-48c3-923c-8f08cc9977d4 | cirros-0.3.2-x86_64-uec-ramdisk | ari | ari | 3723817 | active |
+--------------------------------------+---------------------------------+-------------+------------------+----------+--------+
$ nova image-list
ERROR (ClientException): The server has either erred or is incapable of performing the requested operation. (HTTP 500) (Request-ID: req-5460e311-7dec-484f-ae7a-f0b6cc9f983c)
From the nova api logs:
2015-04-11 10:48:28.688 TRACE nova.api.openstack images, resp = self._list(url, "images")
2015-04-11 10:48:28.688 TRACE nova.api.openstack File "/usr/local/lib/python2.7/dist- packages/glanceclient/v1/images.py", line 63, in _list
2015-04-11 10:48:28.688 TRACE nova.api.openstack resp, body = self.client.get(url)
2015-04-11 10:48:28.688 TRACE nova.api.openstack File "/usr/local/lib/python2.7/dist- packages/glanceclient/common/http.py", line 262, in get
2015-04-11 10:48:28.688 TRACE nova.api.openstack return self._request('GET', url, **kwargs)
2015-04-11 10:48:28.688 TRACE nova.api.openstack File "/usr/local/lib/python2.7/dist- packages/glanceclient/common/http.py", line 209, in _request
2015-04-11 10:48:28.688 TRACE nova.api.openstack **kwargs)
2015-04-11 10:48:28.688 TRACE nova.api.openstack File "/usr/lib/python2.7/dist-packages/requests/sessions.py", line 383, in r equest
2 015-04-11 10:48:28.688 TRACE nova.api.openstack resp = self.send(prep, **send_kwargs)
2 015-04-11 10:48:28.688 TRACE nova.api.openstack File "/usr/lib/python2.7/dist-packages/requests/sessions.py", line 486, in send
2015-04-11 10:48:28.688 TRACE nova.api.openstack r = adapter.send(request, **kwargs)
2015-04-11 10:48:28.688 TRACE nova.api.openstack File "/usr/lib/python2.7/dist-packages/requests/adapters.py", line 305, in send
2015-04-11 10:48:28.688 TRACE nova.api.openstack conn = self.get_connection(request.url, proxies)
2015-04-11 10:48:28.688 TRACE nova.api.openstack File "/usr/local/lib/python2.7/dist-packages/glanceclient/common/https.py", line 179, in get_connection
2015-04-11 10:48:28.688 TRACE nova.api.openstack return self._create_glance_httpsconnectionpool(url)
2015-04-11 10:48:28.688 TRACE nova.api.openstack File "/usr/local/lib/python2.7/dist-packages/glanceclient/common/https.py", line 157, in _create_glance_httpsconnectionpool
2015-04-11 10:48:28.688 TRACE nova.api.openstack kw = self.poolmanager.connection_kw
2015-04-11 10:48:28.688 TRACE nova.api.openstack AttributeError: 'PoolManager' object has no attribute 'connection_kw'
2015-04-11 10:48:28.688 TRACE nova.api.openstack
2015-04-11 10:48:28.688 TRACE nova.api.openstack images, resp = self._list(url, "images")
2015-04-11 10:48:28.688 TRACE nova.api.openstack File "/usr/local/lib/python2.7/dist- packages/glanceclient/v1/images.py", line 63, in _list
2015-04-11 10:48:28.688 TRACE nova.api.openstack resp, body = self.client.get(url)
2015-04-11 10:48:28.688 TRACE nova.api.openstack File "/usr/local/lib/python2.7/dist- packages/glanceclient/common/http.py", line 262, in get
2015-04-11 10:48:28.688 TRACE nova.api.openstack return self._request('GET', url, **kwargs)
2015-04-11 10:48:28.688 TRACE nova.api.openstack File "/usr/local/lib/python2.7/dist-packages/glanceclient/common/http.py", line 209, in _request
2015-04-11 10:48:28.688 TRACE nova.api.openstack **kwargs)
2015-04-11 10:48:28.688 TRACE nova.api.openstack File "/usr/lib/python2.7/dist-packages/requests/sessions.py", line 383, in request
2015-04-11 10:48:28.688 TRACE nova.api.openstack resp = self.send(prep, **send_kwargs)
2015-04-11 10:48:28.688 TRACE nova.api.openstack File "/usr/lib/python2.7/dist-packages/requests/sessions.py", line 486, in send
2015-04-11 10:48:28.688 TRACE nova.api.openstack r = adapter.send(request, **kwargs)
2015-04-11 10:48:28.688 TRACE nova.api.openstack File "/usr/lib/python2.7/dist-packages/requests/adapters.py", line 305, in send
2015-04-11 10:48:28.688 TRACE nova.api.openstack conn = self.get_connection(request.url, proxies)
2015-04-11 10:48:28.688 TRACE nova.api.openstack File "/usr/local/lib/python2.7/dist-packages/glanceclient/common/https.py", line 179, in get_connection
2015-04-11 10:48:28.688 TRACE nova.api.openstack return self._create_glance_httpsconnectionpool(url)
2015-04-11 10:48:28.688 TRACE nova.api.openstack File "/usr/local/lib/python2.7/dist- packages/glanceclient/common/https.py", line 157, in _create_glance_httpsconnectionpool
2015-04-11 10:48:28.688 TRACE nova.api.openstack kw = self.poolmanager.connection_kw
2015-04-11 10:48:28.688 TRACE nova.api.openstack AttributeError: 'PoolManager' object has no attribute 'connection_kw'
2015-04-11 10:48:28.688 TRACE nova.api.openstack
To confirm this breaks nova when using https I started devstack with ssl enabled (using USE_SSL=True in localrc):
$ keystone endpoint-list lib/python2. 7/dist- packages/ keystoneclient/ shell.py: 65: DeprecationWarning: The keystone CLI is deprecated in favor of python- openstackclient . For a Python library, continue using python- keystoneclient. keystoneclient. ', DeprecationWarning) ------- ------- ------- ------- -+----- ------+ ------- ------- ------- ------- ------- ------- ----+-- ------- ------- ------- ------- ------- ------- --+---- ------- ------- ------- ---- ------- ------- +------ ------- ------- ------- ------- + ------- ------- ------- ------- -+----- ------+ ------- ------- ------- ------- ------- ------- ----+-- ------- ------- ------- ------- ------- ------- --+---- ------- ------- ------- ---- ------- ------- +------ ------- ------- ------- ------- + cbdc16e6b55ec84 cb | RegionOne | https:/ /10.0.0. 47:8774/ v2/$(tenant_ id)s | https:/ /10.0.0. 47:8774/ v2/$(tenant_ id)s | https:/ /10.0.0. 47:8774/ v2/$(tenant_ id)s | 86912816c15c41e 8a95ad9640854e5 bc | e904b147c7a033b ac | RegionOne | https:/ /10.0.0. 47:8776/ v2/$(tenant_ id)s | https:/ /10.0.0. 47:8776/ v2/$(tenant_ id)s | https:/ /10.0.0. 47:8776/ v2/$(tenant_ id)s | 5d64fe58a4c3442 fb2a6d3c14f2086 a9 | 6a4495967ddbc52 74 | RegionOne | https:/ /10.0.0. 47:8774/ v2.1/$( tenant_ id)s | https:/ /10.0.0. 47:8774/ v2.1/$( tenant_ id)s | https:/ /10.0.0. 47:8774/ v2.1/$( tenant_ id)s | 808f4486bf2c449 f98565473536379 6a | ab4089fb0ecf691 f4 | RegionOne | https:/ /10.0.0. 47:8080/ v1/AUTH_ $(tenant_ id)s | https:/ /10.0.0. 47:8080/ v1/AUTH_ $(tenant_ id)s | https:/ /10.0.0. 47:8080 | d78100705b0c45d 58b42de51a632e8 2a | a95ac005fbb2703 d6 | RegionOne | https:/ /10.0.0. 47:8776/ v1/$(tenant_ id)s | https:/ /10.0.0. 47:8776/ v1/$(tenant_ id)s | https:/ /10.0.0. 47:8776/ v1/$(tenant_ id)s | 1ede664498e7419 ba406d6c46e9673 5c | 1a746caa08c30cc a1 | RegionOne | https:/ /10.0.0. 47:8773/ | https:/ /10.0.0. 47:8773/ | https:/ /10.0.0. 47:8773/ | beaddfc4ec5740f c8ea4fde1ca9be2 a5 | abc1c65cfdedbb4 65 | RegionOne | https:/ /10.0.0. 47:5000/ v2.0 | https:/ /10.0.0. 47:5000/ v2.0 | https:/ /10.0.0. 47:35357/ v2.0 | a64185bcae8341b c9493d0feef7771 3b | a992c8a58692bc7 c2 | RegionOne | https:/ /10.0.0. 47:9292 | https:/ /10.0.0. 47:9292 | https:/ /10.0.0. 47:9292 | 5d048c621520435 d82f61fbc055db8 87 | ------- ------- ------- ------- -+----- ------+ ------- ------- ------- ------- ------- ------- ----+-- ------- ------- ------- ------- ------- ------- --+---- ------- ------- ------- ------- ------- ----+-- ------- ------- ------- ------- ----+
/usr/local/
'python-
+-----
| id | region | publicurl | internalurl | adminurl | service_id |
+-----
| 23c027b6f16f49b
| 6b1e415a479b4cd
| 6c7c345c3c7947e
| 71ebbc4e3d154bf
| 7bbab33e0faa42e
| a802cfd711a1462
| b5f0ca15cac04f1
| dd279bf07a054be
+-----
$ glance image-list ------- ------- ------- ------- -----+- ------- ------- ------- ------- ----+-- ------- ----+-- ------- ------- --+---- ------+ ------- -+ ------- ------- ------- ------- -----+- ------- ------- ------- ------- ----+-- ------- ----+-- ------- ------- --+---- ------+ ------- -+ c5eb-4406- a794-3967422131 f3 | cirros- 0.3.2-x86_ 64-uec | ami | ami | 25165824 | active | 28b9-471a- 96da-b4c6a52a9e f0 | cirros- 0.3.2-x86_ 64-uec- kernel | aki | aki | 4969360 | active | cce9-48c3- 923c-8f08cc9977 d4 | cirros- 0.3.2-x86_ 64-uec- ramdisk | ari | ari | 3723817 | active | ------- ------- ------- ------- -----+- ------- ------- ------- ------- ----+-- ------- ----+-- ------- ------- --+---- ------+ ------- -+
+-----
| ID | Name | Disk Format | Container Format | Size | Status |
+-----
| bfc0d850-
| fec08a17-
| 114c9b68-
+-----
$ nova image-list 7dec-484f- ae7a-f0b6cc9f98 3c)
ERROR (ClientException): The server has either erred or is incapable of performing the requested operation. (HTTP 500) (Request-ID: req-5460e311-
From the nova api logs:
2015-04-11 10:48:28.688 TRACE nova.api.openstack images, resp = self._list(url, "images") lib/python2. 7/dist- packages/ glanceclient/ v1/images. py", line 63, in _list get(url) lib/python2. 7/dist- packages/ glanceclient/ common/ http.py" , line 262, in get 'GET', url, **kwargs) lib/python2. 7/dist- packages/ glanceclient/ common/ http.py" , line 209, in _request python2. 7/dist- packages/ requests/ sessions. py", line 383, in r equest python2. 7/dist- packages/ requests/ sessions. py", line 486, in send send(request, **kwargs) python2. 7/dist- packages/ requests/ adapters. py", line 305, in send connection( request. url, proxies) lib/python2. 7/dist- packages/ glanceclient/ common/ https.py" , line 179, in get_connection glance_ httpsconnection pool(url) lib/python2. 7/dist- packages/ glanceclient/ common/ https.py" , line 157, in _create_ glance_ httpsconnection pool r.connection_ kw lib/python2. 7/dist- packages/ glanceclient/ v1/images. py", line 63, in _list get(url) lib/python2. 7/dist- packages/ glanceclient/ common/ http.py" , line 262, in get 'GET', url, **kwargs) lib/python2. 7/dist- packages/ glanceclient/ common/ http.py" , line 209, in _request python2. 7/dist- packages/ requests/ sessions. py", line 383, in request python2. 7/dist- packages/ requests/ sessions. py", line 486, in send send(request, **kwargs) python2. 7/dist- packages/ requests/ adapters. py", line 305, in send connection( request. url, proxies) lib/python2. 7/dist- packages/ glanceclient/ common/ https.py" , line 179, in get_connection glance_ httpsconnection pool(url) lib/python2. 7/dist- packages/ glanceclient/ common/ https.py" , line 157, in _create_ glance_ httpsconnection pool r.connection_ kw
2015-04-11 10:48:28.688 TRACE nova.api.openstack File "/usr/local/
2015-04-11 10:48:28.688 TRACE nova.api.openstack resp, body = self.client.
2015-04-11 10:48:28.688 TRACE nova.api.openstack File "/usr/local/
2015-04-11 10:48:28.688 TRACE nova.api.openstack return self._request(
2015-04-11 10:48:28.688 TRACE nova.api.openstack File "/usr/local/
2015-04-11 10:48:28.688 TRACE nova.api.openstack **kwargs)
2015-04-11 10:48:28.688 TRACE nova.api.openstack File "/usr/lib/
2 015-04-11 10:48:28.688 TRACE nova.api.openstack resp = self.send(prep, **send_kwargs)
2 015-04-11 10:48:28.688 TRACE nova.api.openstack File "/usr/lib/
2015-04-11 10:48:28.688 TRACE nova.api.openstack r = adapter.
2015-04-11 10:48:28.688 TRACE nova.api.openstack File "/usr/lib/
2015-04-11 10:48:28.688 TRACE nova.api.openstack conn = self.get_
2015-04-11 10:48:28.688 TRACE nova.api.openstack File "/usr/local/
2015-04-11 10:48:28.688 TRACE nova.api.openstack return self._create_
2015-04-11 10:48:28.688 TRACE nova.api.openstack File "/usr/local/
2015-04-11 10:48:28.688 TRACE nova.api.openstack kw = self.poolmanage
2015-04-11 10:48:28.688 TRACE nova.api.openstack AttributeError: 'PoolManager' object has no attribute 'connection_kw'
2015-04-11 10:48:28.688 TRACE nova.api.openstack
2015-04-11 10:48:28.688 TRACE nova.api.openstack images, resp = self._list(url, "images")
2015-04-11 10:48:28.688 TRACE nova.api.openstack File "/usr/local/
2015-04-11 10:48:28.688 TRACE nova.api.openstack resp, body = self.client.
2015-04-11 10:48:28.688 TRACE nova.api.openstack File "/usr/local/
2015-04-11 10:48:28.688 TRACE nova.api.openstack return self._request(
2015-04-11 10:48:28.688 TRACE nova.api.openstack File "/usr/local/
2015-04-11 10:48:28.688 TRACE nova.api.openstack **kwargs)
2015-04-11 10:48:28.688 TRACE nova.api.openstack File "/usr/lib/
2015-04-11 10:48:28.688 TRACE nova.api.openstack resp = self.send(prep, **send_kwargs)
2015-04-11 10:48:28.688 TRACE nova.api.openstack File "/usr/lib/
2015-04-11 10:48:28.688 TRACE nova.api.openstack r = adapter.
2015-04-11 10:48:28.688 TRACE nova.api.openstack File "/usr/lib/
2015-04-11 10:48:28.688 TRACE nova.api.openstack conn = self.get_
2015-04-11 10:48:28.688 TRACE nova.api.openstack File "/usr/local/
2015-04-11 10:48:28.688 TRACE nova.api.openstack return self._create_
2015-04-11 10:48:28.688 TRACE nova.api.openstack File "/usr/local/
2015-04-11 10:48:28.688 TRACE nova.api.openstack kw = self.poolmanage
2015-04-11 10:48:28.688 TRACE nova.api.openstack AttributeError: 'PoolManager' object has no attribute 'connection_kw'
2015-04-11 10:48:28.688 TRACE nova.api.openstack