51 Commits

Author SHA1 Message Date
Valeriy Ponomaryov
0af26bbba2 Sync Manila Tempest plugin with latest Tempest
Two reasons to do it:
1) Broken compatibility of old Tempest we use with latest dependencies.
2) Manila Tempest plugin is incompatible with latest Tempest.

Change-Id: Iae5a656b72e774d9d62b52d7ffb63edecbb23ca6
Closes-Bug: #1513105
2015-11-06 12:15:54 +02:00
Valeriy Ponomaryov
cbefc53051 Fix no-share-servers CI job
Our Tempest job "*no-share-servers*" fails after merge of change [1]

The root cause for it is in changed behaviour:
After merge of change [1] share services with driver that use Nova
started verify availability of a Nova VM by its net interface and
do not report its capabilities until it is available.
It takes about 2,5 minutes. During this time scheduler has no available
hosts and we get "no hosts available" errors from it in case of CI that
runs Tempest tests much faster than 2,5 minutes after VM creation.

So, add waiter in post_test_hook.sh script.

[1] I325d6461c4b12f481769bb01f792ef850dba789c

Change-Id: I58d617dd76cf079e5e26bf6a4ddc6b4fba4e20e6
Closes-Bug: #1507605
2015-10-27 11:54:27 +02:00
Zhao Lei
586c666e5c Fix some spelling typo in manual and error message
wating -> waiting
acknowledgement -> acknowledgment
occured -> occurred

Should never get here. If get, then error occurred.
->
Should never get here unless an error occurred.

Change-Id: Ibe89d652e7d76b3d8e6d7549140c50c88144036e
Signed-off-by: Zhao Lei <zhaolei@cn.fujitsu.com>
2015-09-24 07:05:39 +00:00
Marc Koderer
2a79beb643 Fix typo in test_hook
Fix typo according to https://review.openstack.org/#/c/221704/

Change-Id: I5efc0c4dec4917ec3686dec0044df40d4111e54a
2015-09-12 16:53:44 +02:00
Rodrigo Barbieri
72241d1036 Fix Share Migration tempest tests
This patch addresses issues commented on
change I64b0a3ee77b27278cc294f72702408a27888e0e9
after it was merged, according to bug below.

Closes-bug: #1494000
Change-Id: I9079ea16e0edc359b380705bebba2a7e98446d5c
2015-09-11 18:15:56 -03:00
Jenkins
fa10a98649 Merge "Add functional tests for Manila consistency groups" 2015-09-07 21:10:18 +00:00
Valeriy Ponomaryov
f88c2aaeea Fix keypair creation
Use novaclient for creation of keypair instead of openstack client in
devstack plugin, because the latter is not compatible with
nova microversion 2.1

Also, specify explicitly Nova API version in manila wrapper over
novaclient that is used by Generic and Windows drivers.

Also, revert back amount of tempest threads for Ci jobs to avoid job
timeout failures.

Also, fix raise of SnapshotBuildErrorException in Tempest plugin.
Tempest tries to raise exception SnapshotBuildErrorException from wrong
place. It should use "share_exceptions" instead of "exceptions".

Change-Id: Ie9ea9f6d25a13f8cd8f0ccbc73f6fa75cca35e0b
Closes-Bug: #1493008
Closes-Bug: #1493072
2015-09-07 14:52:11 -04:00
Andrew Kerr
333474047c Add functional tests for Manila consistency groups
This commit adds tempest functional tests for Manila consistency
groups and cgsnapshot objects and actions. By default these tests are
enabled; 3rd party CI systems should disabled these tests through the
RUN_MANILA_CG_TESTS environment variable if their driver does not
support consistency groups.

Partially implements bp manila-consistency-groups
Change-Id: I3297e02ad53c328f0bfe5245fefdb6af80552b4a
2015-09-07 13:59:22 -04:00
Goutham Pacha Ravi
079a3d64f5 Consistency Group Support for the Generic Driver
The Generic Driver in Manila has no concept of consistency
groups. This patch proposes to implement a loose
consistency group support mechanism for the Generic Driver,
using existing logic to snapshot shares and create shares
from snapshots.

The actions concerning creating and deleting a consistency
group are handled by the API and the Generic Driver does not
need to remember any relevant information persistently.

