| Commit message (Collapse) | Author | Age | Files | Lines |
| |\ |
|
| | |
| |
| |
| |
| |
| | |
This path is not currently unit tested.
Change-Id: If38c6352f5e1f0a50e4a0d29fbdd5263ccba3b29
|
| |\ \
| |/
|/| |
|
| | |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Move more code to shell_utils that is only used
for shell operations.
The benefit of this is that the cinderclient library
becomes lighter-weight, because users of the lib
no longer have to import prettytable and extra code.
Change-Id: I7bf6bd91ee5746d1ad4bd4504f3a056d03ae86a9
|
| |/
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
When a CLI user specifies --os-volume api-version 3.66, the shell
will execute the appropriate shell code, but if the server only
supports < 3.66, the client is automatically downgraded and correctly
uses the pre-3.66 SnapshotManager.create() method.
In that case, the 'force' parameter, which is technically not allowed
in mv 3.66 (but which silently accepts a True value for backward
compatibility), will have a value of None, which the pre-3.66 code
happily passes to cinder as '"force": null' in the request body, and
which then fails the Block Storage API request-schema check.
Handle this situation by detecting a None 'force' value and setting
it to its pre-3.66 default value of False.
Change-Id: I3ad8283c2a9aaac58c8d2b50fa7ac86b617e5dd3
Closes-bug: #1995883
|
| |
|
|
|
|
|
|
|
|
| |
A new reimage API will be introduced on cinder API side with
change in depends on. This patch provides the CLI support for
the same by adding a reimage command.
Implements: blueprint add-volume-re-image-api
Change-Id: I37c254d4caf2f416e456ff6a78b5a4df4e08a176
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
Block Storage API mv 3.66 enables snapshots of in-use volumes
without requiring a 'force' flag. For backward compatibility,
the API silently accepts force=true, even though the 'force' flag
is considered invalid for that call. That behavior is replicated
in the client, where --force with a true value is silently accepted.
The --force option is not advertised in the shell and an option
value that doesn't evaluate to true raises an UnsupportedAttribute
error. Similar behavior from the v3 Snapshot class, except it
raises a ValueError under similar circumstances.
Change-Id: I7408d0e3a5ed7f4cbcaf65cf3434ad60aaed511d
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
Cinder microversion v3.65 adds consumes_quota key to volume and
snapshots as a way to differentiate between use generated resources and
temporary ones.
This patch adds support for this microversion and presents the
consumes_quota field when the server sends it (which only happens when
we request this microversion).
Change-Id: I524490aa988fa4d654bfa8050d89cf99ce50bb4b
Depends-On: I655a47fc75ddc11caf1defe984d9a66a9ad5a2e7
Implements: blueprint temp-resources
|
| |\ |
|
| | |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Cinder and cinderclient assumes an attachment create request will
always contain instance_uuid. This is not true when glance calls
cinder for attachment in glance cinder configuration.
This patch (along with the cinder patch) make the instance_uuid
optional and allow glance to do attachments without passing
instance_uuid.
Change-Id: Ifbaca4aa87d890bc5130069638d42665b914b378
|
| | |
| |
| |
| |
| |
| |
| |
| |
| | |
Remove all cinderclient.v2 classes, mostly incorporating them into
their v3 counterparts and updating the tests and test fixtures.
Depends-on: https://review.opendev.org/c/openstack/horizon/+/800814
Change-Id: I335db5c1799edb2273bf8bfc9e1bc9de404a4ba5
|
| |/
|
|
|
|
|
|
|
|
|
|
| |
Also removes the v2 support from the generic client and restores a
skipped test.
Additionally, the cinderclient.tests.v2.test_availablity_zone module
depends on the v2.shell class, so move that module to v3, update the
v3 AvailablityZone class, and make appropriate adjustments to the
tests and test fixtures.
Change-Id: I7a3cca15f5944141d510a75af6684221c297963b
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This adds the import order extension to match what we have in the cinder
repo. This is a linting extension that will check that imports are in
the correct order and the correct grouping so they automatically get
flagged, and it won't be whether reviewers notice and decide to do
anything or not.
Cinder change was Ic13ba238a4a45c6219f4de131cfe0366219d722f for a little
more wordy reasoning.
Also includes updates for noqa tags. Newer version of the linters appear
to want these on the function definition line, not on the decorator
line.
Change-Id: Ibf3f3afbf3bb6ec6613b35f91d4a353c6a391f41
Signed-off-by: Sean McGinnis <sean.mcginnis@gmail.com>
|
| |\ |
|
| | |
| |
| |
| |
| |
| | |
Replace six with Python 3 style code.
Change-Id: I4b97e040f3e790ac114dcd43c68e6b67b1079adf
|
| |/
|
|
|
|
|
|
|
|
|
|
|
| |
Enhance the 'backup-restore' shell command to support restoring a
backup to a newly created volume of a specific volume type and/or in a
different AZ. New '--volume-type' and '--availability-zone' arguments
leverage the existing cinder API's ability to create a volume from a
backup, which was added in microversion v3.47.
The shell code is a new v3 implementation, and it drops support for the
v2 command's deprecated '--volume-id' argument.
Change-Id: Ic6645d3b973f8487903c5f57e936ba3b4b3bf005
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This patch adds command for set,get and delete default volume types
for projects.
This patch adds 3 commands :
1) Set
Set a default volume type for a project
cinder --os-volume-api-version 3.62 default-type-set <vol-type-id> <project-id>
2) Get
Get the default volume type for a project
cinder --os-volume-api-version 3.62 default-type-list --project-id <project-id>
Get all default types
cinder --os-volume-api-version 3.62 default-type-list
3) Unset
Unset default volume type for a project
cinder --os-volume-api-version 3.62 default-type-unset <project-id>
Implements: Blueprint multiple-default-volume-types
Change-Id: Id2fb00c218edbb98df3193577dba6a897c6e73f6
|
| |
|
|
|
|
|
|
| |
Now that we no longer support py27, we can use the standard library
unittest.mock module instead of the third party mock lib.
Change-Id: Ia41326a601dfd72750bd81c3ebee9ec5884ad91b
Signed-off-by: Sean McGinnis <sean.mcginnis@gmail.com>
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
Change I1f43c37c2266e43146637beadc027ccf6dec017e adds time-comparison
filtering to the volume list calls (summary and detail) in the Block
Storage API microversion 3.60. The current cinderclient filter
support will pass these filters correctly, so the only change needed
on the client side is to bump the MAX_VERSION so that the client
can make calls to mv 3.60.
Co-authored-by: Brian Rosmaita <rosmaita.fossdev@gmail.com>
Change-Id: Ib4b7cbc7e527c0524336e139e127f19accfb7568
Partially-Implements: bp support-to-query-cinder-resources-filter-by-time-comparison-operators
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Currently ``id`` and ``volume_id`` filters are working
correctly for transfer-list command.
support for filtering by ``name`` is handled in patch
provided in Depends-On.
Since filtering by all parameters is supported by API,
we can happily add the filters option on the client for
volume transfers.
Also adds functional test for transfers.
Related-Bug: #1860100
Depends-On: https://review.opendev.org/#/c/703658/
Change-Id: I2fd3a6a7b9add65a9a21388df44efb6747065a74
|
| |\ |
|
| | |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
This tests that the expected subcommands register
in the shell client, by looking at the output
that would show up in "cinder help".
The purpose of this is to help prevent us from
accidentally deleting some commands when refactoring
shell code.
TODO: cover commands post-3.0
Change-Id: Ifcbc08ae9184fa33049b18f8ad7ef5d92003a7b8
|
| |\ \ |
|
| | |/
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
When we use `--poll` parameter with cinder create command, it waits
for the volume to become available but doesn't update the data
displayed to the user.
Due to this, there are inconsistency between several parameters
in the output after 'poll' and 'cinder show' command.
Eg: cinder create 1 --image <image-id> --poll
shows 'bootable' flag as false
whereas, cinder show <vol-id>
shows 'bootable' as true
Change-Id: I1502e88f1cd84d225b75c07313e4eb252cc2d645
Closes-Bug: #1855224
|
| |\ \
| |/
|/| |
|
| | |
| |
| |
| |
| |
| | |
Use latest release 1.1.0 and compatible changes w.r.t pep8
Change-Id: I1ae708f0753249226ceb47610a1a4d0b558c1d0e
|
| |\ \
| |/
|/| |
|
| | |
| |
| |
| |
| |
| |
| |
| |
| | |
These arguments were deprecated in the kilo release in favor of a
combined --sort argument. This drops support for the deprecated
arguments.
Change-Id: If8f8ac44cc81f553009a15ca67257e86cb925b6f
Signed-off-by: Sean McGinnis <sean.mcginnis@gmail.com>
|
| |\ \
| |/ |
|
| | |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
The ability to enable multiattach on the command line was deprecated in
Queens with the full implementation of multiattach enabling it through
volume type extra specs. This removes the command line arg and handling
for specifying it with volume creation.
Change-Id: Ifc0c874657f959266050cd1a7a40e6ecccc8c114
Signed-off-by: Sean McGinnis <sean.mcginnis@gmail.com>
|
| |\ \
| |/
|/| |
|
| | |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
This patch does the following :
1) Errors out if similar type of filters args are passed
Eg :
cinder list --name abc --name xyz
cinder list --name abc --filters name=xyz
2) Allows multiple filter parameters of different type
cinder list --filters name=abc --filters size=1
Change-Id: I2f8662555f830b0821147324849d04e7a29d0580
|
| |\ \
| |/
|/| |
|
| | |
| |
| |
| |
| |
| |
| | |
This drops compatibility with Cinder services with the V1 API.
Change-Id: Ic7c6bd05a3991c3afce3dec80b29501932c5aac9
Signed-off-by: Sean McGinnis <sean.mcginnis@gmail.com>
|
| |\ \ |
|
| | |/
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
If OS_VOLUME_API_VERSION is not set, use the highest
supported by both the client and the server.
If OS_VOLUME_API_VERSION exceeds that supported by the server,
use the highest supported by both the client and the server.
A warning message is printed for the user indicating that this
happened.
(This is similar to the behavior of the manila CLI, and is
mostly code from manilaclient tweaked to work in cinderclient.)
Change-Id: Ie1403eca2a191f62169e60c0cde1622575327387
|
| |\ \ |
|
| | |/
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Change Idb04f783b2287b2b45d626131648b0005a232fbe to the cinder service
introduced pagination and the ability to sort results for listing volume
transfers. This adds the sort ability to the cinder client.
The service side uses the sort_key and sort_dir that we've deprecated
long ago, but was unfortunately missed when merging this support. Since
we have been giving deprecation warnings for using those for other
operations, this adds support for --sort that internally will convert to
the API's expected sort_key and sort_dir.
Change-Id: I137436c76852cbb974eee87e49712c698cbf081b
Signed-off-by: Sean McGinnis <sean.mcginnis@gmail.com>
|
| |\ \ |
|
| | |/
| |
| |
| |
| |
| |
| |
| |
| |
| | |
'--is-public' is a valid argument for cinder type-list command[1]
and cinder group-type-list command but is missing in cinderclient.
This patch adds the support for it.
[1] https://developer.openstack.org/api-ref/block-storage/v3/?expanded=list-all-volume-types-detail#list-all-volume-types
Change-Id: I8af9bb06a28f3cc384c4925b8b52bdeaed52cb15
|
| |/
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
'server_id' is not Attachment attribute, should be
set by 'instance' attribute.
v3/attachments respond body:
{"attachments":
[{"status": "attached",
"instance": INSTANCE_UUID,
"id": ATTACHMENT_UUID,
"volume_id": VOLUME_UUID,
},
...
]
}
Change-Id: Ica5d278cb7455befe1db4be0ab65114fd606ea0a
|
| |\ |
|
| | |
| |
| |
| |
| |
| |
| |
| |
| | |
Mock out writing of bash-completion cache files
during unit tests.
Related-Bug: #1817782
Change-Id: I944862c30fb4684dd034eba6953e9302d2d22439
|
| |/
|
|
|
|
|
|
|
|
|
| |
The all_tenants filter is passed to API when it's value is 0
(when not specified) which shouldn't be the case.
This patch only allows adding of all_tenants when specified
manually by user.
Change-Id: Ic7810c4d6e9f4be7c28c7a8778d57bb5ccb996a0
Closes-Bug: #1808621
Closes-Bug: #1808622
|
| |\ |
|
| | |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
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
|
| |/
|
|
|
|
|
|
|
|
| |
All volume transfer v3 calls were being sent to the endpoint introduced
with microversion 3.55. This fixes backwards compatibility by routing
calls less than 3.55 to the original API extension endpoint.
Change-Id: I7205033ddd5be126b8614372a9fc82a2bc555f48
Closes-bug: #1785330
Signed-off-by: Sean McGinnis <sean.mcginnis@gmail.com>
|
| |
|
|
|
|
|
|
|
|
|
| |
Handling for the new `no_snapshots` option was incorrectly handling
microversion evaluation that would prevent anything less than the new
microversion from working. This changes the check to only handle the
changed argument for 3.55 and later.
Change-Id: If96889ccde6044706e6a5dcd83fde3c20fe1c1fd
Closes-bug: #1784703
Signed-off-by: Sean McGinnis <sean.mcginnis@gmail.com>
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
As per Cinder code, following parameters are not required to be
passed in the request body of create volume API.
* status
* user_id
* attach_status
* project_id
* source_replica
If you pass these parameters, previously it was ignored but in the
schema validation changes[1] we don't allow additionalProperties to be
passed in the request body. If user passes additional parameters which
are not as per API specs[2], then it will be rejected with 400 error.
On patch[3], tempest tests: test_volume_snapshot_create_get_list_delete,
test_volume_create_get_delete" are failing because of these unnecessary
parameters.
This patch removes these unnecessary parameters passed to the create
Volume API.
[1]https://blueprints.launchpad.net/cinder/+spec/json-schema-validation
[2]https://review.openstack.org/#/c/507386/
[3]https://review.openstack.org/#/c/573093/
Change-Id: I37744bfd0b0bc59682c3e680c1200f608ad3991b
|
| |\ |
|