Commit graph

67 commits

Author SHA1 Message Date
Stephen Finucane
c5b772db76 trivial: Prepare for pyupgrade pre-commit hook
This change is entirely automated save for the update of some mocks from
'io.open' to '__builtins__.open').

We are keeping this change separate from addition of the actual hook so
that we can ignore the commit later.

Change-Id: I0a9d8736632084473b57b57b693322447d7be519
Signed-off-by: Stephen Finucane <stephenfin@redhat.com>
2024-04-23 12:24:23 +01:00
Stephen Finucane
629eb33c4d volume: Add 'volume qos set --no-property' option
Supporting "--no-property" option will apply user a convenient way to
clean all properties of volume qos in a short command. The patch adds
"--no-property" option in "volume qos set" command and update related
test cases and docs.

Change-Id: I1fb5b4f0a923bbf557a3af3f63809bde9e84ffd4
2023-05-17 16:50:16 +01:00
Stephen Finucane
35ba1d8f13 Blacken openstackclient.volume
Black used with the '-l 79 -S' flags.

A future change will ignore this commit in git-blame history by adding a
'git-blame-ignore-revs' file.

Change-Id: Ic318617c67ab7ce6527f9016b759a1d4b0b80802
Signed-off-by: Stephen Finucane <sfinucan@redhat.com>
2023-05-10 10:51:30 +01:00
Stephen Finucane
686fabef31 tests: Convert volume tests to use 'parse_output'
Change-Id: Iec8ca873f6bc3993e0ba557f68895d9aefb6f9c6
Signed-off-by: Stephen Finucane <sfinucan@redhat.com>
2022-11-29 16:21:29 +00:00
Zuul
ccd877dd40 Merge "Fix typos" 2022-05-16 09:36:14 +00:00
Dr. Jens Harbott
f533dca520 Fix volume set functional test
Sometimes it can happen that when extending a volume it is shown as
status "extending" with the original size for a while. Wait for the
volume to enter state "available" again before checking the result.

Signed-off-by: Dr. Jens Harbott <harbott@osism.tech>
Change-Id: Ib70cfa1c241ce94426214c7a05c550213f427caa
2022-01-11 07:24:48 +01:00
Cyril Roelandt
43639e1118 Fix typos
Change-Id: Idd502c8df21da79ff3b9339870f38378f5337879
2021-10-26 15:53:51 +02:00
Stephen Finucane
c1209601b4 tests: Handle removal of block-storage v2 API
Cinder recently removed their v2 API [1] which is causing the functional
tests to fail. Improve our 'is_service_enabled' test helper to use the
'versions show' command, which queries the service catalog and can give
us information about the service version as well as answer the more
general "is this service available" question. We also resolve a
long-standing TODO in the process.

[1] https://review.opendev.org/c/openstack/cinder/+/792299

Change-Id: I381069357aa008344e15327adf3a863c0c2e1f04
Signed-off-by: Stephen Finucane <sfinucan@redhat.com>
2021-07-23 12:51:30 +01:00
Zuul
81dcc91214 Merge "Fix faulthy state argument choice" 2020-03-24 21:34:44 +00:00
Bram Verschueren
69870ae439
Fix faulthy state argument choice
The correct state name for a failing volume snapshot deletion is
'error_deleting' instead of 'error-deleting'. [1]

[1] 89d6a5042f/cinder/objects/fields.py (L126)

Task: #37844
Story: #2007037

Change-Id: Ia99900ece4f1cd29769b22ddaa3965789d719556
2019-12-19 09:48:17 +01:00
Dean Troyer
1c0160c8aa Create Volume v3 functional tests
Until now-ish Volume v3 has been a pass-through to v2.  In order
to prepare to make the Volume v3 commands stand-alone copy the
v2 functional tests to v3.

This is the first of a series of reviews to completely separate
Volume v2 and v3 commands.  Once these are split we can begin to
implement v3 microversion support and/or start using the
OpenStack SDK as the REST library.

Change-Id: Iefd78d8ef6bb851d7360596337a88ee8f8476767
Signed-off-by: Dean Troyer <dtroyer@gmail.com>
2019-11-18 14:47:56 -06:00
Zuul
46ef850ce9 Merge "Use cliff formattable columns in volume v2 commands" 2019-06-23 00:45:37 +00:00
Akihiro Motoki
4cd614305f Use cliff formattable columns in volume v2 commands
Partial-Bug: #1687955
Partially implement blueprint osc-formattable-columns

Change-Id: I761ccac126208927594ad0d98a3cf5ad8b44bd48
2019-06-22 14:56:10 -05:00
Akihiro Motoki
1af3056e30 Use cliff formattable columns in volume v1 commands
Partial-Bug: #1687955
Partially implement blueprint osc-formattable-columns

