<feed xmlns='http://www.w3.org/2005/Atom'>
<title>delta/openstack/python-glanceclient.git, branch 2.7.0</title>
<subtitle>opendev.org: openstack/python-glanceclient.git
</subtitle>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/openstack/python-glanceclient.git/'/>
<entry>
<title>Merge "Allow global_request_id in Client constructor"</title>
<updated>2017-06-01T17:22:55+00:00</updated>
<author>
<name>Jenkins</name>
<email>jenkins@review.openstack.org</email>
</author>
<published>2017-06-01T17:22:55+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/openstack/python-glanceclient.git/commit/?id=d67b33b2e5fcee4545fe4ccb1e58c8d6ed12883c'/>
<id>d67b33b2e5fcee4545fe4ccb1e58c8d6ed12883c</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Allow global_request_id in Client constructor</title>
<updated>2017-06-01T14:32:03+00:00</updated>
<author>
<name>Sean Dague</name>
<email>sean@dague.net</email>
</author>
<published>2017-05-24T11:17:30+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/openstack/python-glanceclient.git/commit/?id=ec76e254da4f4727463dcb3a76adf33e5d3f7ffb'/>
<id>ec76e254da4f4727463dcb3a76adf33e5d3f7ffb</id>
<content type='text'>
This allows us to pass in a global_request_id in the client
constructor so that subsequent calls with this client pass that to the
servers. This enables cross project request_id tracking.

oslo spec I65de8261746b25d45e105394f4eeb95b9cb3bd42

Change-Id: Iea1e754a263a01dae5ed598fdda134394aff54b0
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This allows us to pass in a global_request_id in the client
constructor so that subsequent calls with this client pass that to the
servers. This enables cross project request_id tracking.

oslo spec I65de8261746b25d45e105394f4eeb95b9cb3bd42

Change-Id: Iea1e754a263a01dae5ed598fdda134394aff54b0
</pre>
</div>
</content>
</entry>
<entry>
<title>Downloading image with --progress fails</title>
<updated>2017-05-29T12:26:11+00:00</updated>
<author>
<name>Abhishek Kekane</name>
<email>abhishek.kekane@nttdata.com</email>
</author>
<published>2017-03-09T07:50:13+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/openstack/python-glanceclient.git/commit/?id=60c06d526c228de314ad659bda57c42750852ef9'/>
<id>60c06d526c228de314ad659bda57c42750852ef9</id>
<content type='text'>
Downloading image with --progress fails with "RequestIdProxy object is
not an iterator". This is because to display download progress
VerboseFileWrapper in progressbar requires object of IterableWithLength,
but after support of returning request-id [1] to caller it returns
RequestIdProxy object which is wrapped around IterableWithLength
and response.

To resolve this issue overridden next and __next__ methods in
RequestIdProxy so that it can act as iterator for python 2.x
and 3.x as well.

[1] 610177a779b95f931356c1e90b05a5bffd2616b3

Closes-Bug: #1670464
Change-Id: I188e67c2487b7e4178ea246f02154bbcbc35a2b1
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Downloading image with --progress fails with "RequestIdProxy object is
not an iterator". This is because to display download progress
VerboseFileWrapper in progressbar requires object of IterableWithLength,
but after support of returning request-id [1] to caller it returns
RequestIdProxy object which is wrapped around IterableWithLength
and response.

To resolve this issue overridden next and __next__ methods in
RequestIdProxy so that it can act as iterator for python 2.x
and 3.x as well.

[1] 610177a779b95f931356c1e90b05a5bffd2616b3

Closes-Bug: #1670464
Change-Id: I188e67c2487b7e4178ea246f02154bbcbc35a2b1
</pre>
</div>
</content>
</entry>
<entry>
<title>Merge "Downloading image with --progress fails for python3"</title>
<updated>2017-05-29T11:54:55+00:00</updated>
<author>
<name>Jenkins</name>
<email>jenkins@review.openstack.org</email>
</author>
<published>2017-05-29T11:54:55+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/openstack/python-glanceclient.git/commit/?id=3338ed91d4b9a0a33885d48969d71de0d30bed7e'/>
<id>3338ed91d4b9a0a33885d48969d71de0d30bed7e</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Updated from global requirements</title>
<updated>2017-05-24T23:21:59+00:00</updated>
<author>
<name>OpenStack Proposal Bot</name>
<email>openstack-infra@lists.openstack.org</email>
</author>
<published>2017-05-24T23:21:59+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/openstack/python-glanceclient.git/commit/?id=f7598479d13c518d74d55696e347b5485cd7787e'/>
<id>f7598479d13c518d74d55696e347b5485cd7787e</id>
<content type='text'>
Change-Id: Ic7656a41fcff3f1f5c47526d54f2254bc9a09c6b
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Change-Id: Ic7656a41fcff3f1f5c47526d54f2254bc9a09c6b
</pre>
</div>
</content>
</entry>
<entry>
<title>v2: Content-Type: application/octet-stream header always added</title>
<updated>2017-05-19T19:02:00+00:00</updated>
<author>
<name>ckonstanski</name>
<email>ckonstanski@pippiandcarlos.com</email>
</author>
<published>2016-11-12T01:39:34+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/openstack/python-glanceclient.git/commit/?id=03900522d4816fe5dc2958fa1eb30ab447cc8ee5'/>
<id>03900522d4816fe5dc2958fa1eb30ab447cc8ee5</id>
<content type='text'>
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 &lt;str&gt; to utf-8
sequences of type &lt;bytes&gt;. This happens in safe_encode()
(oslo_utils/encodeutils.py:66). &lt;str&gt; != &lt;bytes&gt; 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 &lt;pushkar.umaranikar@intel.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
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 &lt;str&gt; to utf-8
sequences of type &lt;bytes&gt;. This happens in safe_encode()
(oslo_utils/encodeutils.py:66). &lt;str&gt; != &lt;bytes&gt; 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 &lt;pushkar.umaranikar@intel.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>Convert IOError from requests</title>
<updated>2017-05-19T18:59:58+00:00</updated>
<author>
<name>Eric Fried</name>
<email>efried@us.ibm.com</email>
</author>
<published>2017-05-19T18:53:34+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/openstack/python-glanceclient.git/commit/?id=7df87fd4a26ebee3899fbc42d21757bf880a10d4'/>
<id>7df87fd4a26ebee3899fbc42d21757bf880a10d4</id>
<content type='text'>
This requests commit [1] changed the behavior when a nonexistent cacert
file is passed in: now it raises IOError.  This is getting through
glanceclient.common.http.HTTPClient._request, which used to raise
CommunicationError in this scenario.

