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
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
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
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
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
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
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
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
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
The scenario tests missing a way to configure
the share size created during the test.
Change-Id: I58d433a39037cbdb4ad92f956cfc27c54739fe1a
Closes-bug: #1642548
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
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
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
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
As discussed in [1] we can remove some unused
code.
[1] https://review.openstack.org/304032
Trivial fix
Change-Id: I54529092fc7e0988459d04fb1dcc092ac2fe92d6
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
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
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
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
- 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
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
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
This patch addresses issues commented on
change I64b0a3ee77b27278cc294f72702408a27888e0e9
after it was merged, according to bug below.
Closes-bug: #1494000
Change-Id: I9079ea16e0edc359b380705bebba2a7e98446d5c
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