<feed xmlns='http://www.w3.org/2005/Atom'>
<title>delta/openstack/python-cinderclient.git/cinderclient/utils.py, branch 4.1.0</title>
<subtitle>opendev.org: openstack/python-cinderclient.git
</subtitle>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/openstack/python-cinderclient.git/'/>
<entry>
<title>Fix encoding of query parameters</title>
<updated>2018-09-14T00:51:17+00:00</updated>
<author>
<name>Goutham Pacha Ravi</name>
<email>gouthampravi@gmail.com</email>
</author>
<published>2018-09-13T22:45:45+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/openstack/python-cinderclient.git/commit/?id=223d754f6162d87a305bcb2b041a5e73d5fae303'/>
<id>223d754f6162d87a305bcb2b041a5e73d5fae303</id>
<content type='text'>
IETF RFC 3986 classifies "~" as a reserved character [1],
however until python3.7 [2], python's url parsing
used to encode this character.

urllib has seen a lot of churn in various python
releases, and hence we were using a six wrapper
to shield ourselves, however, this backwards-incompatible
change in encoding norms forces us to deal with
the problem at our end.

Cinder's API accepts "~" in both, its encoded
or un-encoded forms. So, let's stop encoding it
within cinderclient, regardless of the version
of python running it.

Also fix an inconsitency around the use of the
generic helper method in utils added in
I3a3ae90cc6011d1aa0cc39db4329d9bc08801904
(cinderclient/utils.py - build_query_param)
to allow for False as a value in the query.

[1] https://tools.ietf.org/html/rfc3986.html
[2] https://docs.python.org/3/library/urllib.parse.html#url-quoting

Change-Id: I89809694ac3e4081ce83fd4f788f9355d6772f59
Closes-Bug: #1784728
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
IETF RFC 3986 classifies "~" as a reserved character [1],
however until python3.7 [2], python's url parsing
used to encode this character.

urllib has seen a lot of churn in various python
releases, and hence we were using a six wrapper
to shield ourselves, however, this backwards-incompatible
change in encoding norms forces us to deal with
the problem at our end.

Cinder's API accepts "~" in both, its encoded
or un-encoded forms. So, let's stop encoding it
within cinderclient, regardless of the version
of python running it.

Also fix an inconsitency around the use of the
generic helper method in utils added in
I3a3ae90cc6011d1aa0cc39db4329d9bc08801904
(cinderclient/utils.py - build_query_param)
to allow for False as a value in the query.

[1] https://tools.ietf.org/html/rfc3986.html
[2] https://docs.python.org/3/library/urllib.parse.html#url-quoting

Change-Id: I89809694ac3e4081ce83fd4f788f9355d6772f59
Closes-Bug: #1784728
</pre>
</div>
</content>
</entry>
<entry>
<title>fix tox python3 overrides</title>
<updated>2018-07-17T21:21:54+00:00</updated>
<author>
<name>huang.zhiping</name>
<email>huang.zhiping@99cloud.net</email>
</author>
<published>2018-06-09T12:49:05+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/openstack/python-cinderclient.git/commit/?id=9b0c6c46f6ff63febcbea9476e043c64b603ee02'/>
<id>9b0c6c46f6ff63febcbea9476e043c64b603ee02</id>
<content type='text'>
We want to default to running all tox environments under python 3, so
set the basepython value in each environment.

We do not want to specify a minor version number, because we do not
want to have to update the file every time we upgrade python.

We do not want to set the override once in testenv, because that
breaks the more specific versions used in default environments like
py35 and py36.

Change-Id: I04b87b308a82113a57ea41bde0329e92b07b642e
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
We want to default to running all tox environments under python 3, so
set the basepython value in each environment.

We do not want to specify a minor version number, because we do not
want to have to update the file every time we upgrade python.

We do not want to set the override once in testenv, because that
breaks the more specific versions used in default environments like
py35 and py36.

Change-Id: I04b87b308a82113a57ea41bde0329e92b07b642e
</pre>
</div>
</content>
</entry>
<entry>
<title>Add cluster support in migration and manage</title>
<updated>2017-10-03T09:03:28+00:00</updated>
<author>
<name>Gorka Eguileor</name>
<email>geguileo@redhat.com</email>
</author>
<published>2016-10-17T12:39:33+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/openstack/python-cinderclient.git/commit/?id=8fce74056fa4afd03149ede9d4b8786cc78ada3e'/>
<id>8fce74056fa4afd03149ede9d4b8786cc78ada3e</id>
<content type='text'>
This patch adds support for API microversion 3.16, which allows us to
pass --cluster optional argument to migration and manage operations.