Even though there is arguably a better exception than CommunicationError
to represent this condition (like maybe IOError), for backward
compatibility this change set converts IOError to CommunicationError.

We also improve the unit test to raise the original exception if the
expected conditions aren't met; this improves debugability.

[1] https://github.com/kennethreitz/requests/commit/7d8b87c37f3a5fb993fd83eda6888ac217cd108e

Change-Id: I6a2cf4c6d041b67d3509153b4cef18b459263648
Closes-Bug: #1692085
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This requests commit [1] changed the behavior when a nonexistent cacert
file is passed in: now it raises IOError.  This is getting through
glanceclient.common.http.HTTPClient._request, which used to raise
CommunicationError in this scenario.

Even though there is arguably a better exception than CommunicationError
to represent this condition (like maybe IOError), for backward
compatibility this change set converts IOError to CommunicationError.

We also improve the unit test to raise the original exception if the
expected conditions aren't met; this improves debugability.

[1] https://github.com/kennethreitz/requests/commit/7d8b87c37f3a5fb993fd83eda6888ac217cd108e

Change-Id: I6a2cf4c6d041b67d3509153b4cef18b459263648
Closes-Bug: #1692085
</pre>
</div>
</content>
</entry>
<entry>
<title>Downloading image with --progress fails for python3</title>
<updated>2017-05-18T06:12:35+00:00</updated>
<author>
<name>Abhishek Kekane</name>
<email>abhishek.kekane@nttdata.com</email>
</author>
<published>2017-03-09T07:24:07+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/openstack/python-glanceclient.git/commit/?id=bb2a5e946f36fc28ffa138357d644c2b7ec52242'/>
<id>bb2a5e946f36fc28ffa138357d644c2b7ec52242</id>
<content type='text'>
Downloading image with --progress fails for python3 with,
TypeError: 'IterableWithLength' object is not an iterator. This
is because IterableWithLength class does not implemented python3
compatible __next__ method.

Added __next__ method for python3 compatibility.

Change-Id: Ic2114180fac26e9a60678f06612be733e8671bdb
Closes-Bug: #1671365
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Downloading image with --progress fails for python3 with,
TypeError: 'IterableWithLength' object is not an iterator. This
is because IterableWithLength class does not implemented python3
compatible __next__ method.

Added __next__ method for python3 compatibility.

Change-Id: Ic2114180fac26e9a60678f06612be733e8671bdb
Closes-Bug: #1671365
</pre>
</div>
</content>
</entry>
<entry>
<title>Updated from global requirements</title>
<updated>2017-05-03T12:22:23+00:00</updated>
<author>
<name>OpenStack Proposal Bot</name>
<email>openstack-infra@lists.openstack.org</email>
</author>
<published>2017-05-03T12:22:23+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/openstack/python-glanceclient.git/commit/?id=a0edf0c2bfb7bcc8253aaf46f6a67607e9b09048'/>
<id>a0edf0c2bfb7bcc8253aaf46f6a67607e9b09048</id>
<content type='text'>
Change-Id: If6412272a017a0887b00a33e68a00966ab8d1441
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Change-Id: If6412272a017a0887b00a33e68a00966ab8d1441
</pre>
</div>
</content>
</entry>
<entry>
<title>Updated from global requirements</title>
<updated>2017-05-01T13:40:05+00:00</updated>
<author>
<name>OpenStack Proposal Bot</name>
<email>openstack-infra@lists.openstack.org</email>
</author>
<published>2017-05-01T13:40:05+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/openstack/python-glanceclient.git/commit/?id=79f96c5f4d43f1b37dcc4a691a7e37c4c3317dc6'/>
<id>79f96c5f4d43f1b37dcc4a691a7e37c4c3317dc6</id>
<content type='text'>
Change-Id: I3f45a69b0c70271b3b6b40035500f07b66758c21
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Change-Id: I3f45a69b0c70271b3b6b40035500f07b66758c21
</pre>
</div>
</content>
</entry>
</feed>
