Commit graph

101 commits

Author SHA1 Message Date
Sean McGinnis
4039d0d94f
Add volume backend capability show command
Adds and equivalend for "cinder get-capabilities" command to show the
capabilities supported by a Cinder backend.

Story: 1655624
Task: 26947

Change-Id: I38686a26cd503e45ce0102705a6632994ef10274
Signed-off-by: Sean McGinnis <sean.mcginnis@gmail.com>
2018-10-09 15:31:35 -05:00
Alan Bishop
030fd71390 Deprecate volume create --project and --user options
Cinder's volume create API does not support overriding the project_id and
user_id, and it silently igores those API inputs. Cinder always uses the
project and user info in the keystone identity associated with the API
request.

If a user specifies the --project or --user option, the volume create is
aborted and a CommandError exception is raised. This prevents a volume
from being created, but without the desired project/user values.

A user wishing to specify alternate values can still do so using identity
overrides (e.g. --os-username, --os-project-id).

Story: 2002583
Task: 22192
Change-Id: Ia9f910ea1b0e61797e8c8c463fa28e7390f15bf9
2018-08-10 10:20:34 -04:00
Fan Zhang
def83a0e94 Fix broken gate jobs
This patch aims at fixing the broken gate jobs because of
cinder and glance patches [1], [2], [3] and [4].

* Remove parameter `--source-replicated` to drop volume
  replication v1 support
* Address some timing issues with volume transfer requests
* Only run Image v1 tests when the test cloud has v1 available
* Get tolerant of unexpected additional attributes being
  returned in Image data

[1].https://review.openstack.org/#/c/586293/
[2].https://review.openstack.org/#/c/532503/
[3].https://review.openstack.org/#/c/533564/
[4].https://review.openstack.org/#/c/578755/

Co-Authored-By: Dean Troyer <dtroyer@gmail.com>
Co-Authored-By: Monty Taylor <mordred@inaugust.com>
Depends-on: https://review.openstack.org/588664
Change-Id: I2a785750e92155185d3344e6116c7f5c6fdd3cbe
Signed-off-by: Fan Zhang <zh.f@outlook.com>
2018-08-07 09:32:00 +00:00
Monty Taylor
3dd9613b21 Pass volume snapshot size to volume create
When creating a volume from a snapshot, the size parameter is required
and type is checked. Since we have to pass something and it needs to be
a valid data type (None is not acceptable) grab the size from the
snapshot object and pass it.

Change-Id: Ie23e3d23828919234e40336b5c65b22e140d337c
2018-07-23 13:38:35 -05:00
Jude Cross
24b06ef273 Fix limits show command without Nova and Cinder
This patch implements an endpoint lookup when showing limits. This
addresses the issue when showing limits without both Nova and Cinder
and will display limits if one is missing.

Change-Id: I2214b281e0206f8fe117aae52de2bf4c4e2c6525
Closes-bug: #1707960
2018-04-03 00:47:00 -07:00
Akihiro Motoki
f3bbf52b3c Use flake8-import-order plugin
In reviews we usually check import grouping but it is boring.
By using flake8-import-order plugin, we can avoid this.
It enforces loose checking so it sounds good to use it.
This flake8 plugin is already used in tempest.

Note that flake8-import-order version is pinned to avoid unexpected
breakage of pep8 job.

Setup for unit tests of hacking rules is tweaked to disable
flake8-import-order checks. This extension assumes an actual file exists
and causes hacking rule unit tests.

Change-Id: I12b596820727aeeb379bee16c2bc993dee9eb637
2017-08-17 06:55:00 +00:00
Akihiro Motoki
3cba09e767 Fix unit test failures related to new os-client-config and osc-lib
[breakage related to os-client-config 1.28.0]
os-client-config 1.28.0 add a check if filebased and envvars are
both used. This check causes OSC unit test failure.

OSC now instantiates OpenStackConfig twice as a workaround.
The unit test mocks _load_config_file() and it returns a config dict,
but os-client-config OpenStackConfig.__init__ updates the dict returned.
As a result, when OpenStackConfig is instantiated second time,
the mock of _load_config_file returns a modified version of the config
dict. This hits the new check in os-client-config 1.28.0.

This commit changes the mock to use side_effect rather than return_value
to ensure the original dict is used.

