Merge "Fix setting of "snapshot_support" extra spec for tempest" into stable/liberty
diff --git a/manila_tempest_tests/config.py b/manila_tempest_tests/config.py
index 616cb19..8873ef6 100644
--- a/manila_tempest_tests/config.py
+++ b/manila_tempest_tests/config.py
@@ -79,9 +79,18 @@
cfg.ListOpt("enable_ro_access_level_for_protocols",
default=["nfs", ],
help="List of protocols to run tests with ro access level."),
- cfg.StrOpt("storage_protocol",
+
+ # Capabilities
+ cfg.StrOpt("capability_storage_protocol",
+ deprecated_name="storage_protocol",
default="NFS_CIFS",
help="Backend protocol to target when creating volume types."),
+ cfg.BoolOpt("capability_snapshot_support",
+ help="Defines extra spec that satisfies specific back end "
+ "capability called 'snapshot_support' and will be used "
+ "for setting up custom share type. Defaults to value of "
+ "other config option 'run_snapshot_tests'."),
+
cfg.StrOpt("share_network_id",
default="",
help="Some backend drivers requires share network "
@@ -124,6 +133,8 @@
help="Defines whether to run manage/unmanage tests or not. "
"These test may leave orphaned resources, so be careful "
"enabling this opt."),
+
+ # Switching ON/OFF test suites filtered by features
cfg.BoolOpt("run_extend_tests",
default=True,
help="Defines whether to run share extend tests or not. "
@@ -147,6 +158,7 @@
cfg.BoolOpt("run_migration_tests",
default=False,
help="Enable or disable migration tests."),
+
cfg.StrOpt("image_with_share_tools",
default="manila-service-image",
help="Image name for vm booting with nfs/smb clients tool."),
diff --git a/manila_tempest_tests/plugin.py b/manila_tempest_tests/plugin.py
index 3a8550b..4880940 100644
--- a/manila_tempest_tests/plugin.py
+++ b/manila_tempest_tests/plugin.py
@@ -37,5 +37,14 @@
config.register_opt_group(conf, config_share.share_group,
config_share.ShareGroup)
+ # NOTE(vponomaryov): set opt 'capability_snapshot_support' by
+ # default equal to opt 'run_snapshot_tests'.
+ if conf.share.capability_snapshot_support is None:
+ conf.set_default(
+ "capability_snapshot_support",
+ conf.share.run_snapshot_tests,
+ group="share",
+ )
+
def get_opt_lists(self):
return [(config_share.share_group.name, config_share.ShareGroup)]
diff --git a/manila_tempest_tests/tests/api/admin/test_share_manage.py b/manila_tempest_tests/tests/api/admin/test_share_manage.py
index 4100b2e..bb04dc7 100644
--- a/manila_tempest_tests/tests/api/admin/test_share_manage.py
+++ b/manila_tempest_tests/tests/api/admin/test_share_manage.py
@@ -13,6 +13,7 @@
# License for the specific language governing permissions and limitations
# under the License.
+import six
from tempest import config # noqa
from tempest import test # noqa
from tempest_lib.common.utils import data_utils # noqa
@@ -48,12 +49,16 @@
cls.st_name = data_utils.rand_name("manage-st-name")
cls.st_name_invalid = data_utils.rand_name("manage-st-name-invalid")
cls.extra_specs = {
- 'storage_protocol': CONF.share.storage_protocol,
- 'driver_handles_share_servers': False
+ 'storage_protocol': CONF.share.capability_storage_protocol,
+ 'driver_handles_share_servers': False,
+ 'snapshot_support': six.text_type(
+ CONF.share.capability_snapshot_support),
}
cls.extra_specs_invalid = {
- 'storage_protocol': CONF.share.storage_protocol,
- 'driver_handles_share_servers': True
+ 'storage_protocol': CONF.share.capability_storage_protocol,
+ 'driver_handles_share_servers': True,
+ 'snapshot_support': six.text_type(
+ CONF.share.capability_snapshot_support),
}
cls.st = cls.create_share_type(
diff --git a/manila_tempest_tests/tests/api/admin/test_share_types.py b/manila_tempest_tests/tests/api/admin/test_share_types.py
index 1f4d6a0..ceed68b 100644
--- a/manila_tempest_tests/tests/api/admin/test_share_types.py
+++ b/manila_tempest_tests/tests/api/admin/test_share_types.py
@@ -93,7 +93,7 @@
share_name = data_utils.rand_name("share")
shr_type_name = data_utils.rand_name("share-type")
extra_specs = self.add_required_extra_specs_to_dict({
- "storage_protocol": CONF.share.storage_protocol,
+ "storage_protocol": CONF.share.capability_storage_protocol,
})
# Create share type
diff --git a/manila_tempest_tests/tests/api/admin/test_shares_actions.py b/manila_tempest_tests/tests/api/admin/test_shares_actions.py
index 0ce3d68..5cc41f5 100644
--- a/manila_tempest_tests/tests/api/admin/test_shares_actions.py
+++ b/manila_tempest_tests/tests/api/admin/test_shares_actions.py
@@ -35,7 +35,7 @@
# create share type for share filtering purposes
cls.st_name = data_utils.rand_name("tempest-st-name")
cls.extra_specs = cls.add_required_extra_specs_to_dict(
- {'storage_protocol': CONF.share.storage_protocol})
+ {'storage_protocol': CONF.share.capability_storage_protocol})
cls.st = cls.create_share_type(
name=cls.st_name,
cleanup_in_class=True,
@@ -163,7 +163,9 @@
@test.attr(type=["gate", ])
def test_list_shares_with_detail_filter_by_extra_specs(self):
filters = {
- "extra_specs": {'storage_protocol': CONF.share.storage_protocol}
+ "extra_specs": {
+ "storage_protocol": CONF.share.capability_storage_protocol,
+ }
}
share_type_list = self.shares_client.list_share_types()["share_types"]
diff --git a/manila_tempest_tests/tests/api/base.py b/manila_tempest_tests/tests/api/base.py
index 825b6e0..3c422b8 100644
--- a/manila_tempest_tests/tests/api/base.py
+++ b/manila_tempest_tests/tests/api/base.py
@@ -520,10 +520,12 @@
@staticmethod
def add_required_extra_specs_to_dict(extra_specs=None):
- value = six.text_type(CONF.share.multitenancy_enabled)
+ dhss = six.text_type(CONF.share.multitenancy_enabled)
+ snapshot_support = six.text_type(
+ CONF.share.capability_snapshot_support)
required = {
- "driver_handles_share_servers": value,
- "snapshot_support": 'True',
+ "driver_handles_share_servers": dhss,
+ "snapshot_support": snapshot_support,
}
if extra_specs:
required.update(extra_specs)