Change-Id: Ib4c5798171e32a8ddc08a37ee1d416e366a71d76
2019-06-22 14:53:28 -05:00
Sean McGinnis
e76e10c0ba Remove deprecated volume commands and args
The following were deprecated over two years ago and can now be removed:

* Remove ``backup`` commands in favor of ``volume backup``
* Remove ``snapshot`` commands in favor of ``volume snapshot``
* Remove ``volume create`` options ``--project``, ``--user`` and ``--multi-attach``
* Use of an auth-key positional argument in volume transfers
* ``volume transfer request`` no longer accepts 'auth_key' as a positional arg,
  ``--auth-key`` is now required

Internal (non-user-visible)
* Rename backup.py to volume_backup.py for Volume v1 and v2, update tests

These are backwards incompatible changes and will require a major
version bump after they are merged.

Change-Id: I94aa7a9824e44f9585ffb45e5e7637b9588539b4
Signed-off-by: Sean McGinnis <sean.mcginnis@gmail.com>
Signed-off-by: Dean Troyer <dtroyer@gmail.com>
2019-05-20 14:05:18 -05:00
Dean Troyer
589026cdd4 Volume backup functional test tweak
Waiting for status in all the wrong places...

Change-Id: I531ee6e0c00b623c6fd30d40df1f1f36bf86233f
Signed-off-by: Dean Troyer <dtroyer@gmail.com>
2019-04-02 08:39:23 -05:00
Glenn Van de Water
7741347041 Fix service discovery in functional tests
If a required service is not enabled then we skip the test.
The discovery is done by tests/functional/base.py:is_service_enabled
but this method is broken, credentials are not passed to the
'openstack service show' command so every call will fail and every test
that relies on it will be skipped. This commit fixed that method and
the issues that popped up when re-enabling tests.

Network segment range:
 - issue where we assumed network-segment-range extension is always
   present
 - issue where we compare integers and string representations of numbers

Subnet:
 - issue where we try to deepcopy an uncopyable object in UnsetSubnet

Change-Id: Id3cc907c1ed2a25b49cf6f4a7233e0401a02383a
Story: 2005169
Task: 29908
2019-03-13 16:16:24 +01:00
Zuul
3599ebe933 Merge "Fix: Restore output 'VolumeBackupsRestore' object is not iterable" 2019-02-28 17:52:37 +00:00
whoami-rajat
24255ad0dd Fix: Restore output 'VolumeBackupsRestore' object is not iterable
VolumeBackupsRetore object has '_info' attribute
which contains the output data of the restore
command which should be returned instead of the
'VolumeBackupsRestore' object.

Change-Id: I64b75649c1ac9c24e05a197f7280975564b4d386
Story: 2004740
Task: 28811
2019-02-27 22:28:09 +00:00
Zuul
1ea988e5c6 Merge "This fix removes an erroneous underscore found within the function named test_snapshot_delete within test_snapshot.py found in both volume v1 and v2 of python-openstackclient." 2019-02-27 22:15:46 +00:00
Jeremy Houser
811b001234 This fix removes an erroneous underscore found within the function named
test_snapshot_delete within test_snapshot.py found in both volume v1 and
v2 of python-openstackclient.

Story: 2004977
Change-Id: Iae29ba7992dcf8596f4fb4333d8bcf1889ecd7e6
2019-02-11 18:06:32 +00:00
Dean Troyer
1a0bef2b46 More state handling in volume transfer requests functional tests
Using addCleanup() for removing the pending volume transfer request
has no way to wait for the volume status to become available before
cleaning up the volume and gets racy when the tests are run with
slow performance in the volume backend.  So we pause at the end of
the test after either accepting the transfer request or explicitly
deleting it so the cleanup can delete the volume.

Change-Id: I04862069cab28bc76eeafd60ba32be646f478d86
Signed-off-by: Dean Troyer <dtroyer@gmail.com>
2019-02-06 15:40:25 -06:00
Dean Troyer
f9df3ce3cd More volume functional test fixes
Remove the use of class setup/teardown from volume transfer functional tests
as that just doesn't work too well here. Also wait for volume status before
attempting transfer request operations, some test nodes take a while to
create the volumes.

Change-Id: Ib9378ab5c973deb2aa86c9b9ed31408f3a05115a
Signed-off-by: Dean Troyer <dtroyer@gmail.com>
2018-12-18 22:32:16 -06: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
Dean Troyer
15a079faa6 Fix volume type functional tests
Convert functional VolumeTypeTests to not use class methods for setup.

Depends-On: https://review.openstack.org/577147
Change-Id: I855583ad1a50bf5f5046acdb85e977ab9e3c45d2
2018-06-22 10:05:28 -05:00
Sean McGinnis
d601415259 Clean up W503 and E402 pep8 errors
pycodestyle 2.40 and later enforce these rules that were not previously
enforced. Rather than just skipping them, this cleans up the trivial
instances of these violations.