For this, a new type of CLI argument is added, the mutually exclusive
arguments that can be used similarly to the utils.arg decorator, but
with utils.exclusive_arg decorator.

Implements: blueprint cinder-volume-active-active-support
Change-Id: If004715b9887d2a0f9fc630b44d6e11a4a8b778d
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This patch adds support for API microversion 3.16, which allows us to
pass --cluster optional argument to migration and manage operations.

For this, a new type of CLI argument is added, the mutually exclusive
arguments that can be used similarly to the utils.arg decorator, but
with utils.exclusive_arg decorator.

Implements: blueprint cinder-volume-active-active-support
Change-Id: If004715b9887d2a0f9fc630b44d6e11a4a8b778d
</pre>
</div>
</content>
</entry>
<entry>
<title>Enable H306</title>
<updated>2017-08-01T20:23:49+00:00</updated>
<author>
<name>Eric Harney</name>
<email>eharney@redhat.com</email>
</author>
<published>2017-08-01T19:16:22+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/openstack/python-cinderclient.git/commit/?id=60d00b0a035f5d6e0c436dee50719238cdf119cc'/>
<id>60d00b0a035f5d6e0c436dee50719238cdf119cc</id>
<content type='text'>
Enforce ordering of imports with H306.

For tests, this is mostly done by grouping test
imports after other cinderclient imports.

Change-Id: Ie40fda014d1aedb057e5b4ea1f27f999c84e6373
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Enforce ordering of imports with H306.

For tests, this is mostly done by grouping test
imports after other cinderclient imports.

Change-Id: Ie40fda014d1aedb057e5b4ea1f27f999c84e6373
</pre>
</div>
</content>
</entry>
<entry>
<title>Support list-volume for group show</title>
<updated>2017-05-25T02:01:10+00:00</updated>
<author>
<name>wangxiyuan</name>
<email>wangxiyuan@huawei.com</email>
</author>
<published>2017-02-10T08:39:33+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/openstack/python-cinderclient.git/commit/?id=c349b318ae63dea2ce2b159f8ab3f02fafe59596'/>
<id>c349b318ae63dea2ce2b159f8ab3f02fafe59596</id>
<content type='text'>
V3.25 support query groups with volumes, this patch add the client
support.

Partial-Implements: blueprint improvement-to-query-consistency-group-detail
Partial-Bug: #1663474

Change-Id: Ic0d86b9265f295877eebca97ff450f5efd73b184
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
V3.25 support query groups with volumes, this patch add the client
support.

Partial-Implements: blueprint improvement-to-query-consistency-group-detail
Partial-Bug: #1663474

Change-Id: Ic0d86b9265f295877eebca97ff450f5efd73b184
</pre>
</div>
</content>
</entry>
<entry>
<title>Pretty print 'extra_specs' and 'group_specs'</title>
<updated>2017-05-12T07:44:39+00:00</updated>
<author>
<name>TommyLike</name>
<email>tommylikehu@gmail.com</email>
</author>
<published>2017-05-12T07:35:20+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/openstack/python-cinderclient.git/commit/?id=16af9f72b6ff7eba91258e71cf05504de5ba6f7f'/>
<id>16af9f72b6ff7eba91258e71cf05504de5ba6f7f</id>
<content type='text'>
Now we have 'extra_specs', 'group_specs' pretty
printed.

+-------------+---------------+
| other_key   | value         |
| extra_specs | key1 : value1 |
|             | key2 : value2 |
+-------------+---------------+

Change-Id: I3500f148f29bad89aacc89ad12a993edf4f7d460
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Now we have 'extra_specs', 'group_specs' pretty
printed.

+-------------+---------------+
| other_key   | value         |
| extra_specs | key1 : value1 |
|             | key2 : value2 |
+-------------+---------------+

Change-Id: I3500f148f29bad89aacc89ad12a993edf4f7d460
</pre>
</div>
</content>
</entry>
<entry>
<title>Removed unnecessary 'service_type' decorator</title>
<updated>2017-01-23T11:58:33+00:00</updated>
<author>
<name>Ivan Kolodyazhny</name>
<email>e0ne@e0ne.info</email>
</author>
<published>2016-12-23T14:36:19+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/openstack/python-cinderclient.git/commit/?id=204b15ab13004e3d5ac1ec4d0dbd3fe94bb2a8fd'/>
<id>204b15ab13004e3d5ac1ec4d0dbd3fe94bb2a8fd</id>
<content type='text'>
@utils.service_type was introduced with 'Initial split from
python-novaclient' commit and used for CLI. Now both Python and
Command-line APIs for each version  work well without this decorator.

