Commit Graph

29 Commits

Author SHA1 Message Date
Raissa Sarmento 797048c5ce Remove in-tree tempest plugin
Remove in-tree tempest plugin in favor of newly
created manila-tempest-plugin repository.

Change-Id: I1fb124598f38067fee469df124ee684f748c6f57
2017-12-22 11:11:38 +00:00
Dustin Schoenbrun c26bd6b10c tempest: remove call to set_network_resources()
Since the merge of the stable interface for Tempest network_resources
[0], a call within the Manila scenario tests was causing failures
around the ordering of method calls in the set up of the test class.
This patch removes the call as currently it doesn't do anything and
will fix our scenario tests.

[0] - I4eab8f2a722b47edc20e4aab0ef453bec16842f3

Change-Id: Ia9226329035508c37ca499e6efbd2382502eb141
Closes-Bug: #1717562
2017-09-16 21:18:38 -04:00
Jenkins 111b188e56 Merge "Use tempest-plugin service client registration" 2017-08-03 13:42:22 +00:00
junboli fb17422c86 Enable some off-by-default checks
Some of the available checks are disabled by default, like:
[H106] Don't put vim configuration in source files
[H203] Use assertIs(Not)None to check for None
[H904] Use ',' instead of '%', String interpolation should be
       delayed to be handled by the logging code, rather than
       being done at the point of the logging call.

Change-Id: Ie985fcf78997a86d41e40eacbb4a5ace8592a348
2017-08-03 16:13:32 +08:00
Andrea Frittoli (andreaf) 56718fe24f Use tempest-plugin service client registration
Tempest is going to expose a new optional interface in the plugin
class, to automatically register service clients implemented in
a plugin. Along with this the former client manager, renamed to
ServiceClients, is going to move to a stable interface in
tempest.lib.

Co-Authored-By: Raissa Sarmento <rdearauj@redhat.com>
Change-Id: I4cc9e2b9cd5cb09dff04ee16edcf85e59aec554f
2017-07-31 20:41:06 +01:00
Andrea Frittoli 55600c137f Local copy of scenario test base class
The scenario tests base class from Tempest is not a stable interface
and it's going to be refactored on Tempest side, as notified in

http://lists.openstack.org/pipermail/openstack-dev/2017-February/112938.html

Maintain a local copy of the base class, taken from Tempest with head of
master at c5f1064759fe6c75a4bc5dc251ed1661845936cb.

Change-Id: I1b7470f38b9814b9baa064f9302f4f3b6a8c7894
2017-03-09 13:12:57 -05:00
ghanshyam ba2a234195 Fix to use correct config options for network_for_ssh
network_for_ssh config options under compute group have been
deprecated since 1 year and it has been under new group validation.

Tempest will remove the deprecated config options soon.

This commit use the config options from correct group.

Change-Id: Ieb333745d62058ad2798821437373c636ba4af07
2017-02-15 05:13:36 +00:00
tpsilva 0549f016aa Mountable snapshots scenario tests
This patch adds the scenario tests for mountable snapshots.

Co-Authored-By: Rodrigo Barbieri <rodrigo.barbieri@fit-tecnologia.org.br>
Co-Authored-By: Lucio Seki <luciomitsuru.seki@fit-tecnologia.org.br>

Change-Id: Idb2eb5ee18ce55edb77545bcdf4df4ec4dd90135
Partially-implements: bp manila-mountable-snapshots
2017-01-25 12:42:48 -02:00
Rodrigo Barbieri 53539c0e1d Share Migration Ocata Improvements
Implemented several improvements to share migration
according to spec [1].

Summary of changes:
- Snapshot restriction in API has been changed to return error only
when parameter force-host-assisted-migration is True
- Added preserve_snapshot to API and migration_check_compatibility
driver interface
- Changed all driver-assisted API parameters to be mandatory
- Added validation to prevent 'force_host_assisted_migration' to be
used alongside driver-assisted parameters
- Changed "same host" validation to reject only if the combination
of "host", "new_share_network" and "new_share_type" is the same as
the source
- Updated migration driver interfaces to support snapshots
- Updated zfsonlinux driver, defaulting preserve_snapshots to False
- Updated dummy driver to support preserve_snapshots

Spec update with latest changes since [1] merged
can be found in [2].

APIImpact
DocImpact

[1] I5717e902373d79ed0d55372afdedfaa98134c24e
[2] If02180ec3b5ae05c9ff18c9f5a054c33f13edcdf

Change-Id: I764b389816319ed0ac5178cadbf809cb632035b4
Partially-implements: blueprint ocata-migration-improvements
2017-01-20 09:45:14 -02:00
Jenkins 2455c2ef60 Merge "Allow skipping manila tempest tests." 2017-01-13 12:37:58 +00:00
Daniel Mellado 5dc5ecf392 Allow skipping manila tempest tests.
This commit allows to skip manila tempest tests when manila is set to
false in tempest.CONF service_available. This would allow to disable
manila testing in an environment where all the plugins are installed
(i.e. a package-based installation).