This does also include some other updates that were not triggering errors
in an attempt to keep some of the style consistent.

Change-Id: Id7c0a6b8f1f835e69d844b000e3ed751852ada63
Closes-bug: #1762803
2018-04-15 12:23:06 +09:00
Jenkins
2c77aba363 Merge "Add "volume service list --host" functional test case" 2017-09-26 23:15:31 +00:00
lihaijing
844623ccc4 Add "volume service list --host" functional test case
Change-Id: I467252d9fc6083fb891a8701d7992f16ce42556f
2017-09-19 14:06:27 +08:00
lihaijing
edebe558ee Add functional test cases for "volume qos associate/disassociate"
Change-Id: I07b25bebb8a0ea18cdf042357be65c4ec6e1cfed
Closes-Bug: #1717874
2017-09-18 12:30:12 +00:00
Dean Troyer
ce468209c4 Skip Volume v1 functional tests if v1 not present
Volume v1 is gone in Queens

Just skip it for now until DevStack does not create a v1 endpoint

Change-Id: I2aa2f78b0d5c8ac2048c922c7835e5c4574028cc
2017-09-12 19:50:15 +00:00
Jenkins
d04a7cf92a Merge "Clean up the changes of os.environ in functional tests" 2017-07-21 00:10:54 +00:00
Rui Chen
f1d32dbe9b Clean up the changes of os.environ in functional tests
Use fixtures to restore the API version changes of os.environ
in each functional tests, aims to avoid the following test cases
failing in unexpected context.

And make sure setUpClass/tearDownClass call super class's
corresponding methods first.

Change-Id: Ie248fe9d3a9e25f1b076c9f2c363200f29a83817
Closes-Bug: #1696080
2017-07-20 16:39:32 +00:00
blue55
20c23d8ccb Enable some off-by-default checks
Some of the available checks are disabled by default, like:
[H203] Use assertIs(Not)None to check for None

Change-Id: I59dafb62cedc5217b6e5eb6efb997a9ee3c29bbb
2017-06-23 16:31:48 +08:00
Akihiro Motoki
eeb614c477 volume functest: ensure snapshots deleted when volume delete
Deleting snapshot may take time. The current volume API does not allow
to delete volumes with snapshots, so if deleting snapshot may take time,
a delete request for a parent volume will fail.
This sometimes causes functional test failures in slow environments.

wait_for_status() checks whether volume status is in error statuses
but previously the expected error status was wrong. Cinder API uses
lower case as volume status, so it did not work expectedly.

Change-Id: I095894ba39f23bf81d71351818d24dbb5ca459fb
2017-06-06 01:14:20 +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
Jenkins
b78153aec4 Merge "Add functional test for volume service" 2017-05-25 19:53:51 +00:00
Jenkins
5f41f651e5 Merge "Convert volume functional tests into JSON format" 2017-05-25 19:30:17 +00:00
Akihiro Motoki
62c793c7e4 Convert volume functional tests into JSON format
volume_type and transfer_request func tests have not been
converted into JSON func tests. This commit converts them
into JSON format.

Change-Id: I56820c4e15bda95e911e57657c1ff5437daf83ae
2017-05-17 01:50:21 +00:00
Rui Chen
7a7bb06377 Make block-device-mapping more stable and clear
The patch fix the following issues:

1. ValueError is raised if input don't contain "=". Sometimes the whole
"server create" command is very complex, it's difficult to find out root
reason directly.
2. Don't support to add block device from snapshot, like:
--block-device-mapping
vdb=0c8ae9d8-cadc-4a23-8337-4254614d277e:snapshot:1, it's supported by
novaclient, but not in osc.
3. If input "vdb=", not add any mapping information, the server will be
launched successfully, not raise error message to let use add
volume/snapshot id, just ignore "--block-device-mapping" option.
4. The help message of "block-device-mapping" option is so simple, need
to add some details about how to add <type>, <delete_on_terminate>
contains.

Change-Id: Ib7f7a654c3dc2a8272545f168b4c4ced230ce39e
Depends-On: Ib37913891bbf7a31b570404c4668c490d5ac859b
Closes-Bug: #1667266
2017-05-17 01:42:12 +00: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
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
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
c88975136d Merge "Add "encryption-*" options in volume type commands" 2017-02-18 03:36:06 +00:00
Jenkins
f106b4f022 Merge "Refactor volume functional test in volume v1" 2017-02-14 08:01:03 +00:00
Huanxuan Ao
35b2724293 Refactor volume functional test in volume v1
There is a patch for refactor of volume funtional
test in volume v2 [1], but v1 is missing, this
change add the v1 refactor with json format.

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

Change-Id: I969df3c8dbca21a62f6245e3e95680cf3cd47dc1
2017-02-13 15:59:27 +08: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