The actions concerning consistency group snapshots are not
simultaneous, but are rather let to run in succession.

DocImpact
Partially implements bp manila-consistency-groups

Change-Id: Ie5e51205a1154786f9057691aa82bffcafe04de7
2015-09-07 04:48:45 +00:00
Marc Koderer
09798caae1 Use Tempest plugin interface
Make use of the Tempest plugin interface instead of copying Manila
files into Tempest. This will remove the burden to port Manila
tests onto Tempest master recurrently.

This ports all existing Manila Tempest test to the new structure.

It uses manila_tempest_tests as new top folder for all Tempest
tests. It follow the model of Heat (see [1]).

[1]: https://github.com/openstack/heat/tree/master/heat_integrationtests

Change-Id: Ie5ed64a6777ed1acf8dd56522c26705ae897596d
Partly-implements: bp tempest-plugin-interface
Depends-On: I26dd32b1de8cceeaa6dc674092efec683df71889
2015-09-05 00:36:33 +00:00
Valeriy Ponomaryov
6c44bff516 Add possibility to setup password for generic driver
Make it possible to setup password for generic driver service image and
scenario tests. Also allow to just disable its usage not unsetting the password

It is useful for testing purpose when we have some problems with SSH keys
injection to Nova VMs.

Change-Id: I26dd32b1de8cceeaa6dc674092efec683df71889
Related-Bug: #1480870
2015-09-04 18:56:57 +03:00
vponomaryov
d1c1c009f4 Fix Neutron config setting in pre_test_hook
Change-Id: I843416f091c6804f3a14581a1992ee2f119cbd4c
Closes-Bug: #1486501
2015-08-19 13:35:07 +03:00
Valeriy Ponomaryov
35300fc4e6 Use all types of migrations in devstack installation
For the moment we install Manila database using only 'upgrade' migrations.
In that case we do not test Manila after using 'downgrade' migrations.
So, allow enabling of both types of migrations to verify that our downgrade
migrations do not break the world of data having functional tests running
after it.

Change-Id: If55a38692abca5e008095eb99b55adb465cad2b6
2015-07-14 09:46:46 +00:00
Jenkins
7d16c9431d Merge "Use new manila-service-image with public-key auth" 2015-06-23 17:06:24 +00:00
Igor Malinovskiy
d3d5d77ab6 Use new manila-service-image with public-key auth
- Update devstack plugin
- Update tempest scenario tests

Implements bp reproducible-server-image

Change-Id: I7c71ee2f20074e04021b5c95d8c18096d21b0404
Closes-Bug: #1421104
2015-06-22 16:03:13 +03:00
Valeriy Ponomaryov
5830e58ab8 Reduce amount of tempest threads for no-share-servers jobs
Using approach without handling of share servers we have bigger load for
volume creation in Cinder using Generic driver. So, reduce amount of threads
to avoid errors for Cinder volume creations that appear because of lack of
free space.

Change-Id: I738dd9837eb6f951899aef091a6aafe8a4a0945b
2015-06-16 15:56:33 +00:00
Valeriy Ponomaryov
5246c0e67f Bump supported tempest version
Change-Id: I38ddd6f4a7424cc61cdd6e4e1dd250a63bb8b7ff
2015-06-15 13:20:29 +03:00
Valeriy Ponomaryov
9d6ae07585 Remove unused contrib/ci files
Files located in contrib/ci/multi_backend are unused. So, remove it.

Change-Id: Ibe9cb2321936c3dcecbb61bc23a7c5c6d9e90bd4
2015-06-08 11:33:31 +03:00
Valeriy Ponomaryov
2335afa915 Sync tempest plugin with latest tempest
Sync our Tempest plugin to latest state of tempest repo because it has
incompatibilities.

Change-Id: I0d62f8a6f11f4bdba25807123e4cc4396a75799d
2015-05-08 14:51:24 +03:00
Ramy Asselin
c50c1b1991 Allow overriding the manila test regex
To make the script more flexible to include more or less tests,
Allow the test regex to be defined prior to calling to post_test_hook.sh.

This will also allow the various jenkins jobs to define the regex directly
instead of relying on their name.

Change-Id: Id64d761e7ad035a2e6d6351b04b9f224aa3b8e86
2015-04-24 16:04:33 -07:00
Marc Koderer
0d44022800 Sync contrib/tempest to newer state
An update is needed to support multiple identity versions.

