<feed xmlns='http://www.w3.org/2005/Atom'>
<title>delta/openstack/python-glanceclient.git/glanceclient/common/http.py, branch stable/queens</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>Removed the --no-ssl-compression parameter which is deprecated</title>
<updated>2017-07-25T13:21:38+00:00</updated>
<author>
<name>PranaliD</name>
<email>pdeore@redhat.com</email>
</author>
<published>2017-05-02T10:35:42+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/openstack/python-glanceclient.git/commit/?id=28c003dc1179ddb3124fd30c6f525dd341ae9213'/>
<id>28c003dc1179ddb3124fd30c6f525dd341ae9213</id>
<content type='text'>
--no-ssl-compression is deprecated and no longer used. So, it is
removed from the help message.

Change-Id: I2b886671a568ed191ee380cf16335ccd9ae85062
Closes-Bug: #1583919
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
--no-ssl-compression is deprecated and no longer used. So, it is
removed from the help message.

Change-Id: I2b886671a568ed191ee380cf16335ccd9ae85062
Closes-Bug: #1583919
</pre>
</div>
</content>
</entry>
<entry>
<title>add explicit dependency on pyopenssl</title>
<updated>2017-06-28T16:24:48+00:00</updated>
<author>
<name>Doug Hellmann</name>
<email>doug@doughellmann.com</email>
</author>
<published>2017-06-23T17:43:29+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/openstack/python-glanceclient.git/commit/?id=d6e936cd14f0954751dfc1b754f08deb166a53bf'/>
<id>d6e936cd14f0954751dfc1b754f08deb166a53bf</id>
<content type='text'>
The library is used in glanceclient/common/https.py and the
documentation build for the API fails without the dependency.

Update the error handling so that when OpenSSL reports an error it is
converted to a client communication error.

Change-Id: I0c0fb3139bb848d0cbaf88ae6a767a730bea74eb
Signed-off-by: Doug Hellmann &lt;doug@doughellmann.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
The library is used in glanceclient/common/https.py and the
documentation build for the API fails without the dependency.

Update the error handling so that when OpenSSL reports an error it is
converted to a client communication error.

Change-Id: I0c0fb3139bb848d0cbaf88ae6a767a730bea74eb
Signed-off-by: Doug Hellmann &lt;doug@doughellmann.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>Merge "Replace six.iteritems() with .items()"</title>
<updated>2017-06-28T14:49:38+00:00</updated>
<author>
<name>Jenkins</name>
<email>jenkins@review.openstack.org</email>
</author>
<published>2017-06-28T14:49:38+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/openstack/python-glanceclient.git/commit/?id=05453b19b26ca86459fff477e84e1b041e98a520'/>
<id>05453b19b26ca86459fff477e84e1b041e98a520</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>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>Merge "Replace functions 'dict.get' and 'del' with 'dict.pop'"</title>
<updated>2017-03-06T17:09:00+00:00</updated>
<author>
<name>Jenkins</name>
<email>jenkins@review.openstack.org</email>
</author>
<published>2017-03-06T17:09:00+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/openstack/python-glanceclient.git/commit/?id=ba46e69eeeb100528b1d29836f055feed043ef95'/>
<id>ba46e69eeeb100528b1d29836f055feed043ef95</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>x-openstack-request-id logged twice in logs</title>
<updated>2017-02-21T20:19:22+00:00</updated>
<author>
<name>Abhishek Kekane</name>
<email>abhishek.kekane@nttdata.com</email>
</author>
<published>2017-01-18T07:08:26+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/openstack/python-glanceclient.git/commit/?id=87e4f7646faac97b179a71e4f2221ad646644535'/>
<id>87e4f7646faac97b179a71e4f2221ad646644535</id>
<content type='text'>
In the recent release of keystoneauth1 2.18.0 provision is made to log
x-openstack-request-id for session client. Once this new library is synced
in openstack projects, the x-openstack-request-id will be logged twice
on the console if session client is used.

For example,
$ glance --debug image-list

DEBUG:keystoneauth.session:GET call to image for
http://10.232.48.204:9292/v2/schemas/image used request id
req-96a3f203-c605-4c96-a31d-f1199d41705c