Unused 'get_service_type' function is removed too.

'utils.retype_method' removed as well because everything works well
without it.

Change-Id: Ic2470d8ca9d581b7c47da8d7e6a414c3c78ad27a
Partial-Bug: #1643584
Related-Bug: #1621126
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
@utils.service_type was introduced with 'Initial split from
python-novaclient' commit and used for CLI. Now both Python and
Command-line APIs for each version  work well without this decorator.

Unused 'get_service_type' function is removed too.

'utils.retype_method' removed as well because everything works well
without it.

Change-Id: Ic2470d8ca9d581b7c47da8d7e6a414c3c78ad27a
Partial-Bug: #1643584
Related-Bug: #1621126
</pre>
</div>
</content>
</entry>
<entry>
<title>Remove extra 'u' from cli output</title>
<updated>2016-12-16T14:11:31+00:00</updated>
<author>
<name>Cao ShuFeng</name>
<email>caosf.fnst@cn.fujitsu.com</email>
</author>
<published>2016-07-27T14:13:36+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/openstack/python-cinderclient.git/commit/?id=64c8f74a7c238694d473884682a763f6a8a5b02b'/>
<id>64c8f74a7c238694d473884682a763f6a8a5b02b</id>
<content type='text'>
The unicode_key_value_to_string() function is designed to remove
extra 'u' in cinderclient cli output.
However this patch[1] bring the extra 'u' back.
Let's remove the extra 'u' again.

Closes-bug: #1615921
Closes-bug: #1606904

[1] https://review.openstack.org/#/c/342734/
Change-Id: I26f0ad7149f57e935953c2398ba90b7b3585e201
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
The unicode_key_value_to_string() function is designed to remove
extra 'u' in cinderclient cli output.
However this patch[1] bring the extra 'u' back.
Let's remove the extra 'u' again.

Closes-bug: #1615921
Closes-bug: #1606904

[1] https://review.openstack.org/#/c/342734/
Change-Id: I26f0ad7149f57e935953c2398ba90b7b3585e201
</pre>
</div>
</content>
</entry>
<entry>
<title>Replace six.iteritems(iter) with iter.items()</title>
<updated>2016-12-01T12:24:29+00:00</updated>
<author>
<name>xianming mao</name>
<email>xianming.mao@easystack.cn</email>
</author>
<published>2016-12-01T12:18:26+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/openstack/python-cinderclient.git/commit/?id=8a4f61a93d70a108ba1ca6739de019168afb0b6d'/>
<id>8a4f61a93d70a108ba1ca6739de019168afb0b6d</id>
<content type='text'>
As mentioned in [1], we should avoid using six.iteritems(iter) to
achieve iterators. We can use iter.items() instead, as it will
return iterators in PY3 as well.

[1] http://lists.openstack.org/pipermail/openstack-dev/2015-June/066391.html

Change-Id: Ic41abf2ca6ec3ecb651b980091b52d0a185c9089
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
As mentioned in [1], we should avoid using six.iteritems(iter) to
achieve iterators. We can use iter.items() instead, as it will
return iterators in PY3 as well.

[1] http://lists.openstack.org/pipermail/openstack-dev/2015-June/066391.html

Change-Id: Ic41abf2ca6ec3ecb651b980091b52d0a185c9089
</pre>
</div>
</content>
</entry>
<entry>
<title>Optimize: add build_query_param method to clean code</title>
<updated>2016-11-07T01:26:52+00:00</updated>
<author>
<name>TommyLike</name>
<email>tommylikehu@gmail.com</email>
</author>
<published>2016-09-29T08:00:10+00:00</published>
<link rel='alternate' type='text/html' href='http://git.baserock.org/cgit/delta/openstack/python-cinderclient.git/commit/?id=d8ca399aba604c2fb518eabaadf846433700eb30'/>
<id>d8ca399aba604c2fb518eabaadf846433700eb30</id>
<content type='text'>
Currently the client build query params in respective method
this patch intends to use 'utils.build_query_param' to make
the code clean.

Change-Id: I3a3ae90cc6011d1aa0cc39db4329d9bc08801904
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Currently the client build query params in respective method
this patch intends to use 'utils.build_query_param' to make
the code clean.

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