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
Add admin API which allows:
- Get share instances of given share
- Get all share instances
- Get share instance details by id
- Reset share instance state
- Force-delete share instance
Add appropriate unit and tempest tests.
APIImpact
Change-Id: Ie96dfc18b491cb4d9705da4eaca5bc4ce43225ea
Partially-Implements: blueprint share-instances
On last midcycle meetup was decided to make snapshots optional feature.
Features:
- Add new boolean capability 'snapshot_support' to base share driver
so every existing share driver will inherit it. Make value of it be
calculated from the fact of redefinition of three main driver
methods for snapshots 'create_snapshot', 'delete_snapshot' and
'create_share_from_snapshot'.
- Set extra spec 'snapshot_support' with share type creation by default
to 'True'
- Restrict deletion of extra spec 'snapshot_support' that is expected
to exist
- Allow to redefine new extra spec 'snapshot_support'
- Restrict API 'snapshot create' for share created with
share type that has extra spec 'snapshot_support' equal to 'False'.
- Add migration where new extra spec 'snapshot_support' is added
to all share types that do not have it yet.
Partially implements bp snapshots-optional
Change-Id: I069d9e911c7d7a708fa518b38ed10572a45e5f42
Rework availability zones support which was inherited from Cinder:
- Add public API extension
- Preserve AZ if creating a share from a snapshot
- Always set AZ in Share API or Share Manager
- Update db schema and create db migration
- Update appropriate unit tests
APIImpact
Partially-Implements: blueprint availability-zones
Change-Id: Iea9fbc3fea5c0128772115c028989121f397e0c5
This patch adds tempest tests that validate Manila's versions API. Since the
versions API is the first API to be versioned in Manila, the code in this
patch makes requests to invoke the versions API with valid and invalid
version codes and evaluates responses.
Change-Id: I4046f020f0e129dab639f99390367efda9cf4551
On last midcycle meetup was decided to make snapshots optional feature.
So, at first step, add possibility to skip all functional tests that
use snapshots.
Partially implements bp snapshots-optional
Change-Id: Ib7dd3303e3974298439b6ac543b9df628b69e6ae
This adds mounting and unmounting of a created share. In order
to be sure that the nfs/cfis tools are available in the used image
it's using the default Ubuntu nfs/cifs image. Since cloudinit
is not supported for this image it's using username/password
authentication as workaround.
Change-Id: I77720ba5beb836614728081bbf74b44991d6e284
Partially-implements: blueprint scenario-tests
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
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
With implementation of RO access level support in API were added tempest tests
that are run if access rule tests enabled in general.
We should provide possibility to disable them, because drivers can have no
support for RO access. In case of Generic Driver it worked because it did not
raise errors and created RW access indeed instead of RO.
Define config opt 'enable_ro_access_level_for_protocols' (list type) to specify
explicitly whether RO tests should run or not for specific share protocols.
Examples:
enable_ro_access_level_for_protocols = nfs
enable_ro_access_level_for_protocols = cifs
enable_ro_access_level_for_protocols = nfs,cifs
Change-Id: I980be81399ac7449813bbffcbe3d77b7a2036c43
The oslo team is recommending everyone to switch to the
non-namespaced versions of libraries. Updating the hacking
rule to include a check to prevent oslo.* import from
creeping back in.
oslo.messaging is the only exception because this package doesn't
currently support non-namespaced imports.
Change-Id: I3987e651bc880c8ffa7c0105df0298679dcd3a43
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
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
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
Fix and enable E128:
E128 continuation line under-indented for visual indent
Partial-Bug: #1333290
Change-Id: I72f673d291c388fc4df19e9585fb02e23c21fec3
This commit allows to configure devstack to
install one or two share backends.
Two backends will have same configuration, except
share_backend_name option and group name.
NOTE: proper usage of two generic drivers
is blocked by b_u_g 1321340
Partially implements: blueprint multibackend-installation-tempest-job
Change-Id: I4fb6fcccbf3663940e8fbb3cc842831ed62afafa
After making multitenant generic driver default driver
for devstack, tempest should be able to create share-networks
depending on networks of tenant to be able to create shares.
Change-Id: I43a744eb42442c8d6367d894773adc05a5f3f600