[breakage related to osc-lib 1.7.0]
The change in osc-lib 1.7.0 added "if" logic to avoid calling get() twice.
In tests.unit.volume.test_find_resource, kwargs is empty dict in find_resource(),
so the second call to get() is NOT called now.
Removing the second elements of side_effect addresses the unit failure.

Co-Authored-By: Rui Chen <chenrui.momo@gmail.com>
Change-Id: Ib9d14661b2755bbd6619e15c0d9023fbc9d27d70
Closes-Bug: #1703782
Closes-Bug: #1703783
2017-07-12 12:26:00 +00:00
Rui Chen
6aceca218a Replace "Display Name" by "Name" in volume list
Current "volume list --name" command use "display_name" as search_opts
to send to cinder API, and show the result table with "Display Name"
column title in osc, cinder list API support "name" as search opts too,
and there is "name" attribute in volume response body, so we can replace
all "Display Name" by "Name" in order to keep "volume list" command
consistent with other commands, like: server list, network list and so
on, only use "Name" attribute for all objects.

Support a mapping for volume list -c "Display Name" (Volume v1 and v2)
and volume create/show -c "display_name" (Volume v1) for minimal
backward compatibility until R release.

Change-Id: I120be0118e7bb30093b4237c5eeb69a9eedef077
Closes-Bug: #1657956
Depends-On: I1fb62219b092346ea380099811cbd082cae5bafe
2017-05-26 11:37:09 +08:00
Dean Troyer
2c5405ed5e Fix volume qos spec list
This has been sporadically failing in functional tests due to the way
the volume qos spec list command calls get_associations() for each spec.
When tests run in parallel occasionally a spec from another test is present
in the list returned and is deleted before the get_associations() call is
made, causing a NotFound exception.  We should just keep going when this
occurs.

* make v1 match v2
* add tests to ensure the exception is being caught and handled

Closes-Bug: #1687083
Change-Id: If2d17c1deb53d293fc2c7f0c527a4e4ef6f69976
2017-04-28 16:06:00 -05:00
Huanxuan Ao
1c49a1f01d Fix NoneType error for volume snapshot create command
In volume snapshot command, <volume> is the same
as <snapshot-name> when --volume is not specified,
but <volume> cannot be None, so when <snapshot-name>
is not specified (<snapshot-name> is None), a NoneType
error appears.
So make <snapshot-name> no longer optional, it should
be always present.

Change-Id: I3d9f10753a8ef601e70816421c160598e2cc811f
Closes-bug: #1659894
2017-04-26 11:07:08 -05:00
Dean Troyer
709eac73fb Fix volume transfers request commands
* Fix volume transfer request accept to actually not crash when
  trying to call Volume API.
* Fix volume transfer request accept syntax to have only one
  positional argument, which is the ID of the resource in the command
* Change the output column order in volume transfer request list to
  have ID followed by Name then the remaining columns.

Closes-bug: 1633582
Change-Id: I5cc005f039d171cc70859f60e7fe649b09ead229
2017-03-27 12:31:42 -05:00
Jenkins
6329c04297 Merge "OSC Quota List" 2017-03-21 03:56:05 +00:00
Sindhu Devale
58591d3c37 OSC Quota List
Implement Neutron feature of Quota List into
OpenStack Client.

Change-Id: Idf941acf8d00b136776b7381b877c56d82622f57
Partially-Implements: blueprint neutron-client-quota
2017-03-10 14:59:47 +00:00
Jenkins
69b7b9b059 Merge "Support --no-property in "volume set" command" 2017-03-06 03:47:49 +00:00
Jenkins
3ec0bc9179 Merge "Add Cinder v3 client support for volumes" 2017-03-01 19:10:48 +00:00
zhiyong.dai
40ec7a9c96 Support --no-property in "volume set" command
Add "--no-property" option to "volume set" command in v1 and v2
and update the test cases.

Change-Id: Id5660f23b3b2d9aa72f4c16b19ce83f3f7ed2fa4
2017-02-23 21:49:11 +08:00
Huanxuan Ao
1be6c2d92f Fix properties format for volume qos in volume v1
Notice that patch [1] fixed the error of properties
format for volume qos in volume v2, but there is the
same bug in volume v1, and the patch missed that, so
fix the problem in v1 as well

[1] https://review.openstack.org/#/c/421065/

