yahoo-eng-team team mailing list archive
-
yahoo-eng-team team
-
Mailing list archive
-
Message #27396
[Bug 1415935] [NEW] encode_headers which has NoneType value would raise exception
Public bug reported:
refer to https://review.openstack.org/#/c/129289/
if you're using Nova but don't have Nova configured with
auth_strategy='keystone' (see nova.image.glance._create_glance_client for details),
and when you resize(or other operation need call glance) an VM, it may call
glanceclient, and code may go to the logic like:
/usr/lib/python2.7/site-packages/glanceclient/v1/client.py(36)__init__()
-> self.http_client = http.HTTPClient(endpoint, *args, **kwargs)
> /usr/lib/python2.7/site-packages/glanceclient/common/http.py(57)__init__()
and in /usr/lib/python2.7/site-packages/glanceclient/common/http.py(57)__init__()
self.identity_headers = kwargs.get('identity_headers') <<<<<<<<<<
self.auth_token = kwargs.get('token')
and the self.identity_headers may be like:
{'X-Service-Catalog': '[]', 'X-Auth-Token': None, 'X-Roles': u'admin', 'X-Tenant-Id': None, 'X-User-Id': None, 'X-Identity-Status': 'Confirmed'}
and for https://review.openstack.org/#/c/136326/,
for the code:
if self.identity_headers:
for k, v in six.iteritems(self.identity_headers):
headers.setdefault(k, v)
headers would be like: {'X-Service-Catalog': '[]', 'X-Auth-Token': None,
'X-Roles': u'admin', 'X-Tenant-Id': None, 'X-User-Id': None, 'X
-Identity-Status': 'Confirmed', ....}
so "headers = self.encode_headers(headers)" in /usr/lib/python2.7/site-packages/glanceclient/common/http.py(1957)__request()
would raise TypeError("NoneType can't be encoded"), thus resize(or other operation need call glance) would fail.
** Affects: glance
Importance: Undecided
Status: New
--
You received this bug notification because you are a member of Yahoo!
Engineering Team, which is subscribed to Glance.
https://bugs.launchpad.net/bugs/1415935
Title:
encode_headers which has NoneType value would raise exception
Status in OpenStack Image Registry and Delivery Service (Glance):
New
Bug description:
refer to https://review.openstack.org/#/c/129289/
if you're using Nova but don't have Nova configured with
auth_strategy='keystone' (see nova.image.glance._create_glance_client for details),
and when you resize(or other operation need call glance) an VM, it may call
glanceclient, and code may go to the logic like:
/usr/lib/python2.7/site-packages/glanceclient/v1/client.py(36)__init__()
-> self.http_client = http.HTTPClient(endpoint, *args, **kwargs)
> /usr/lib/python2.7/site-packages/glanceclient/common/http.py(57)__init__()
and in /usr/lib/python2.7/site-packages/glanceclient/common/http.py(57)__init__()
self.identity_headers = kwargs.get('identity_headers') <<<<<<<<<<
self.auth_token = kwargs.get('token')
and the self.identity_headers may be like:
{'X-Service-Catalog': '[]', 'X-Auth-Token': None, 'X-Roles': u'admin', 'X-Tenant-Id': None, 'X-User-Id': None, 'X-Identity-Status': 'Confirmed'}
and for https://review.openstack.org/#/c/136326/,
for the code:
if self.identity_headers:
for k, v in six.iteritems(self.identity_headers):
headers.setdefault(k, v)
headers would be like: {'X-Service-Catalog': '[]', 'X-Auth-Token':
None, 'X-Roles': u'admin', 'X-Tenant-Id': None, 'X-User-Id': None, 'X
-Identity-Status': 'Confirmed', ....}
so "headers = self.encode_headers(headers)" in /usr/lib/python2.7/site-packages/glanceclient/common/http.py(1957)__request()
would raise TypeError("NoneType can't be encoded"), thus resize(or other operation need call glance) would fail.
To manage notifications about this bug go to:
https://bugs.launchpad.net/glance/+bug/1415935/+subscriptions
Follow ups
References