Commit graph

44 commits

Author SHA1 Message Date
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
Jenkins
bf3f12f596 Merge "Error in the return of command 'volume qos create'" 2017-01-21 06:18:08 +00:00
jiahui.qiang
9fd145edbf Functional test for volume qos
Refactor functional tests for testing more command options.

Change-Id: I6d5a82eb0e84f72e8da76b17c952e4daae9dbc08
2017-01-18 09:00:53 +08:00
Jenkins
64c509cf76 Merge "Functional test for volume snapshot" 2017-01-19 01:20:35 +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
jiahui.qiang
dc3b83590a Functional test for volume snapshot
Refactor functional tests in volume snapshot.

Change-Id: I2fcc468096b3a26c83b8af1e379a62c80eb9c63e
2017-01-17 08:33:12 +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
jiahui.qiang
07ade2266c functional test for volume
Rework functional tests to remove resource create/delete from
setupClass() and teardownClass() methods.
Add test for more command options

Change-Id: I2b6ad1fce26f04c11ed43f8d73515fde4a7d09af
2017-01-09 17:34:44 +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
zhiyong.dai
9f297853ce Add functional test for volume service
Add functional test for volume service, v1 and v2

Change-Id: If226c82ef8df339e4ae63d8241e0bd15b69264d2
2016-11-30 20:55:15 +08:00
Huanxuan Ao
23ee2fd8f0 Refactor "snapshot" commands
1.change the command name ``snapshot create/delete/list/
show/set/unset`` to ``volume snapshot create/delete/list/
show/set/unset``.

2.change the optional parameter "--name <name>" to a
positional parameter "<snapshot-name>"; Change the
positional parameter "<volume>" to a optional
parameter "--volume <volume>"

Change-Id: If03276ecdf6f0d96893d5ecf91c2aaa64929cff3
Implements: bp backup-snapshot-renamed-for-volume-resource
Co-Authored-By: Sheel Rana <ranasheel2000@gmail.com>
2016-11-03 16:15:02 +08:00
Huanxuan Ao
52eaec1189 Add functional test for snapshot in volume v1
Add functional test for snapshot commands in volume v1.
Tests can always help to find or avoid bugs.

Change-Id: Ieb0ab9c763d381a6343b4c4a8a5874f3e682f24f
2016-09-25 09:30:45 +08:00
Huanxuan Ao
3ef7e29dd0 Implement "volume transfer request show/accept" command
Add "volume transfer request show" and
"volume transfer accept" commands in
volume v1 and v2. Also add the unit tests,
docs, release note and functional tests

Implements: bp cinder-command-support
Co-Authored-By: Sheel Rana <ranasheel2000@gmail.com>

Change-Id: I5787fc486b3401307125caa316f517b9c96a95a5
2016-09-22 17:11:53 +08:00
Jenkins
276675f352 Merge "Support mark volume as bootable in volume set" 2016-09-14 18:48:28 +00:00
qtang
6a914d0056 Support mark volume as bootable in volume set
Add --bootable | --non-bootable option in volume set
to mark or unmark volume as bootable.

Change-Id: Ifa6c2dd1642202f55b6d50e3b8614d3513d488f6
Closes-Bug:#1535704
2016-09-14 16:35:49 +00:00
Rui Chen
8d59b31c72 Add functional tests for unset multiple volume type props
CinderClient bug/1596511 cause that OSC can't unset multiple
properties of volume type, obviously no functional test case
cover the part of logic in OSC, that make the issue raising,
the patch add functional test cases for this scenario.

Change-Id: I42cf9ac8cc72ccc2f1208926d8faf7b80ee2d288
Partial-Bug: #1596511
Depends-On: I60378a32cdc52aacdf869d69b246dec7eb6cdb77
2016-09-12 11:08:32 +08:00
Huanxuan Ao
d2273ecea5 Implement "volume transfer request delete" command
Add "volume transfer request delete" command in
volume v1 and v2. Also add the unit tests, docs,
release note and functional tests

Change-Id: Ic3d375bc8df3312fac53c1800d75f48376b8c91c
Implements: bp cinder-command-support
Co-Authored-By: Sheel Rana <ranasheel2000@gmail.com>
2016-09-11 14:08:27 +08:00
Steve Martinelli
c14d3efe61 move all functional tests to tests module
functional tests should be grouped with other tests (unit and
integration tests). as part of this commit the "common" module
was renamed to just "base", this was done for simplicity.

the post_test_hook.sh file was also copied to the functional module
since it should live there. a separate change to the infra repo
will be made to call the new location, once that is merged we
can remove the old one (a new change will also be posted for that)

Needed-By: I49d54f009021d65c1ae49faf6b3f0a7acdadd7b3
Change-Id: Ie8c334f6223373b8e06df8bd8466500d2a2c8ede
2016-09-09 03:29:47 +00:00