DEBUG:glanceclient.common.http:GET call to glance-api for
http://10.232.48.204:9292/v2/schemas/image used request id
req-96a3f203-c605-4c96-a31d-f1199d41705c

Above log will be logged twice on the console.

Removed logging of x-openstack-request-id in case of SessionClient as it
is already logged in keystoneauth1. x-openstack-request-id will only be
logged once on console if HTTPClient is used.

Depends-On: I492b331ff3da8d0b91178bf0d5fe1d3702f15bd7
Closes-Bug: #1657351
Change-Id: I64258f997dc060113f53682aee74bdd40a346e54
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
In the recent release of keystoneauth1 2.18.0 provision is made to log
x-openstack-request-id for session client. Once this new library is synced
in openstack projects, the x-openstack-request-id will be logged twice
on the console if session client is used.

For example,
$ glance --debug image-list

DEBUG:keystoneauth.session:GET call to image for
http://10.232.48.204:9292/v2/schemas/image used request id
req-96a3f203-c605-4c96-a31d-f1199d41705c

DEBUG:glanceclient.common.http:GET call to glance-api for
http://10.232.48.204:9292/v2/schemas/image used request id
req-96a3f203-c605-4c96-a31d-f1199d41705c

Above log will be logged twice on the console.

Removed logging of x-openstack-request-id in case of SessionClient as it
is already logged in keystoneauth1. x-openstack-request-id will only be
logged once on console if HTTPClient is used.

Depends-On: I492b331ff3da8d0b91178bf0d5fe1d3702f15bd7
Closes-Bug: #1657351
Change-Id: I64258f997dc060113f53682aee74bdd40a346e54
</pre>
</div>
</content>
</entry>
<entry>
<title>Replace six.iteritems() with .items()</title>
<updated>2017-02-08T08:33:46+00:00</updated>
<author>
<name>ji-xuepeng</name>
<email>ji.xuepeng@zte.com.cn</email>
</author>
<published>2017-02-08T08:27:54+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/openstack/python-glanceclient.git/commit/?id=5fca39dbde82d4cf836fa666b549b606f7ccdb7f'/>
<id>5fca39dbde82d4cf836fa666b549b606f7ccdb7f</id>
<content type='text'>
1.As mentioned in [1], we should avoid usingg
six.iteritems to achieve iterators. We can
use dict.items instead, as it will return
iterators in PY3 as well. And dict.items/keys
will more readable. 2.In py2, the performance
about list should be negligible, see the link [2].
[1] https://wiki.openstack.org/wiki/Python3
[2] http://lists.openstack.org/pipermail/openstack-dev/2015-June/066391.html

Change-Id: I71c13040318eca6e5ed993e8aa03f8003986a71c
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
1.As mentioned in [1], we should avoid usingg
six.iteritems to achieve iterators. We can
use dict.items instead, as it will return
iterators in PY3 as well. And dict.items/keys
will more readable. 2.In py2, the performance
about list should be negligible, see the link [2].
[1] https://wiki.openstack.org/wiki/Python3
[2] http://lists.openstack.org/pipermail/openstack-dev/2015-June/066391.html

Change-Id: I71c13040318eca6e5ed993e8aa03f8003986a71c
</pre>
</div>
</content>
</entry>
<entry>
<title>Replace functions 'dict.get' and 'del' with 'dict.pop'</title>
<updated>2017-01-31T04:39:28+00:00</updated>
<author>
<name>bhagyashris</name>
<email>bhagyashri.shewale@nttdata.com</email>
</author>
<published>2016-08-26T10:12:57+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/openstack/python-glanceclient.git/commit/?id=6740f570963d742f4f62bccbd9d8da301982712f'/>
<id>6740f570963d742f4f62bccbd9d8da301982712f</id>
<content type='text'>
Refactoring code: Making dict to use single instruction: pop()
rather than two instructions: get() and del, giving the codes a
format that carries through.

TrivialRefactoring

Change-Id: Idb21df37c287fdff24c29153676f82544f735297
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Refactoring code: Making dict to use single instruction: pop()
rather than two instructions: get() and del, giving the codes a
format that carries through.

TrivialRefactoring

Change-Id: Idb21df37c287fdff24c29153676f82544f735297
</pre>
</div>
</content>
</entry>
</feed>