Partial-Bug: #1656767
Change-Id: I156bf13d164dbd0d0a7ce394964176718c4ff0e5
2017-02-21 19:34:15 +08:00
Justin A Wilson
4d5f2c3925 Add Cinder v3 client support for volumes
Initial Cinder v3 support

Change-Id: Idd5074832e80697ed0671f06d3291dfd92dbfb08
2017-02-20 20:37:36 +00:00
Jenkins
1b4605e4ad Merge "Add "volume host failover" command" 2017-02-18 06:25:10 +00:00
Jenkins
c88975136d Merge "Add "encryption-*" options in volume type commands" 2017-02-18 03:36:06 +00:00
Jenkins
da2a820d2f Merge "Support "--no-property" option in volume snapshot set" 2017-01-26 06:38:31 +00:00
zhiyong.dai
26d50be79a Support "--no-property" option in volume snapshot set
Supporting "--no-property" option will apply user a convenient
way to clean all properties of volume snapshot in a short command,
and this kind of behavior is the recommended way to devref.
The patch adds "--no-property" option in "volume snapshot set" command,
and update related test cases and devref document.

Change-Id: I5f10cc2b5814553699920c4343995b2e11416e4e
Implements: blueprint allow-overwrite-set-options
2017-01-25 17:32:58 -06:00
Jenkins
f14027867f Merge "Add --project and --project-domain option to "volume snapshot list"" 2017-01-25 22:27:39 +00:00
jiahui.qiang
f353253122 Error in the return of command 'volume qos create'
This patch fixed a 'volume qos create' display mistake in argument
of 'specs'[1]. For command such as:

 $ openstack volume qos create hello

 [1]https://bugs.launchpad.net/python-openstackclient/+bug/1656767
Closes-bug:#1656767

Change-Id: Ia9fce833d318d9b52b97c12cfb89e2d3c5465fbe
2017-01-17 15:19:22 +08:00
Huanxuan Ao
b2fd8ba869 Add "encryption-*" options in volume type commands
Add "--encryption-provider", "--encryption-cipher",
"--encryption-key-size" and "--encryption-control-location"
options to "volume type set" and "volume type create" commands.
Add "--encryption-type" option to "volume type unset",
"volume type list" and "volume type show" commands.

Change-Id: I3572635d5913d971a723a62d7790ffe0f20ec39a
Implements: bp cinder-command-support
Closes-Bug: #1651117
2017-01-14 21:58:33 +08:00
Jenkins
c8c29e8c2e Merge "Add unit test for multi volume types delete" 2017-01-12 03:13:22 +00:00
Jenkins
3c031bbb68 Merge "Add two consistency group commands" 2017-01-11 23:12:38 +00:00
Huanxuan Ao
28f9a9c621 Add unit test for multi volume types delete
Missing unit test for multi volume types delete
in volume v2 (v1 has been done), this patch add
it.

Change-Id: I5fe67196408157f8bdfe6399ba1e559cea3dc559
2017-01-11 22:30:04 +00:00
jiahui.qiang
51ea68ae94 Fix filter error in os volume list
This patch fixed a bug of unable to filter volume list by '--project',
'--user' in "openstack volume list".
Modify uint test for 'volume list' to check parameter of list method.

Change-Id: I1fc4296c4c7eca0f7a803dbfd5e15e3bc0d6403f
2017-01-09 00:03:11 +08:00
jiahui.qiang
27e0be0517 Add --project and --project-domain option to "volume snapshot list"
Add "--project" and "--project-domain" option to volume v2's
"volume snapshot list" command, it will filter list result by different project.

Change-Id: I7dccd6d8d9f1889fa9cb0c2d04a42d77975c645b
2017-01-07 22:21:11 +08:00
zhiyong.dai
20b0b71809 Add one test for "backup set" command
The former tests for "backup set" command miss a test for '--description'
option. In this patch, one relative test is added.

Change-Id: Ie755d56a68a666d48751ab1ad20c8edb50e69b94
2016-12-19 18:50:08 +08:00
Jenkins
cc4ede88e9 Merge "Add --default option to "volume type list"" 2016-12-18 12:20:28 +00:00
Jenkins
3ff713fd57 Merge "Add some options to "volume create" command" 2016-12-16 08:20:03 +00:00
zhiyong.dai
2f2603d908 Add two consistency group commands
Add commands:
    consistency group add volume
    consistency group remove volume
in volume v2 (v2 only)