Change-Id: I75dd2fd86df7500ad0bc4f633ed39f7595e9dc8c
2017-01-12 13:59:18 +00:00
Valeriy Ponomaryov 9f4be67777 [Tempest] Add scenario test creating share from snapshot
Add tempest scenario test where we create share from snapshot and
test its relations to source share. Design for this test is available
at 'Add spec for Scenario tests' spec [1].

[1] I224a52521033b47574ff5fd5a94b096c91593aa7

Change-Id: I9863ea70977453b3e7492164002b983f3d9944ab
2016-12-13 15:47:22 +03:00
Jenkins ac2d20b8aa Merge "[Tempest] Port remote_client into Manila" 2016-11-19 21:37:24 +00:00
Marc Koderer 7683f2a3ca [Tempest] Make share size configurable in scenario tests
The scenario tests missing a way to configure
the share size created during the test.

Change-Id: I58d433a39037cbdb4ad92f956cfc27c54739fe1a
Closes-bug: #1642548
2016-11-17 20:27:23 +00:00
Daniel Mellado d03b5699fd [Tempest] Port remote_client into Manila
Manila tempest tests make use of remote_client [1], which won't be making it
to the tempest stable interfaces, as it imports tempest code which would
result in a circular dependency.

This commit ports a reduced version of remote_client into manila code in
order to have manila's tempest plugin to drop the dependency on it.

[1] https://github.com/openstack/tempest/blob/master/tempest/common/utils/linux/remote_client.py

Partially-Implements: bp/tempest-no-deps

Change-Id: I97a8c57adce9cd541766cc1a2f21ca9ceb92efe9
2016-11-17 09:30:10 -06:00
Rodrigo Barbieri 9639e72692 Share migration Newton improvements
At Austin 2016 summit there were several improvements to
Share migration feature discussed. This patch implements
these changes.

Changes are:
- Added 'Writable' API parameter: user chooses whether share must
remain writable during migration.
- Added 'Preserve Metadata' API parameter: user chooses whether
share must preserve all file metadata on migration.
- Added 'Non-disruptive' API parameter: user chooses whether
migration of share must be performed non-disruptively.
- Removed existing 'Notify', thus removing 1-phase migration
possibility.
- Renamed existing 'Force Host Copy' parameter to 'Force
Host-assisted Migration'.
- Renamed all 'migration_info' and 'migration_get_info' entries to
'connection_info' and 'connection_get_info'.
- Updated driver interfaces with the new API parameters, drivers
must respect them.
- Changed share/api => scheduler RPCAPI back to asynchronous.
- Added optional SHA-256 validation to perform additional check if
bytes were corrupted during copying.
- Added mount options configuration to Data Service so CIFS shares
can be mounted.
- Driver may override _get_access_mapping if supports a different
access_type/protocol combination than what is defined by default.
- Added CIFS share protocol support and 'user' access type
support to Data Service.
- Reset Task State API now allows task_state to be unset using
'None' value.
- Added possibility to change share-network when migrating a share.
- Bumped microversion to 2.22.
- Removed support of all previous versions of Share Migration APIs.

APIImpact
DocImpact

Implements: blueprint newton-migration-improvements
Change-Id: Ief49a46c86ed3c22d3b31021aff86a9ce0ecbe3b
2016-08-31 12:38:14 -03:00
Valeriy Ponomaryov b06e111e70 [Tempest] Create heavy scenario resources in parallel
Manila Tempest scenario tests create all resources one by one and they
are very slow because of it.
Therefore, make all resource 'waiters' run after all resource creation
requests are sent.

Change-Id: I435a5d04bce340b0a2c0a2d30fa5a99e50b311e1
Closes-Bug: #1493405
2016-07-08 10:02:00 +00:00
Valeriy Ponomaryov 82a571c486 [Tempest] Stop using deprecated Tempest opts
Currently, Manila CI Tempest jobs use deprecated options of Tempest.
Recently, latest version of Tempest dropped them [1].
Manila CI jobs work ok, because they check out specific version of
Tempest. But it will work until first Devstack update for some one
more Tempest feature and then we will be forced to use latest Tempest
again. Switch to supported approach of setting up users in Tempest,
to avoid such sudden blockers.

[1] I8c24cd17f643083dde71ab2bd2a38417c54aeccb

Change-Id: I5b3ebab52ea1401f6f7a116d1260268eb10ebe0c
Closes-Bug: #1586129
2016-06-08 11:44:08 +03:00
Tom Barron 7383279940 Remove unused tenant_id variable
As discussed in [1] we can remove some unused
code.

[1] https://review.openstack.org/304032