Change-Id: I5c1417642c2bfe476647dcf5549dfed0bc2905c0
2015-04-23 09:05:06 +02:00
Andrew Kerr
477bcfa44b Allow overwriting some Manila tempest settings in CI jobs
This patch allows the following Manila tempest options to be set,
rather than hardcoded, in Jenkins CI jobs:

- suppress_errors_in_cleanup
- run_manage_unmanage_tests
- multitenancy_enabled

Change-Id: If566501cd5c97be37c6e018080e604fd76b6605d
2015-04-03 11:45:50 +00:00
Marc Koderer
c413219116 Add initial scenario test for Manila
Adapt manager and add first initial test for Manila. A ping check will
be performed to check the connectivity from the VM to the share
server/service. The test can be triggered using the experimental test
job introduced by [1].

Open todo's that can be addressed later:
 - Support of flat network
 - More flexible configuration options

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

Change-Id: Ie72e877a88c337866e9cb591f8099218d84ee5dd
Partially-implements: blueprint scenario-tests
2015-03-27 14:59:55 +01:00
Martin Kletzander
199692d6ff Fix common misspellings
Wikipedia's list of common misspellings [1] has a machine-readable
version.  This patch fixes those misspellings mentioned in the list
which don't have multiple right variants (as e.g. "accension", which can
be both "accession" and "ascension"), such misspellings are left
untouched.  The list of changes was manually re-checked for false
positives.

[1] https://en.wikipedia.org/wiki/Wikipedia:Lists_of_common_misspellings/For_machines

Change-Id: I2446995aa8b7c89c7f78c056f9ddb6d8e7899e4e
Signed-off-by: Martin Kletzander <mkletzan@redhat.com>
2015-03-23 14:41:41 +01:00
vponomaryov
8376ca41fc Sync tempest plugin with latest tempest
We are forced to sync our tempest plugin to latest tempest due to changes
done to CI system, that are  based on recent tempest project changes.
Such as reusage oslo libs instead of built-in incubator code, that leads to
changes of config opts that are set/read within tempest config used in CI.

Change-Id: I3e64dc373f5d81034afc4c5d8dfd5d7f4abaa603
Closes-Bug: #1434958
2015-03-22 13:23:46 +02:00
Jenkins
dc79eb0071 Merge "Enable bashate during pep8 run" 2015-03-20 04:16:41 +00:00
Igor Malinovskiy
e1746d7137 Implement manage/unmanage support in generic driver
Add implementation of manage_existing() to Generic driver.
Generic driver accepts only one driver_option 'volume_id'.
If an administrator provides this option, then this Cinder
volume will be managed by Manila as well.

Partially implements bp manage-shares

Change-Id: I8767a7af75d575c57e8708563fa4a6bf2f4aa8ad
2015-03-18 20:43:51 +02:00
Thomas Bechtold
6785cad994 Enable bashate during pep8 run
bashate checks shell script syntax (similar to pep8 for python). Fix
currently available scripts and enable the check for the scripts.

Change-Id: I33dc8c44a58f40e8bca9e29cd717caf46e5cd586
2015-03-18 13:40:03 +01:00
vponomaryov
12aeb041ad Remove CLI tests from tempest plugin
Since CLI tests were implemented in manilaclient itself we do not need it
anymore in manila. So, remove it as duplication.

Change-Id: Ie6ff3e7e822276c247f73ab6495ca2a2acee91ce
2015-03-11 22:50:32 +02:00
Ben Swartzlander
feffe4b27f Replace TEMPEST_CONCURRENCY with Manila-specific var
Currently TEMPEST_CONCURRENCY is hardcoded to 12. This change
uses a different variable name to control concurrency, called
MANILA_TEMPEST_CONCURRENCY. The value still defaults to 12, but
can be overridden by the environment by 3rd party CI systems. A
different variable name is used to ensure that in upstream CI
it will not conflict with any existing variables.

Change-Id: Ia7c76a3ef18a6d114336417bfda08321f8d8971d
2015-03-05 15:46:59 +00:00
Valeriy Ponomaryov
98a6c6621b Use devstack plugin in CI hooks
We have devstack plugin stored in dir 'devstack' and now we do not need
extras.d hooks anymore, stored in dir 'contrib/devstack'.