Change-Id: I70ff287d3b5df78196b8f4b9e50402c471aef284
Implements: bp cinder-command-support
Closes-Bug: #1613964
2016-12-13 15:32:04 +08:00
Huanxuan Ao
7357b24d3a Add "--remote-source" option to "volume snapshot create" command
Add "--remote-source" option to "volume snapshot create" command
to support creating snapshot from an existing remote snapshot in
volume v2 (v2 only), also add the doc, unit tests and release note.

Change-Id: I9e5fad4f0db5b44d528eb6b930edbc816e392c3a
Implements: bp cinder-command-support
Closes-Bug: #1618676
Co-Authored-By: Sheel Rana <ranasheel2000@gmail.com>
2016-12-12 23:06:00 +08:00
Jenkins
d09fd7d832 Merge "Add '--force' option to 'volume snapshot delete' command" 2016-12-08 17:46:30 +00:00
Jenkins
1925a9e5b3 Merge "Add "consistency group set" command" 2016-12-08 17:45:14 +00:00
Jenkins
5408d02de4 Merge "Fix description errors in volume fakes" 2016-12-08 17:45:06 +00:00
Jenkins
6bd1135036 Merge "Add options to "volume snapshot list" command" 2016-12-08 17:44:58 +00:00
Jenkins
b18dcfc4cb Merge "Add "consistency-group-snapshot" option to consistency group create" 2016-12-08 17:44:42 +00:00
Huanxuan Ao
bbfd8cb46b Add '--force' option to 'volume snapshot delete' command
Add '--force' option to 'volume snapshot delete' command in
volume v2 (v2 only) to allow delete in state other than error
or available.

Change-Id: Ie8991e9a630d7c7e9ac6c6870aed787bbcebacf2
Closes-Bug: #1597195
2016-12-08 17:08:58 +08:00
Huanxuan Ao
3e9109bc7c Add "consistency-group-snapshot" option to consistency group create
Add "consistency-group-snapshot" option to
"consistency group create" command to support
for creating consistency group from existing
consistency group snapshot

Implements: bp cinder-command-support
Partial-Bug: #1613964
Change-Id: I54c265d38299f4973945ba99e30042bcf47859c0
2016-12-07 12:41:17 +08:00
zhiyong.dai
4dc78e4265 Add "consistency group set" command
Add "consistency group set" command in volume v2 (v2 only).

Change-Id: I53116015388b7a4b0e15813f52c1246166bb0fc1
Implements: bp cinder-command-support
Partial-Bug: #1613964
2016-12-06 17:36:25 +08:00
jiahui.qiang
d083ddb12f Add --default option to "volume type list"
Add "--default" option to volume v2's "type list"
command, it will show which volume type the volume
service has set as default.

Implements: bp cinder-command-support
Change-Id: Iae7ebc633ebe5554cc88390a84361887ec211fb2
2016-12-06 06:44:16 +08:00
jiahui.qiang
7e5a98bca9 Add some options to "volume create" command
Add "--bootable", "--non-bootable", "--read-only" and "--read-write" options
to "volume create" command for setting some attributes at the time of crration.

Change-Id: I71b4e9fccb4ee0ab1a90e7179d6d2d34dbbae909
Implements: bp cinder-command-support
2016-12-06 00:17:36 +08:00
Jenkins
e05c8d7bb0 Merge "Refactor "snapshot" commands" 2016-12-03 04:30:51 +00:00
daizhiyong
1907220113 Add "consistency group show" command
Add "consistency group show" command in volume v2 (v2 only).

Change-Id: If496eba2955c0aacd52600bb6fba39690ddd90cb
Implements: bp cinder-command-support
Partial-Bug: #1613964
2016-12-02 20:45:13 +00:00
zhiyong.dai
094e5189b7 Add "consistency group delete" command
Add "consistency group delete" command in volume v2 (v2 only).

Change-Id: Ieebc2417df0d45a578d5617bad245d7863f09190
Implements: bp cinder-command-support
Partial-Bug: #1613964
2016-12-02 13:21:18 -06:00
Jenkins
d1f1f092c4 Merge "Add "--type" and "--retype-policy" options to "volume set" command" 2016-12-02 18:49:37 +00:00
Jenkins
2daeb30296 Merge "Add "Is Public" column in volume type list" 2016-12-02 18:32:49 +00:00