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
According the api schema of cinder, create_group_from_src
should only specify one of arguments from [group_snapshot_id, source_group_id].
Now cinderclient specified them both even if one of them is None.
This patch fix this issue to just pass one argument.
Change-Id: Idef51ab9a1452dd5eb3be4d4b6dca095a777d611
Closes-Bug: #1777555
Remove status, project_id
and user_id args from create_group_from_src.
Those args will cause error when using cinderclient since
schema validation in Cinder side.
Change-Id: Iba9a45625f9e6423e8e582425605ca184238cde9
Closes-Bug: #1772375
As per code, the 'status', 'user_id' and 'project_id' parameter
is not required to be passed in the request body in case of group
and group_snapshot create APIs. Even if you pass these parameter,
it is silently ignored in the code.
This patch removes those parameters passed in the request body.
Change-Id: I29e7d4c8a3eee52f4ea7278d2edf2c7deec40628
Enforce ordering of imports with H306.
For tests, this is mostly done by grouping test
imports after other cinderclient imports.
Change-Id: Ie40fda014d1aedb057e5b4ea1f27f999c84e6373
This patch adds CLI support for replication group.
It is built upon the generic volume groups.
Server side patch is here:
https://review.openstack.org/#/c/352228/
Depends-On: I4d488252bd670b3ebabbcc9f5e29e0e4e913765a
Change-Id: I462c3ab8c9c3a6a1b434748f81d208359ffd2431
Implements: blueprint replication-cg
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
Now we can use 'cinder reset-state' command for 'volume',
'snapshot', 'backup', 'group' and 'group-snapshot'.
Also change volume's default status from 'available' to
'None' when not any status is specified.
Co-Authored-By: Eric Harney <eharney@redhat.com>
Change-Id: I0aefeaf5ece74f1f2bc4b72d5705c8c088921e20
Partial-implements: blueprint client-reset-state-improvements
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
As part of the first community-wide goal, teams were asked to
remove the openstack/common package of their projects if one
existed. This was a byproduct of the old oslo-incubator form
of syncing common functionality.
The package, apiclient, was moved to a top level location and
cliutils was moved to the common module. There are no oslo
specific libraries, the recommended solution is to move it in
tree and maintain it there.
Change-Id: Iee52004bd33c19d63133577ff466164b85fd6ca6