Switch CI scripts for usage of devstack plugin and remove extras.d hooks.

Change-Id: I49008d169758710df81bf8bbc6ec9d455f162ba1
2015-02-25 23:45:52 +02:00
vponomaryov
46857b6ffc Sync tempest plugin
Our plugin for Tempest project is not compatible anymore.
Sync it and update commit ID that should be checked out.

Change-Id: I4db33a120da29f2417f2f3f2153f473626ae6b5f
2015-02-23 18:27:07 +02:00
Valeriy Ponomaryov
4dd9a33c83 Add possibility to define driver mode within pre_test_hook for CI
Make it possible to provide argument with boolean value to script
pre_test_hook.sh that will be considered for driver mode setting.
'False' means "no share servers handling" and
'True' means "handling of share servers exist".

It is useful for all drivers that do not handle share servers and are going
to have CI job with such setup.

Also, fix Nova service VM creation func within Devstack.

Change-Id: I4145986e224bb934503f79085ea6359d90d55755
2015-02-13 06:05:21 +00:00
Valeriy Ponomaryov
75c4aae09e Add CI job support for second mode of Generic driver
After appearence of second mode for Generic driver we need to run additional
job with functional tests using this second mode.

Changes:
- Add possibility to create service share server for each generic driver with
mode that does not allow share servers handling.
- Add autodetection of driver mode for post_test_hook.

Implements bp generic-driver-single-svm-ci-job

Change-Id: I77127115a89caaaa8701c2089cd5db4b609e6c7f
2015-02-02 11:57:39 +00:00
vponomaryov
0ccc3ac55c Remove workaround for Nova VM boot bug
Boot of VM with provided Neutron port id works again after merge of following:
I01b561ac8b9b29cc4721d88567678a42a4fd1f6b
that is revert for
d8cafb9a6efb95b78609aca8fcb3532c33a1788f

So, we do not need workaround anymore and can test Manila against latest Nova.

Change-Id: I3d1c06e14380efaaad0fe0b06d9d4435ebb1a863
2015-01-31 13:26:36 +02:00
Valeriy Ponomaryov
7393fb03b9 Workaround Nova VM boot bug
Generic driver is unable to boot VMs anymore. The cause is in appeared bug in
Nova, that was introduced by commit d8cafb9a6efb95b78609aca8fcb3532c33a1788f,
where Nova is unable to boot VM if port from Neutron is provided.

Checkout Nova working commit until this bug is fixed in Nova.

Change-Id: I6dd2892392b5d08a7cede9c750d6328bee7dea9b
Closes-Bug: #1415770
2015-01-29 15:02:45 +02:00
vponomaryov
d36a343608 Sync tempest plugin with latest Tempest
Tempest has been changed and our plugin no more compatible with it.
Update files that are broken and bump Tempest commit that is used as HEAD.

Change-Id: I5b13d060b552154345ecfc5c1c6679496f3f3ea6
2015-01-10 11:44:11 +00:00
Valeriy Ponomaryov
4e74778ab0 Make it possible to update tempest conf in all CI Tempest jobs
For the moment bash function 'iniset' is imported from devstack only for
multi backend Tempest job. It causes absence of set options for single backend
installation, because absent function 'iniset' is attempted to be used.

Due to described problem single backend installation does not have enabled
error suppressing in resource cleanup and retry mechanism is disabled.

Change-Id: Ib79be4c6b781e7c9e000dcea617cc8b03e5b4e7a
2015-01-04 07:47:17 +00:00
Valeriy Ponomaryov
79b1891bc1 Make tempest cleanup errors be suppressed in all CI jobs
For the moment config option for suppression of error within Tempest cleanup
is set only for multibackend job. Make it be set for all jobs.

Change-Id: Ic61f164e33ac1fff513947cf7f3e8cef115208ed
2014-12-28 09:59:10 +00:00
Valeriy Ponomaryov
92cfadaaf0 Add retries for share creation within Tempest plugin
Add possibility to retry share creation to be able to avoid failures
caused by unstable environment.

To enable it just update config opt "share_creation_retry_number" in config
group "share". This opt is integer and if it equals to or less than zero (0),
then no recreations will be performed.

All shares created with recreation logic will be cleaned up in the same way
as it was before.

