03900522d4816fe5dc2958fa1eb30ab447cc8ee5

The bug: any existing Content-Type header cannot be found because the call to headers.get() fails. Therefore we end up with two Content-Type headers because a new one (applicaion/octet-stream) gets added unconditionally. The cause: the strings (keys and values) in the headers dict are converted from unicode sequences of type <str> to utf-8 sequences of type <bytes>. This happens in safe_encode() (oslo_utils/encodeutils.py:66). <str> != <bytes> even if they appear to have the same characters. Hence, for python 3.x, _set_common_request_kwargs() adds content-type to header even if custom content-type is set in the request. This results in unsupported media type exception when glance client is used with keystoneauth and python 3.x The fix: follow the directions in encode_headers(). It says to do this just before sending the request. Honor this principle; do not encode headers and then perform more business logic on them. Change-Id: Idf6079b32f70bc171f5016467048e917d42f296d Closes-bug: #1641239 Co-Authored-By: Pushkar Umaranikar <pushkar.umaranikar@intel.com>
Team and repository tags
Python bindings to the OpenStack Images API
This is a client library for Glance built on the OpenStack Images
API. It provides a Python API (the glanceclient
module) and
a command-line tool (glance
). This library fully supports
the v1 Images API, while support for the v2 API is in progress.
Development takes place via the usual OpenStack processes as outlined in the developer guide. The master repository is in Git.
See release notes and more at http://docs.openstack.org/developer/python-glanceclient/.
- License: Apache License, Version 2.0
- PyPi - package installation
- Online Documentation
- Launchpad project - release management
- Blueprints - feature specifications
- Bugs - issue tracking
- Source
- Specs
- How to Contribute
Description
Languages
Python
99.7%
Shell
0.3%