Trivial fix

Change-Id: I54529092fc7e0988459d04fb1dcc092ac2fe92d6
2016-04-12 06:25:57 -04:00
Valeriy Ponomaryov 6d2efea25f [Fix CI] Bump Tempest version
We are forced to bump version of Tempest because of regular
introduced incompatibility.
Also, add compatibility fixes to Manila plugin for
latest Tempest version.

Change-Id: I13c838c39d99c008d53e544f54dadee01f36fdf2
Closes-Bug: #1568785
2016-04-11 15:25:45 +03:00
Valeriy Ponomaryov e1d696c8de Fix compatibility with Tempest
Change [1] fixed gates but introduced incompatible code for
scenario tests. So, fix its compatibility for used version of tempest.

[1] Id7d43dee256856062bd0dadad9c469c1500ee36e

Change-Id: I4c3d9df0de6908b82aca787ab124552796cd1066
Closes-Bug: #1555218
2016-03-09 19:07:13 +02:00
Rodrigo Barbieri cae5a0152c Move Share Migration code to Data Service
Removed functionality of Share Migration relying on Manila Share
Service node, moved code to Data Service node for copy phase.

Added parameter 'notify' and share/api methods for future
implementation (see dependent patches).

Added new copy operation statuses, in order to implement future
API calls to obtain progress and cancel migration.

Added possibility of 2-phase migration for driver migration and
generic (fallback) migration.

Added admin export location support and removed approach of
replacing IP with config parameter.

Added Admin-only API entry points to:
- Migration Cancel (only during copying)
- Reset Task State field
- Migration Get Progress (only during copying)
- Migration Complete (2nd phase migration)
- Notify parameter on Migrate Share

APIImpact
DocImpact

Implements: blueprint data-service-migration
Change-Id: I1d65aac2f36942cd70eb214be561d59a15a4ba26
2016-03-03 09:34:29 -03:00
Ben Swartzlander 4368c98b71 Update tempest commit and switch to tempest.lib
tempest_lib was renamed to tempest.lib which causes problems
when running tests because tempest imports plugins from other
projects and crashes.

Closes bug: 1552520

Change-Id: Id7d43dee256856062bd0dadad9c469c1500ee36e
2016-03-02 23:09:00 -05:00
Igor Malinovskiy b1b723ad0b Add update_access() method to driver interface
- Add update_access() method to driver interface
- Move all code related to access operations to ShareInstanceAccess
class
- Statuses from individual access rules are now mapped to
share_instance's access_rules_status
- Add 'access_rules_status' field to share instance, which indicates
current status of applying access rules

APIImpact
Co-Authored-By: Rodrigo Barbieri <rodrigo.barbieri@fit-tecnologia.org.br>
Co-Authored-By: Tiago Pasqualini da Silva <tiago.pasqualini@gmail.com>
Implements: bp new-share-access-driver-interface

Change-Id: Iff1ec2e3176a46e9f6bd383b38ffc5d838aa8bb8
2016-02-05 10:41:51 -02:00
Valeriy Ponomaryov dcbdcf3534 Implement export location metadata feature
Some upcoming features require more than one export location and
possibility to mark them with specific labels like fast/slow or
rw/ro.

So, implement 'export locations metadata' feature:
- It allows to set any key-value pairs for each export location.
- These key-value pairs can be set only by share manager using
  response from various share driver methods.
- Example of update is implemented using Generic driver
  "create_instance" method.
- Metadata can be updated for any export location in any place
  of share manager where db function "share_export_locations_update"
  is called.
- Keys from export location metadata table will be added to 'share' and
  'share instances' views as export location attributes.

Also:
- Add new attr 'is_admin_only' for existing export locations model.
  If set to True, then only admins will be able to see them. Unless
  policy is changed.
- Add APIs for reading export locations by share and share instance IDs.
- Remove 'export_location' and 'export_locations' attrs
  from 'share' and 'share instance' views.
- Bump microversion as new APIs implemented.

APIImpact

Implements bp export-location-metadata

Change-Id: I36d1aa8d9302e097ffb08d239cf7a81101d2c1cb
2016-01-15 12:29:12 +02:00
Julia Varlamova d459e76fdc Make scenario tests able to run with DHSS=False
Change Manila tempest scenario tests to be able to work
with drivers in 'driver_handles_share_servers = False' mode.

Closes-bug: #1483686

Change-Id: Iefa6718e8b537468e5f4f9ce50cccdf0cafe737d
2015-09-14 06:26:37 -04: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
Rodrigo Barbieri 740fc64940 Add Share Migration tempest functional tests
This patch adds functional tests for Share Migration,
running on generic driver DHSS = true mode.

Implements: blueprint share-migration
Change-Id: I64b0a3ee77b27278cc294f72702408a27888e0e9
2015-09-07 00:06:23 -03: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