Enable 2 retries for CI Tempest jobs.

Implements blueprint retry-for-functional-tests

Change-Id: I2b72b3908b8c87e4ce67b0aa277c19a2339681b1
2014-12-28 11:58:31 +02:00
Jenkins
67ccd12e42 Merge "Add possibility to suppress errors in Tempest plugin cleanup" 2014-12-26 08:28:24 +00:00
Ponomaryov Valeriy
185f5acfe8 Add possibility to suppress errors in Tempest plugin cleanup
Now if something can not be cleaned up we get error and in case of CI job it is
'fail' of job. We should be able to suppress such errors.
Added config option 'suppress_errors_in_cleanup' that allows us to raise errors
when it is 'False' and log errors when it is 'True'.
Disable it by default.
Enable it for CI Tempest jobs.

Implements blueprint tempest-clean-up-suppress-errors

Change-Id: I03a39cc020f52d54211369c8f5cbfc2e14651a21
2014-12-23 19:46:50 +02:00
Ponomaryov Valeriy
be716c383a Make Tempest repo stable for Manila
Manila has Tempest plugin for mainstream Tempest.
Now, our jobs run over latest Tempest.
It causes incompatibilities from time to time.
Fix it by checking out Tempest repo HEAD to some specific commit that is
compatible with Manila plugin.

Implements blueprint stable-base-for-functional-tests

Change-Id: I5760461c1ebf8cf53ccfae55606fe6036c915e02
2014-12-23 14:33:46 +02:00
vponomaryov
1bffbf0a7a Increase quotas and number of threads for tempest
Increase quotas for Cinder (Generic driver case) and Manila.
Increase number of threads for tempest run to simulate concurrency and
have test run in shorter time slot.

Change-Id: Ic7473c94eeb2b45533c028352b56e4027cd7eead
2014-12-20 14:23:30 +02:00
Valeriy Ponomaryov
90ec7883c7 Fix tempest compatibility
Now Tempest tests are not running with our Tempest jobs.
Tempest commit https://review.openstack.org/#/c/123589/ has changed Tempest
tox jobs, so we need to use another tox job to be able to run our Tempest
tests.

Change-Id: I166637916347e03010781e4ca97fd901a6181b48
2014-10-16 12:30:34 -04:00
Valeriy Ponomaryov
76160f66b0 Decrease amount of threads for Tempest tests
There are cases when Cinder volume quota is exceeded with
high load in gate tests with generic driver, that uses Cinder.

Until we have proper way to increase Cinder volume quota, amount
of threads is decreased for better stability of gate tests.

Change-Id: I2c74aee51aa6c1c3cb4fb4ccd9f28d5a05290b52
2014-08-15 13:29:29 +00:00
Valeriy Ponomaryov
738c7780b7 Update ci scripts
Changes:
Fix multibackend job be multibackend indeed.
Increase amount of threads to run tempest with, after increase of
volume group capacity for Cinder, that is used by generic driver.

Partially-implements blueprint multibackend-installation-tempest-job

Change-Id: Ia7aada6c29d4c2a4929384e9e03057b3cccc470d
2014-06-26 16:33:47 +00:00
vponomaryov
6abf3b9160 Update contrib/ci bash scripts
Actions from setup.sh files are supposed
to be moved to job itself. All changes needed only for tempest
are stored in post_test_hook.

So, no need to keep these files.
When files from multi_backend become not used, they
should be removed too.

Change-Id: I3da41e2843de3e2dfaf4952aea5f7e00a6ff9940
2014-06-05 11:07:09 +03:00
Valeriy Ponomaryov
9f65e8fe44 Moved exports needed for tempest into post_test_hook
Moved env vars needed only for tempest into post_test_hook
to remove dependency from parent process env vars.

Change-Id: I54644bc064c3cb9e5b93f35b23d43ddff52c4d0a
2014-06-04 10:46:50 +03:00
Valeriy Ponomaryov
f915c5430f Fixed ci bash scripts
1) Exec permissions were disabled for all. Set it as 755
2) Was syntax error in post_test_hook.sh
3) Added flags -xe for bash
4) Removed redundant exports from setup.sh

Change-Id: I0fbe1680b9903c8be6a1b7519775d68843df289b
2014-05-31 21:50:53 +03:00