Dummy driver was designed to test manila main functionality that is
storage-agnostic. So, add possibility to set delays for each dummy share driver
method, to be able to simulate storage more correctly by having time delays
similar to real storage-drivers.
Two new config options were added:
- dummy_driver_default_driver_method_delay (float)
- dummy_driver_driver_methods_delays (dict of string-keys and int/float values)
Configuration example:
[DEFAULT]
enabled_share_backends = fake_backend_name
[fake_backend_name]
...
dummy_driver_default_driver_method_delay = 2.0
dummy_driver_driver_methods_delays = create_share:5.15,delete_share:1
...
Change-Id: I36598f74762f3631c6c8502148ea9989ad544b5a
Recent devstack commit [1] broke manila devstack plugin compatibility.
So, fix it by removing dependency on deleted env var in the same way
as it is done in devstack [2].
[1] I7c66e1d8d65f562596543ed8ca402dba8c8ea271
[2] I4e5c7e86aefe72fc21c77d423033e9b169318fec
Change-Id: I351f90a60e4693300cc3d3bbd1183bd8fa6acc9a
Closes-Bug: #1644194
Adding Admin Network support to more easily integrate HNAS
EVS networks into the admin network to perform share migrations.
DocImpact
Implements: blueprint hnas-admin-network
Change-Id: I797595aec580e9ec2dcfdf88e965ae29988b1dee
If a share is shrank from 10G to 5G, the volume is still 10G.
This share`s size display is 5G, but the share extend newsize
must be > 10G in the old code. So, I think only need to perform
resize_filesystem when the share extend newsize <= volume size.
The volume extension is performed only when new size larger than
volume size.
Change-Id: I7e49b446445b8005e2eb23e1d439354eb24915e0
Close-Bug: #1639188
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
Added hacking check to ensure that UUIDs are not generated
by uuid4() since we should do this using oslo_utils.uuidutils.
Based on this nova change [1].
[1] I73ee63fbd4f451d3aa5dc1a2a734d68c308b4440
Change-Id: Ic7783c29fbd838c827ccc8ee44aa757fef8e9169
Check that ceph connection really works when setting up
the driver instead of doing real connect later in init_host
phase. This mitigates the risk that the service crashes/respawns
in an infinite loop because of a connection error.
Change-Id: Ia71b55dab1535ce351310108aaf53304b15ab757
Closes-Bug: 1640169
This patch moves EMC drivers under dell_emc folder and
changes vendor name to "Dell EMC".
The base driver remains as EMCShareDriver.
DocImpact
UpgradeImpact
Implements-blueprint: move-emc-driver-to-dell-emc-folder
Change-Id: I799c7fcb59fbe887045fe81beb1e257586ba2f0e
Openstack common has a wrapper for generating uuids.
We should only use that function when generating uuids for consistency.
Change-Id: Ie68850e529eee51c66e8d29a9025e1390576bc1a
Closes-bug: #1082248
As Manila bundling oslo.db is not installing testscenario, all python
gates are failing when trying to import it. This commit fixes it so the
gates won't be blocked.
This is a workaround of oslo.db not having testscenarios on its
requirements file.
Closes-Bug: #1640774
Change-Id: I660322666565408f6015da7aa82723a842d62a2d
test_share_manage.ManageNFSShareTest might leave undeleted shares on
backend if some tests are not run. This happens because the shares are
created and unmanaged on resource_setup and are expected to be managed
and deleted on the tests. If the tests don't run, the cleanup will not
delete the shares because they are already unmanaged, thus leaving them
created on the backend.
This patch fixes this issue by moving the share creation and unmanage
operations from resource_setup to the tests themselves.
Closes-bug: #1639848
Change-Id: I2d1790f0a323fdc7b11805842985ca5907dd23c3
They are useful for case we install several back ends with different
drivers, their modes and capabilities.
New share types have fixed names based on driver modes:
- dhss_true
- dhss_false
It is possible to define their extra specs using following env vars:
- MANILA_DHSS_TRUE_SHARE_TYPE_EXTRA_SPECS
- MANILA_DHSS_FALSE_SHARE_TYPE_EXTRA_SPECS
that defaults to existing following env var:
- MANILA_DEFAULT_SHARE_TYPE_EXTRA_SPECS
Use case in CI: we are able to use more than one predefined share_type
in tempest and rally tests.
Change-Id: I7278a897bb89f0562e1eda449b725d965cb10566
Generic share driver has fake support of consistency groups. It was
implemented only for testing purpose. Now, it is redundant, because
we have 'dummy' share driver that already used to test this behavior.
So, drop fake CG support from Generic share driver and disable
appropriate tempest tests.
Change-Id: I6ce07fd3a11cd62a3a01ba4ee7c424b839a62757
Closes-Bug: #1638994
Cors has been added setdefaults method, just use it.
Related link:
https://review.openstack.org/#/c/285368/
Change-Id: I26e1ecdf4a92ab55eeb794a0df7ba6a323f9141a
For driver-assisted migration, 'migration_completing' task state
was not being set when accepting migration-complete requests.
APIImpact
Change-Id: Ie0ccd587232a4a8007c45d855f0f575a30b881b2
Closes-bug: #1638896
[H203] Use assertIs(Not)None to check for None (off by default) Unit
test assertions tend to give better messages for more specific
assertions. As a result, assertIsNone(...) is preferred over
assertEqual(None, ...) and assertIs(None, ...), and assertIsNotNone(...)
is preferred over assertNotEqual(None, ...) and assertIsNot(None,
...). Off by default.
TrivialFix
Change-Id: Ib635a7f73c9ab86ca6ca322542b19e7889486070
huawei driver uses a tag '!$$$' to indicate if username/password
is encoded or not in huawei configuration file.
Currently 'find' method is used to check if this tag is included
in the configuration string, but it'll misread if the tag is
included not in front of the string.
So change the comparing statement to a more accurate way, compare
the front slice of the string directly to the tag.
Change-Id: Ic343970578477362460340b01e5766e03c7d63a4
Closes-Bug: 1635073
Since change [1] it is impossible to set endpoint_type and region_name
for nova, cinder and neutron clients that are used by manila in some
cases.
So, to fix it, add additional options called 'endpoint_type' and
'region_name' for each of config groups related to these clients.
These options can be defined in appropriate config group as following:
[nova]
endpoint_type = publicURL
region_name = SomeRegionName
[cinder]
endpoint_type = internalURL
region_name = SomeRegionName
[neutron]
endpoint_type = adminURL
region_name = SomeRegionName
[1] Ic211a11308a3295409467efd88bff413482ee58d
Change-Id: I6be0e77bbc0e4b1e9905eba7a7b48ff540e9e377
Closes-Bug: #1633454