Merge "Add stable branch jobs on the plugins master gate"
diff --git a/manila_tempest_tests/config.py b/manila_tempest_tests/config.py
index 7aaf5c9..5a9087c 100644
--- a/manila_tempest_tests/config.py
+++ b/manila_tempest_tests/config.py
@@ -27,7 +27,9 @@
cfg.StrOpt("min_api_microversion",
default="2.0",
help="The minimum api microversion is configured to be the "
- "value of the minimum microversion supported by Manila."),
+ "value of the minimum microversion supported by Manila. "
+ "This value is only used to validate the versions "
+ "response from Manila."),
cfg.StrOpt("max_api_microversion",
default="2.61",
help="The maximum api microversion is configured to be the "
diff --git a/manila_tempest_tests/tests/api/admin/test_admin_actions.py b/manila_tempest_tests/tests/api/admin/test_admin_actions.py
index e0c49e7..05848de 100644
--- a/manila_tempest_tests/tests/api/admin/test_admin_actions.py
+++ b/manila_tempest_tests/tests/api/admin/test_admin_actions.py
@@ -16,6 +16,7 @@
import ddt
from tempest import config
from tempest.lib import decorators
+from tempest.lib import exceptions as lib_exc
import testtools
from testtools import testcase as tc
@@ -36,10 +37,13 @@
"migration_success", None]
cls.bad_status = "error_deleting"
# create share type
- cls.share_type = cls._create_share_type()
+ extra_specs = {}
+ if CONF.share.capability_snapshot_support:
+ extra_specs.update({'snapshot_support': True})
+ cls.share_type = cls._create_share_type(specs=extra_specs)
cls.share_type_id = cls.share_type['id']
# create share
- cls.sh = cls.create_share(share_type_id=cls.share_type_id)
+ cls.share = cls.create_share(share_type_id=cls.share_type_id)
def _reset_resource_available(self, resource_id, resource_type="shares"):
self.shares_v2_client.reset_state(
@@ -52,17 +56,17 @@
@tc.attr(base.TAG_POSITIVE, base.TAG_API_WITH_BACKEND)
@ddt.data("error", "available", "error_deleting", "deleting", "creating")
def test_reset_share_state(self, status):
- self.shares_v2_client.reset_state(self.sh["id"], status=status)
+ self.shares_v2_client.reset_state(self.share["id"], status=status)
waiters.wait_for_resource_status(self.shares_v2_client,
- self.sh["id"], status)
- self.addCleanup(self._reset_resource_available, self.sh["id"])
+ self.share["id"], status)
+ self.addCleanup(self._reset_resource_available, self.share["id"])
@decorators.idempotent_id('13075b2d-fe83-41bf-b6ef-99cfcc00257d')
@tc.attr(base.TAG_POSITIVE, base.TAG_API_WITH_BACKEND)
@ddt.data("error", "available", "error_deleting", "deleting", "creating")
def test_reset_share_instance_state(self, status):
sh_instance = self.shares_v2_client.get_instances_of_share(
- self.sh["id"])[0]
+ self.share["id"])[0]
share_instance_id = sh_instance["id"]
self.shares_v2_client.reset_state(
share_instance_id, s_type="share_instances", status=status)
@@ -78,7 +82,7 @@
"Snapshot tests are disabled.")
@ddt.data("error", "available", "error_deleting", "deleting", "creating")
def test_reset_snapshot_state(self, status):
- snapshot = self.create_snapshot_wait_for_active(self.sh["id"])
+ snapshot = self.create_snapshot_wait_for_active(self.share["id"])
self.shares_v2_client.reset_state(
snapshot["id"], s_type="snapshots", status=status)
waiters.wait_for_resource_status(
@@ -127,13 +131,17 @@
instance["id"], s_type="share_instances")
self.shares_v2_client.wait_for_resource_deletion(
share_instance_id=instance["id"])
+ # Verify that the share has been deleted.
+ self.assertRaises(lib_exc.NotFound,
+ self.shares_v2_client.get_share,
+ share['id'])
@decorators.idempotent_id('d5a48182-ecd7-463e-a31a-148c81d3c5ed')
@tc.attr(base.TAG_POSITIVE, base.TAG_API_WITH_BACKEND)
@testtools.skipUnless(CONF.share.run_snapshot_tests,
"Snapshot tests are disabled.")
def test_force_delete_snapshot(self):
- sn = self.create_snapshot_wait_for_active(self.sh["id"])
+ sn = self.create_snapshot_wait_for_active(self.share["id"])
# Change status from 'available' to 'error_deleting'
self.shares_v2_client.reset_state(
@@ -149,12 +157,13 @@
@decorators.idempotent_id('49a576eb-733a-4299-aa6f-918fe7c67a6a')
@tc.attr(base.TAG_POSITIVE, base.TAG_API_WITH_BACKEND)
- @utils.skip_if_microversion_lt("2.22")
+ @utils.skip_if_microversion_not_supported("2.22")
def test_reset_share_task_state(self):
for task_state in self.task_states:
- self.shares_v2_client.reset_task_state(self.sh["id"], task_state)
+ self.shares_v2_client.reset_task_state(self.share["id"],
+ task_state)
waiters.wait_for_resource_status(
- self.shares_v2_client, self.sh["id"], task_state,
+ self.shares_v2_client, self.share["id"], task_state,
status_attr='task_state')
@decorators.idempotent_id('4233b941-a909-4f35-9ec9-753736949dd2')
@@ -163,7 +172,7 @@
# This check will ensure that when a share creation request is handled,
# if the driver has the "driver handles share servers" option enabled,
# that a share server will be created, otherwise, not.
- share_get = self.admin_shares_v2_client.get_share(self.sh['id'])
+ share_get = self.admin_shares_v2_client.get_share(self.share['id'])
share_server = share_get['share_server_id']
if CONF.share.multitenancy_enabled:
self.assertNotEmpty(share_server)
diff --git a/manila_tempest_tests/tests/api/admin/test_admin_actions_negative.py b/manila_tempest_tests/tests/api/admin/test_admin_actions_negative.py
index 82f59cb..d6eb449 100644
--- a/manila_tempest_tests/tests/api/admin/test_admin_actions_negative.py
+++ b/manila_tempest_tests/tests/api/admin/test_admin_actions_negative.py
@@ -34,24 +34,27 @@
cls.admin_client = cls.admin_shares_v2_client
cls.member_client = cls.shares_v2_client
# create share type
- cls.share_type = cls._create_share_type()
+ extra_specs = {}
+ if CONF.share.capability_snapshot_support:
+ extra_specs.update({'snapshot_support': True})
+ cls.share_type = cls._create_share_type(specs=extra_specs)
cls.share_type_id = cls.share_type['id']
# create share
- cls.sh = cls.create_share(share_type_id=cls.share_type_id,
- client=cls.admin_client)
+ cls.share = cls.create_share(share_type_id=cls.share_type_id,
+ client=cls.admin_client)
cls.sh_instance = (
- cls.admin_client.get_instances_of_share(cls.sh["id"])[0]
+ cls.admin_client.get_instances_of_share(cls.share["id"])[0]
)
if CONF.share.run_snapshot_tests:
- cls.sn = cls.create_snapshot_wait_for_active(
- cls.sh["id"], client=cls.admin_client)
+ cls.snapshot = cls.create_snapshot_wait_for_active(
+ cls.share["id"], client=cls.admin_client)
@decorators.idempotent_id('f730c395-a501-44cf-90d9-a3273771b895')
@tc.attr(base.TAG_NEGATIVE, base.TAG_API_WITH_BACKEND)
def test_reset_share_state_to_unacceptable_state(self):
self.assertRaises(lib_exc.BadRequest,
self.admin_client.reset_state,
- self.sh["id"], status="fake")
+ self.share["id"], status="fake")
@decorators.idempotent_id('3bfa9555-9c7e-45a2-b5bd-384329cb6fda')
@tc.attr(base.TAG_NEGATIVE, base.TAG_API_WITH_BACKEND)
@@ -71,7 +74,9 @@
def test_reset_snapshot_state_to_unacceptable_state(self):
self.assertRaises(lib_exc.BadRequest,
self.admin_client.reset_state,
- self.sn["id"], s_type="snapshots", status="fake")
+ self.snapshot["id"],
+ s_type="snapshots",
+ status="fake")
@decorators.idempotent_id('3b525c29-b657-493f-aa41-b17676a95fd2')
@tc.attr(base.TAG_NEGATIVE, base.TAG_API_WITH_BACKEND)
@@ -79,7 +84,7 @@
# Even if member from another tenant, it should be unauthorized
self.assertRaises(lib_exc.Forbidden,
self.member_client.reset_state,
- self.sh["id"])
+ self.share["id"])
@decorators.idempotent_id('d4abddba-1c20-49e1-85b1-5452f0faceb0')
@tc.attr(base.TAG_NEGATIVE, base.TAG_API_WITH_BACKEND)
@@ -97,7 +102,7 @@
# Even if member from another tenant, it should be unauthorized
self.assertRaises(lib_exc.Forbidden,
self.member_client.reset_state,
- self.sn["id"], s_type="snapshots")
+ self.snapshot["id"], s_type="snapshots")
@decorators.idempotent_id('7cd0b48e-2815-4f8c-8718-3c071ff9701f')
@tc.attr(base.TAG_NEGATIVE, base.TAG_API_WITH_BACKEND)
@@ -105,7 +110,7 @@
# If a non-admin tries to do force_delete, it should be unauthorized
self.assertRaises(lib_exc.Forbidden,
self.member_client.force_delete,
- self.sh["id"])
+ self.share["id"])
@decorators.idempotent_id('257da3e0-9460-4d97-8a56-c86c0427cc64')
@tc.attr(base.TAG_NEGATIVE, base.TAG_API_WITH_BACKEND)
@@ -123,7 +128,7 @@
# If a non-admin tries to do force_delete, it should be unauthorized
self.assertRaises(lib_exc.Forbidden,
self.member_client.force_delete,
- self.sn["id"], s_type="snapshots")
+ self.snapshot["id"], s_type="snapshots")
@decorators.idempotent_id('821da7c8-3501-44ba-9ffe-45f485a6e573')
@tc.attr(base.TAG_NEGATIVE, base.TAG_API_WITH_BACKEND)
@@ -140,15 +145,15 @@
# unauthorized
self.assertRaises(lib_exc.Forbidden,
self.member_client.get_instances_of_share,
- self.sh['id'])
+ self.share['id'])
@decorators.idempotent_id('d662457c-2b84-4f13-aee7-5ffafe2552f1')
@tc.attr(base.TAG_NEGATIVE, base.TAG_API_WITH_BACKEND)
- @utils.skip_if_microversion_lt("2.22")
+ @utils.skip_if_microversion_not_supported("2.22")
def test_reset_task_state_invalid_state(self):
self.assertRaises(
lib_exc.BadRequest, self.admin_client.reset_task_state,
- self.sh['id'], 'fake_state')
+ self.share['id'], 'fake_state')
@ddt.ddt
@@ -169,7 +174,7 @@
@decorators.idempotent_id('aba8638c-bfed-4c3e-994b-5309fcd912b2')
@tc.attr(base.TAG_NEGATIVE, base.TAG_API)
- @utils.skip_if_microversion_lt("2.22")
+ @utils.skip_if_microversion_not_supported("2.22")
def test_reset_task_state_share_not_found(self):
self.assertRaises(
lib_exc.NotFound, self.admin_client.reset_task_state,
diff --git a/manila_tempest_tests/tests/api/admin/test_export_locations_negative.py b/manila_tempest_tests/tests/api/admin/test_export_locations_negative.py
index 065013d..f7f4670 100644
--- a/manila_tempest_tests/tests/api/admin/test_export_locations_negative.py
+++ b/manila_tempest_tests/tests/api/admin/test_export_locations_negative.py
@@ -29,7 +29,7 @@
@classmethod
def skip_checks(cls):
super(ExportLocationsNegativeTest, cls).skip_checks()
- utils.check_skip_if_microversion_lt("2.9")
+ utils.check_skip_if_microversion_not_supported("2.9")
@classmethod
def resource_setup(cls):
@@ -120,7 +120,7 @@
@classmethod
def skip_checks(cls):
super(ExportLocationsAPIOnlyNegativeTest, cls).skip_checks()
- utils.check_skip_if_microversion_lt("2.9")
+ utils.check_skip_if_microversion_not_supported("2.9")
@decorators.idempotent_id('4b5b4e89-0c80-4383-b272-62d5e0419d9a')
@tc.attr(base.TAG_NEGATIVE, base.TAG_API)
diff --git a/manila_tempest_tests/tests/api/admin/test_migration.py b/manila_tempest_tests/tests/api/admin/test_migration.py
index 9269c71..e93c603 100644
--- a/manila_tempest_tests/tests/api/admin/test_migration.py
+++ b/manila_tempest_tests/tests/api/admin/test_migration.py
@@ -72,8 +72,11 @@
"needed to run share migration tests.")
# create share type (generic)
- cls.share_type = cls._create_share_type()
- cls.share_type_id = cls.share_type['id']
+ cls.share_type = cls.create_share_type(
+ name=data_utils.rand_name('original_share_type_for_migration'),
+ cleanup_in_class=True,
+ extra_specs=utils.get_configured_extra_specs())
+ cls.share_type_id = cls.share_type['share_type']['id']
cls.new_type = cls.create_share_type(
name=data_utils.rand_name('new_share_type_for_migration'),
@@ -338,7 +341,10 @@
# Share type with snapshot support
st_name = data_utils.rand_name(
'snapshot_capable_share_type_for_migration')
- extra_specs = self.add_extra_specs_to_dict({"snapshot_support": True})
+ extra_specs = self.add_extra_specs_to_dict({
+ "snapshot_support": True,
+ "create_share_from_snapshot_support": True,
+ })
ss_type = self.create_share_type(st_name, extra_specs=extra_specs)
# New share type with no snapshot support capability
@@ -366,7 +372,7 @@
@decorators.idempotent_id('d39dfa1b-6e91-4efc-84f1-76f878b51f2a')
@tc.attr(base.TAG_POSITIVE, base.TAG_BACKEND)
- @utils.skip_if_microversion_lt("2.29")
+ @utils.skip_if_microversion_not_supported("2.29")
@ddt.data(True, False)
def test_migration_cancel(self, force_host_assisted):
self._check_migration_enabled(force_host_assisted)
@@ -404,7 +410,7 @@
@decorators.idempotent_id('640dce56-2084-488d-8dea-456840ff397e')
@tc.attr(base.TAG_POSITIVE, base.TAG_BACKEND)
- @utils.skip_if_microversion_lt("2.29")
+ @utils.skip_if_microversion_not_supported("2.29")
@testtools.skipUnless(
CONF.share.run_snapshot_tests, 'Snapshot tests are disabled.')
@testtools.skipUnless(
@@ -440,7 +446,7 @@
@decorators.idempotent_id('d8cce50d-e8da-4fbc-8f94-0827bf277b6c')
@tc.attr(base.TAG_POSITIVE, base.TAG_BACKEND)
- @utils.skip_if_microversion_lt("2.29")
+ @utils.skip_if_microversion_not_supported("2.29")
@ddt.data(True, False)
def test_migration_opposite_driver_modes(self, force_host_assisted):
self._check_migration_enabled(force_host_assisted)
@@ -508,7 +514,7 @@
@decorators.idempotent_id('e6cf0e4d-bdf3-49c1-b6ba-56d1ad6c81d2')
@tc.attr(base.TAG_POSITIVE, base.TAG_BACKEND)
- @utils.skip_if_microversion_lt("2.29")
+ @utils.skip_if_microversion_not_supported("2.29")
@ddt.data(True, False)
def test_migration_2phase(self, force_host_assisted):
self._check_migration_enabled(force_host_assisted)
@@ -560,7 +566,7 @@
@decorators.idempotent_id('0e3d75e0-385a-4f7a-889f-2a3db79db8c2')
@tc.attr(base.TAG_POSITIVE, base.TAG_BACKEND)
- @utils.skip_if_microversion_lt("2.29")
+ @utils.skip_if_microversion_not_supported("2.29")
@testtools.skipUnless(
CONF.share.run_extend_tests, 'Extend share tests are disabled.')
@ddt.data(True, False)
@@ -574,7 +580,7 @@
@decorators.idempotent_id('58c72e51-d217-48bc-8155-5a010912312e')
@tc.attr(base.TAG_POSITIVE, base.TAG_BACKEND)
- @utils.skip_if_microversion_lt("2.29")
+ @utils.skip_if_microversion_not_supported("2.29")
@testtools.skipUnless(
CONF.share.run_shrink_tests, 'Shrink share tests are disabled.')
@ddt.data(True, False)
@@ -588,7 +594,7 @@
@decorators.idempotent_id('a95eb701-626a-4175-967b-4880d3716857')
@tc.attr(base.TAG_POSITIVE, base.TAG_BACKEND)
- @utils.skip_if_microversion_lt("2.29")
+ @utils.skip_if_microversion_not_supported("2.29")
@testtools.skipUnless(
CONF.share.run_snapshot_tests, 'Snapshot tests are disabled.')
@testtools.skipUnless(
@@ -630,7 +636,7 @@
@decorators.idempotent_id('a18b3637-2070-4a1b-acd9-c392eb7963b5')
@tc.attr(base.TAG_POSITIVE, base.TAG_BACKEND)
- @utils.skip_if_microversion_lt("2.29")
+ @utils.skip_if_microversion_not_supported("2.29")
@testtools.skipUnless(CONF.share.run_snapshot_tests,
'Snapshot tests are disabled.')
@ddt.data(True, False)
@@ -643,7 +649,7 @@
@decorators.idempotent_id('59313673-6576-4163-ab96-41bafcdad63a')
@tc.attr(base.TAG_POSITIVE, base.TAG_BACKEND)
- @utils.skip_if_microversion_lt("2.29")
+ @utils.skip_if_microversion_not_supported("2.29")
@testtools.skipUnless(CONF.share.run_snapshot_tests,
'Snapshot tests are disabled.')
@ddt.data(True, False)
diff --git a/manila_tempest_tests/tests/api/admin/test_migration_negative.py b/manila_tempest_tests/tests/api/admin/test_migration_negative.py
index cff14f0..e6e10ca 100644
--- a/manila_tempest_tests/tests/api/admin/test_migration_negative.py
+++ b/manila_tempest_tests/tests/api/admin/test_migration_negative.py
@@ -57,7 +57,11 @@
"are needed to run share migration tests.")
# create share type (generic)
- cls.share_type = cls._create_share_type()
+ extra_specs = {}
+
+ if CONF.share.capability_snapshot_support:
+ extra_specs.update({'snapshot_support': True})
+ cls.share_type = cls._create_share_type(specs=extra_specs)
cls.share_type_id = cls.share_type['id']
# create share
@@ -83,7 +87,7 @@
@decorators.idempotent_id('8aa1f2a0-bc44-4df5-a556-161590e594a3')
@tc.attr(base.TAG_NEGATIVE, base.TAG_API_WITH_BACKEND)
- @utils.skip_if_microversion_lt("2.22")
+ @utils.skip_if_microversion_not_supported("2.22")
def test_migration_cancel_invalid(self):
self.assertRaises(
lib_exc.BadRequest, self.shares_v2_client.migration_cancel,
@@ -91,7 +95,7 @@
@decorators.idempotent_id('6d0dfb2e-51a0-4cb7-8c69-6135a49c6057')
@tc.attr(base.TAG_NEGATIVE, base.TAG_API_WITH_BACKEND)
- @utils.skip_if_microversion_lt("2.22")
+ @utils.skip_if_microversion_not_supported("2.22")
def test_migration_get_progress_None(self):
self.shares_v2_client.reset_task_state(self.share["id"], None)
waiters.wait_for_resource_status(
@@ -103,7 +107,7 @@
@decorators.idempotent_id('2ab1fc82-bc13-4c99-8324-c6b23530e8a4')
@tc.attr(base.TAG_NEGATIVE, base.TAG_API_WITH_BACKEND)
- @utils.skip_if_microversion_lt("2.22")
+ @utils.skip_if_microversion_not_supported("2.22")
def test_migration_complete_invalid(self):
self.assertRaises(
lib_exc.BadRequest, self.shares_v2_client.migration_complete,
@@ -111,7 +115,7 @@
@decorators.idempotent_id('8ef562b4-7704-4a78-973f-9bf8d2b6f6a6')
@tc.attr(base.TAG_NEGATIVE, base.TAG_API_WITH_BACKEND)
- @utils.skip_if_microversion_lt("2.22")
+ @utils.skip_if_microversion_not_supported("2.22")
def test_migration_cancel_not_found(self):
self.assertRaises(
lib_exc.NotFound, self.shares_v2_client.migration_cancel,
@@ -119,7 +123,7 @@
@decorators.idempotent_id('044c792b-63e0-42c3-9f44-dc2280e2af08')
@tc.attr(base.TAG_NEGATIVE, base.TAG_API_WITH_BACKEND)
- @utils.skip_if_microversion_lt("2.22")
+ @utils.skip_if_microversion_not_supported("2.22")
def test_migration_get_progress_not_found(self):
self.assertRaises(
lib_exc.NotFound, self.shares_v2_client.migration_get_progress,
@@ -127,7 +131,7 @@
@decorators.idempotent_id('a509871a-3f3a-4618-bb60-9661732dd371')
@tc.attr(base.TAG_NEGATIVE, base.TAG_API_WITH_BACKEND)
- @utils.skip_if_microversion_lt("2.22")
+ @utils.skip_if_microversion_not_supported("2.22")
def test_migration_complete_not_found(self):
self.assertRaises(
lib_exc.NotFound, self.shares_v2_client.migration_complete,
@@ -135,7 +139,7 @@
@decorators.idempotent_id('6276bea6-6939-4569-930f-218d99c0fa56')
@tc.attr(base.TAG_NEGATIVE, base.TAG_API_WITH_BACKEND)
- @utils.skip_if_microversion_lt("2.29")
+ @utils.skip_if_microversion_not_supported("2.29")
@testtools.skipUnless(CONF.share.run_snapshot_tests,
"Snapshot tests are disabled.")
def test_migrate_share_with_snapshot(self):
@@ -150,7 +154,7 @@
@decorators.idempotent_id('78670c24-c4ee-45b5-b166-2d053c333144')
@tc.attr(base.TAG_NEGATIVE, base.TAG_API_WITH_BACKEND)
- @utils.skip_if_microversion_lt("2.29")
+ @utils.skip_if_microversion_not_supported("2.29")
@ddt.data(True, False)
def test_migrate_share_same_host(self, specified):
new_share_type_id = None
@@ -168,7 +172,7 @@
@decorators.idempotent_id('af17204f-ffab-4ba8-8cb6-032e49216f67')
@tc.attr(base.TAG_NEGATIVE, base.TAG_API_WITH_BACKEND)
- @utils.skip_if_microversion_lt("2.29")
+ @utils.skip_if_microversion_not_supported("2.29")
def test_migrate_share_host_invalid(self):
self.assertRaises(
lib_exc.NotFound, self.shares_v2_client.migrate_share,
@@ -176,7 +180,7 @@
@decorators.idempotent_id('0558e9c4-0416-41d2-b28a-803d4b81521a')
@tc.attr(base.TAG_NEGATIVE, base.TAG_API_WITH_BACKEND)
- @utils.skip_if_microversion_lt("2.29")
+ @utils.skip_if_microversion_not_supported("2.29")
@ddt.data({'writable': False, 'preserve_metadata': False,
'preserve_snapshots': False, 'nondisruptive': True},
{'writable': False, 'preserve_metadata': False,
@@ -198,7 +202,7 @@
@decorators.idempotent_id('ee57024c-d00e-4def-8eec-cbc62bae327f')
@tc.attr(base.TAG_NEGATIVE, base.TAG_API_WITH_BACKEND)
- @utils.skip_if_microversion_lt("2.29")
+ @utils.skip_if_microversion_not_supported("2.29")
def test_migrate_share_change_type_no_valid_host(self):
if not CONF.share.multitenancy_enabled:
new_share_network_id = self.create_share_network(
@@ -217,7 +221,7 @@
@decorators.idempotent_id('e2bd0cca-c091-4785-a9dc-7f42d2bb95a5')
@tc.attr(base.TAG_NEGATIVE, base.TAG_API_WITH_BACKEND)
- @utils.skip_if_microversion_lt("2.29")
+ @utils.skip_if_microversion_not_supported("2.29")
def test_migrate_share_not_found(self):
self.assertRaises(
lib_exc.NotFound, self.shares_v2_client.migrate_share,
@@ -225,7 +229,7 @@
@decorators.idempotent_id('86b427a7-27c0-4cd5-8f52-9688b339980b')
@tc.attr(base.TAG_NEGATIVE, base.TAG_API_WITH_BACKEND)
- @utils.skip_if_microversion_lt("2.29")
+ @utils.skip_if_microversion_not_supported("2.29")
def test_migrate_share_not_available(self):
self.shares_client.reset_state(self.share['id'],
constants.STATUS_ERROR)
@@ -242,7 +246,7 @@
@decorators.idempotent_id('e8f1e491-697a-4941-bf51-4d37f0a93fa5')
@tc.attr(base.TAG_NEGATIVE, base.TAG_API_WITH_BACKEND)
- @utils.skip_if_microversion_lt("2.29")
+ @utils.skip_if_microversion_not_supported("2.29")
def test_migrate_share_invalid_share_network(self):
self.assertRaises(
lib_exc.BadRequest, self.shares_v2_client.migrate_share,
@@ -251,7 +255,7 @@
@decorators.idempotent_id('be262d44-2ca2-4b9c-be3a-5a6a98ed871b')
@tc.attr(base.TAG_NEGATIVE, base.TAG_API_WITH_BACKEND)
- @utils.skip_if_microversion_lt("2.29")
+ @utils.skip_if_microversion_not_supported("2.29")
def test_migrate_share_invalid_share_type(self):
self.assertRaises(
lib_exc.BadRequest, self.shares_v2_client.migrate_share,
@@ -260,7 +264,7 @@
@decorators.idempotent_id('16c72693-6f9e-4cb4-a166-c60accd3479b')
@tc.attr(base.TAG_NEGATIVE, base.TAG_API_WITH_BACKEND)
- @utils.skip_if_microversion_lt("2.29")
+ @utils.skip_if_microversion_not_supported("2.29")
def test_migrate_share_opposite_type_share_network_invalid(self):
extra_specs = utils.get_configured_extra_specs(
@@ -286,7 +290,7 @@
@decorators.idempotent_id('1f529b09-e404-4f0e-9423-bb4b117b5522')
@tc.attr(base.TAG_NEGATIVE, base.TAG_API_WITH_BACKEND)
- @utils.skip_if_microversion_lt("2.48")
+ @utils.skip_if_microversion_not_supported("2.48")
def test_share_type_azs_share_migrate_unsupported_az(self):
extra_specs = self.add_extra_specs_to_dict({
'availability_zones': 'non-existent az'})
@@ -302,13 +306,13 @@
@testtools.skipUnless(CONF.share.run_driver_assisted_migration_tests,
"Driver-assisted migration tests are disabled.")
@tc.attr(base.TAG_NEGATIVE, base.TAG_API_WITH_BACKEND)
- @utils.skip_if_microversion_lt("2.29")
+ @utils.skip_if_microversion_not_supported("2.29")
def test_create_snapshot_during_share_migration(self):
self._test_share_actions_during_share_migration('create_snapshot', [])
@decorators.idempotent_id('20121039-bb11-45d8-9972-d2daff7a779c')
@tc.attr(base.TAG_NEGATIVE, base.TAG_API_WITH_BACKEND)
- @utils.skip_if_microversion_lt("2.29")
+ @utils.skip_if_microversion_not_supported("2.29")
@ddt.data(('extend_share', [CONF.share.share_size + 2]),
('shrink_share', [CONF.share.share_size]))
@ddt.unpack
@@ -326,7 +330,7 @@
@decorators.idempotent_id('6e83fc25-4e3e-49a7-93e8-db4e6b355a91')
@tc.attr(base.TAG_NEGATIVE, base.TAG_API_WITH_BACKEND)
- @utils.skip_if_microversion_lt("2.29")
+ @utils.skip_if_microversion_not_supported("2.29")
def test_add_access_rule_during_migration(self):
access_type = "ip"
access_to = "50.50.50.50"
diff --git a/manila_tempest_tests/tests/api/admin/test_quotas.py b/manila_tempest_tests/tests/api/admin/test_quotas.py
index 481f7c4..fc035a2 100644
--- a/manila_tempest_tests/tests/api/admin/test_quotas.py
+++ b/manila_tempest_tests/tests/api/admin/test_quotas.py
@@ -136,7 +136,7 @@
@ddt.unpack
@decorators.idempotent_id('836e1725-2853-4d54-b281-8173773d8527')
@tc.attr(base.TAG_POSITIVE, base.TAG_API)
- @utils.skip_if_microversion_lt("2.39")
+ @utils.skip_if_microversion_not_supported("2.39")
def test_show_share_type_quotas(self, share_type_key, is_st_public):
# Check if the used microversion supports 'share_replica' and
# 'replica_gigabytes' quotas
@@ -196,7 +196,12 @@
def resource_setup(cls):
super(SharesAdminQuotasUpdateTest, cls).resource_setup()
# create share type
- cls.share_type = cls._create_share_type()
+ extra_specs = {}
+ if CONF.share.capability_snapshot_support:
+ extra_specs.update({'snapshot_support': True})
+ if CONF.share.capability_create_share_from_snapshot_support:
+ extra_specs.update({'create_share_from_snapshot_support': True})
+ cls.share_type = cls._create_share_type(specs=extra_specs)
cls.share_type_id = cls.share_type['id']
# create share group type
cls.share_group_type = cls._create_share_group_type()
@@ -305,7 +310,7 @@
@ddt.unpack
@decorators.idempotent_id('155ea3de-b3b5-4aa0-be8b-eebcc19ce874')
@tc.attr(base.TAG_POSITIVE, base.TAG_API)
- @utils.skip_if_microversion_lt("2.39")
+ @utils.skip_if_microversion_not_supported("2.39")
def test_update_share_type_quota(self, share_type_key, is_st_public):
# Check if the used microversion supports 'share_replica' and
# 'replica_gigabytes' quotas
@@ -548,7 +553,7 @@
@ddt.unpack
@decorators.idempotent_id('15e57302-5a14-4be4-8720-95b639c2bfad')
@tc.attr(base.TAG_POSITIVE, base.TAG_API)
- @utils.skip_if_microversion_lt("2.39")
+ @utils.skip_if_microversion_not_supported("2.39")
def test_reset_share_type_quotas(self, share_type_key, is_st_public):
share_type = self._create_share_type(is_public=is_st_public)
quota_keys = ['shares', 'snapshots', 'gigabytes', 'snapshot_gigabytes']
@@ -767,7 +772,7 @@
@ddt.data(11, -1)
@decorators.idempotent_id('315cb76f-920d-4cb9-ac7d-16be8e95e1b2')
@tc.attr(base.TAG_POSITIVE, base.TAG_API)
- @utils.skip_if_microversion_lt("2.39")
+ @utils.skip_if_microversion_not_supported("2.39")
def test_update_share_type_quotas_bigger_than_project_quota(self, st_q):
share_type = self._create_share_type()
@@ -783,7 +788,7 @@
@decorators.idempotent_id('c95be1eb-6331-4c37-9fac-ed6c36270457')
@tc.attr(base.TAG_POSITIVE, base.TAG_API)
- @utils.skip_if_microversion_lt("2.39")
+ @utils.skip_if_microversion_not_supported("2.39")
def test_set_share_type_quota_bigger_than_users_quota(self):
share_type = self._create_share_type()
@@ -805,7 +810,7 @@
@decorators.idempotent_id('4687eb25-17b3-4995-ace2-62f8bda29c57')
@tc.attr(base.TAG_POSITIVE, base.TAG_API_WITH_BACKEND)
- @utils.skip_if_microversion_lt("2.39")
+ @utils.skip_if_microversion_not_supported("2.39")
def test_quotas_usages(self):
# Create share types
st_1, st_2 = (self._create_share_type()
@@ -900,7 +905,12 @@
@tc.attr(base.TAG_POSITIVE, base.TAG_API_WITH_BACKEND)
@testtools.skipUnless(
CONF.share.run_share_group_tests, 'Share Group tests disabled.')
- @utils.skip_if_microversion_lt(SHARE_GROUPS_MICROVERSION)
+ @utils.skip_if_microversion_not_supported(SHARE_GROUPS_MICROVERSION)
+ @testtools.skipUnless(CONF.share.run_snapshot_tests,
+ "Snapshot tests are disabled.")
+ @testtools.skipUnless(
+ CONF.share.capability_create_share_from_snapshot_support,
+ "Tests for shares from snapshots are disabled.")
def test_share_group_quotas_usages(self):
# Set quotas for project (3 SG, 1 SGS) and user (2 SG, 1 SGS)
self.update_quotas(self.tenant_id,
diff --git a/manila_tempest_tests/tests/api/admin/test_quotas_negative.py b/manila_tempest_tests/tests/api/admin/test_quotas_negative.py
index af5cc9c..0016911 100644
--- a/manila_tempest_tests/tests/api/admin/test_quotas_negative.py
+++ b/manila_tempest_tests/tests/api/admin/test_quotas_negative.py
@@ -285,7 +285,7 @@
@ddt.data('show', 'reset', 'update')
@decorators.idempotent_id('cf45eb7d-7330-4b2d-8214-e4149eb4a398')
@tc.attr(base.TAG_NEGATIVE, base.TAG_API)
- @utils.skip_if_microversion_lt("2.39")
+ @utils.skip_if_microversion_not_supported("2.39")
def test_share_type_quotas_using_nonexistent_share_type(self, op):
kwargs = {"share_type": "fake_nonexistent_share_type"}
@@ -301,7 +301,7 @@
@ddt.data('id', 'name')
@decorators.idempotent_id('2ba641a1-100b-417e-80e2-d3f717fd3c7c')
@tc.attr(base.TAG_NEGATIVE, base.TAG_API)
- @utils.skip_if_microversion_lt("2.39")
+ @utils.skip_if_microversion_not_supported("2.39")
def test_try_update_share_type_quota_for_share_networks(self, key):
share_type = self._create_share_type()
tenant_quotas = self.client.show_quotas(self.tenant_id)
@@ -316,7 +316,7 @@
@ddt.data('share_groups', 'share_group_snapshots')
@decorators.idempotent_id('5eb6ce15-1172-4bcb-9c7b-91543bf714e8')
@tc.attr(base.TAG_NEGATIVE, base.TAG_API)
- @utils.skip_if_microversion_lt(SHARE_GROUPS_MICROVERSION)
+ @utils.skip_if_microversion_not_supported(SHARE_GROUPS_MICROVERSION)
def test_try_update_share_type_quota_for_share_groups(self, quota_name):
share_type = self._create_share_type()
tenant_quotas = self.client.show_quotas(self.tenant_id)
@@ -366,7 +366,7 @@
@ddt.data('show', 'reset', 'update')
@decorators.idempotent_id('acc609c2-f314-4540-984c-33e93d048f6c')
@tc.attr(base.TAG_NEGATIVE, base.TAG_API)
- @utils.skip_if_microversion_lt("2.38")
+ @utils.skip_if_microversion_not_supported("2.38")
def test_share_type_quotas_using_too_old_microversion(self, op):
share_type = self._create_share_type()
kwargs = {"version": "2.38", "share_type": share_type["name"]}
@@ -382,7 +382,7 @@
@ddt.data('show', 'reset', 'update')
@decorators.idempotent_id('719768d1-d313-40e9-9127-c5777840ecbd')
@tc.attr(base.TAG_NEGATIVE, base.TAG_API)
- @utils.skip_if_microversion_lt("2.39")
+ @utils.skip_if_microversion_not_supported("2.39")
def test_quotas_providing_share_type_and_user_id(self, op):
share_type = self._create_share_type()
kwargs = {"share_type": share_type["name"], "user_id": self.user_id}
@@ -398,7 +398,7 @@
@ddt.data(11, -1)
@decorators.idempotent_id('82256511-aa46-4b99-a6e5-8b400534e96d')
@tc.attr(base.TAG_NEGATIVE, base.TAG_API)
- @utils.skip_if_microversion_lt("2.39")
+ @utils.skip_if_microversion_not_supported("2.39")
def test_update_share_type_quotas_bigger_than_project_quota(self, st_q):
share_type = self._create_share_type()
self.update_quotas(self.tenant_id, shares=10)
@@ -446,7 +446,8 @@
if not CONF.share.run_quota_tests:
msg = "Quota tests are disabled."
raise cls.skipException(msg)
- utils.check_skip_if_microversion_lt(SHARE_REPLICA_QUOTAS_MICROVERSION)
+ utils.check_skip_if_microversion_not_supported(
+ SHARE_REPLICA_QUOTAS_MICROVERSION)
def _modify_quotas_for_test(self, quota_key, new_limit):
kwargs = {quota_key: new_limit}
diff --git a/manila_tempest_tests/tests/api/admin/test_replication.py b/manila_tempest_tests/tests/api/admin/test_replication.py
index 6d5b40c..1658237 100644
--- a/manila_tempest_tests/tests/api/admin/test_replication.py
+++ b/manila_tempest_tests/tests/api/admin/test_replication.py
@@ -38,7 +38,8 @@
if not CONF.share.run_replication_tests:
raise cls.skipException('Replication tests are disabled.')
- utils.check_skip_if_microversion_lt(_MIN_SUPPORTED_MICROVERSION)
+ utils.check_skip_if_microversion_not_supported(
+ _MIN_SUPPORTED_MICROVERSION)
@classmethod
def resource_setup(cls):
@@ -90,7 +91,7 @@
LATEST_MICROVERSION]))
def test_promote_out_of_sync_share_replica(self, version):
"""Test promote 'out_of_sync' share replica to active state."""
- utils.skip_if_microversion_not_supported(version)
+ utils.check_skip_if_microversion_not_supported(version)
if (self.replication_type
not in constants.REPLICATION_PROMOTION_CHOICES):
msg = "Option backend_replication_type should be one of (%s)!"
@@ -153,7 +154,7 @@
LATEST_MICROVERSION]))
def test_force_delete_share_replica(self, version):
"""Test force deleting a replica that is in 'error_deleting' status."""
- utils.skip_if_microversion_not_supported(version)
+ utils.check_skip_if_microversion_not_supported(version)
replica = self.create_share_replica(self.share['id'],
self.replica_zone,
cleanup_in_class=False,
@@ -176,7 +177,7 @@
LATEST_MICROVERSION]))
def test_reset_share_replica_status(self, version):
"""Test resetting a replica's 'status' attribute."""
- utils.skip_if_microversion_not_supported(version)
+ utils.check_skip_if_microversion_not_supported(version)
replica = self.create_share_replica(self.share['id'],
self.replica_zone,
cleanup_in_class=False,
@@ -197,7 +198,7 @@
LATEST_MICROVERSION]))
def test_reset_share_replica_state(self, version):
"""Test resetting a replica's 'replica_state' attribute."""
- utils.skip_if_microversion_not_supported(version)
+ utils.check_skip_if_microversion_not_supported(version)
replica = self.create_share_replica(self.share['id'],
self.replica_zone,
cleanup_in_class=False,
@@ -218,7 +219,7 @@
LATEST_MICROVERSION]))
def test_resync_share_replica(self, version):
"""Test resyncing a replica."""
- utils.skip_if_microversion_not_supported(version)
+ utils.check_skip_if_microversion_not_supported(version)
replica = self.create_share_replica(self.share['id'],
self.replica_zone,
cleanup_in_class=False,
diff --git a/manila_tempest_tests/tests/api/admin/test_replication_actions.py b/manila_tempest_tests/tests/api/admin/test_replication_actions.py
index 9a3af60..1c879b2 100644
--- a/manila_tempest_tests/tests/api/admin/test_replication_actions.py
+++ b/manila_tempest_tests/tests/api/admin/test_replication_actions.py
@@ -37,7 +37,8 @@
raise cls.skipException(
'Only for driver_handles_share_servers = False driver mode.')
- utils.check_skip_if_microversion_lt(_MIN_SUPPORTED_MICROVERSION)
+ utils.check_skip_if_microversion_not_supported(
+ _MIN_SUPPORTED_MICROVERSION)
@classmethod
def resource_setup(cls):
@@ -55,6 +56,8 @@
# create share type
extra_specs = {"replication_type": cls.replication_type}
+ if CONF.share.capability_snapshot_support:
+ extra_specs.update({"snapshot_support": True})
cls.share_type = cls._create_share_type(specs=extra_specs)
cls.share_type_id = cls.share_type['id']
diff --git a/manila_tempest_tests/tests/api/admin/test_share_group_types.py b/manila_tempest_tests/tests/api/admin/test_share_group_types.py
index 56d1881..3a0fb2b 100644
--- a/manila_tempest_tests/tests/api/admin/test_share_group_types.py
+++ b/manila_tempest_tests/tests/api/admin/test_share_group_types.py
@@ -40,7 +40,7 @@
if not CONF.share.run_share_group_tests:
raise cls.skipException('Share Group tests disabled.')
- utils.check_skip_if_microversion_lt(
+ utils.check_skip_if_microversion_not_supported(
constants.MIN_SHARE_GROUP_MICROVERSION)
@classmethod
@@ -65,7 +65,7 @@
constants.SHARE_GROUPS_GRADUATION_VERSION])))
@ddt.unpack
def test_create_get_delete_share_group_type(self, st_key, version):
- utils.skip_if_microversion_not_supported(version)
+ utils.check_skip_if_microversion_not_supported(version)
name = data_utils.rand_name("tempest-manila")
# Create share group type
@@ -151,7 +151,7 @@
constants.SHARE_GROUPS_GRADUATION_VERSION,
LATEST_MICROVERSION]))
def test_update_single_share_group_type_spec(self, version):
- utils.skip_if_microversion_not_supported(version)
+ utils.check_skip_if_microversion_not_supported(version)
name = data_utils.rand_name("tempest-manila")
group_specs = {'key1': 'value1', 'key2': 'value2'}
@@ -207,7 +207,7 @@
constants.SHARE_GROUPS_GRADUATION_VERSION,
LATEST_MICROVERSION]))
def test_delete_single_share_group_type_spec_min(self, version):
- utils.skip_if_microversion_not_supported(version)
+ utils.check_skip_if_microversion_not_supported(version)
name = data_utils.rand_name("tempest-manila")
group_specs = {'key1': 'value1', 'key2': 'value2'}
@@ -237,7 +237,7 @@
constants.SHARE_GROUPS_GRADUATION_VERSION,
LATEST_MICROVERSION]))
def test_private_share_group_type_access(self, version):
- utils.skip_if_microversion_not_supported(version)
+ utils.check_skip_if_microversion_not_supported(version)
name = data_utils.rand_name("tempest-manila")
group_specs = {"key1": "value1", "key2": "value2"}
project_id = self.shares_v2_client.tenant_id
@@ -297,7 +297,7 @@
@ddt.data(*utils.deduplicate(('2.45', '2.46', LATEST_MICROVERSION)))
def test_share_group_type_create_show_list_with_is_default_key(self,
version):
- utils.skip_if_microversion_not_supported(version)
+ utils.check_skip_if_microversion_not_supported(version)
name = data_utils.rand_name("tempest-manila")
# Create share group type
diff --git a/manila_tempest_tests/tests/api/admin/test_share_group_types_negative.py b/manila_tempest_tests/tests/api/admin/test_share_group_types_negative.py
index 30ab384..7bc5b51 100644
--- a/manila_tempest_tests/tests/api/admin/test_share_group_types_negative.py
+++ b/manila_tempest_tests/tests/api/admin/test_share_group_types_negative.py
@@ -31,7 +31,7 @@
if not CONF.share.run_share_group_tests:
raise cls.skipException('Share Group tests disabled.')
- utils.check_skip_if_microversion_lt(
+ utils.check_skip_if_microversion_not_supported(
constants.MIN_SHARE_GROUP_MICROVERSION)
@classmethod
diff --git a/manila_tempest_tests/tests/api/admin/test_share_groups.py b/manila_tempest_tests/tests/api/admin/test_share_groups.py
index a2724b9..216409f 100644
--- a/manila_tempest_tests/tests/api/admin/test_share_groups.py
+++ b/manila_tempest_tests/tests/api/admin/test_share_groups.py
@@ -38,17 +38,19 @@
if not CONF.share.run_share_group_tests:
raise cls.skipException('Share Group tests disabled.')
- utils.check_skip_if_microversion_lt(
+ utils.check_skip_if_microversion_not_supported(
constants.MIN_SHARE_GROUP_MICROVERSION)
@classmethod
def resource_setup(cls):
super(ShareGroupsTest, cls).resource_setup()
# Create 2 share_types
- cls.share_type = cls._create_share_type()
+ extra_specs = {}
+ if CONF.share.capability_snapshot_support:
+ extra_specs.update({'snapshot_support': True})
+ cls.share_type = cls._create_share_type(specs=extra_specs)
cls.share_type_id = cls.share_type['id']
-
- cls.share_type2 = cls._create_share_type()
+ cls.share_type2 = cls._create_share_type(specs=extra_specs)
cls.share_type_id2 = cls.share_type2['id']
# Create a share group type
@@ -67,7 +69,7 @@
constants.SHARE_GROUPS_GRADUATION_VERSION,
LATEST_MICROVERSION]))
def test_create_share_group_with_single_share_type_min(self, version):
- utils.skip_if_microversion_not_supported(version)
+ utils.check_skip_if_microversion_not_supported(version)
share_group = self.create_share_group(
share_group_type_id=self.sg_type_id,
cleanup_in_class=False,
@@ -142,7 +144,7 @@
constants.SHARE_GROUPS_GRADUATION_VERSION,
LATEST_MICROVERSION]))
def test_default_share_group_type_applied(self, version):
- utils.skip_if_microversion_not_supported(version)
+ utils.check_skip_if_microversion_not_supported(version)
try:
default_type = self.shares_v2_client.get_default_share_group_type(
version=version
@@ -176,6 +178,8 @@
@decorators.idempotent_id('8ca1f0a0-2a36-4adb-af6b-6741b00307c5')
@testtools.skipUnless(
CONF.share.multitenancy_enabled, "Only for multitenancy.")
+ @testtools.skipUnless(
+ CONF.share.run_snapshot_tests, "Snapshot tests are disabled.")
@tc.attr(base.TAG_POSITIVE, base.TAG_API_WITH_BACKEND)
def test_create_sg_from_snapshot_verify_share_server_information_min(self):
# Create a share group
diff --git a/manila_tempest_tests/tests/api/admin/test_share_groups_negative.py b/manila_tempest_tests/tests/api/admin/test_share_groups_negative.py
index dd66559..115c0e6 100644
--- a/manila_tempest_tests/tests/api/admin/test_share_groups_negative.py
+++ b/manila_tempest_tests/tests/api/admin/test_share_groups_negative.py
@@ -34,23 +34,20 @@
if not CONF.share.run_share_group_tests:
raise cls.skipException('Share Group tests disabled.')
- utils.check_skip_if_microversion_lt(
+ utils.check_skip_if_microversion_not_supported(
constants.MIN_SHARE_GROUP_MICROVERSION)
@decorators.idempotent_id('b90537b7-634d-4fca-b451-770fbcca7927')
@tc.attr(base.TAG_NEGATIVE, base.TAG_API_WITH_BACKEND)
def test_create_share_group_with_wrong_consistent_snapshot_spec(self):
# Create valid share type for share group type
- name = data_utils.rand_name("tempest-manila")
- extra_specs = self.add_extra_specs_to_dict()
- st = self.create_share_type(name, extra_specs=extra_specs)
- share_type = st['share_type'] if 'share_type' in st else st
+ share_type = self._create_share_type(cleanup_in_class=False)
# Create share group type with wrong value for
# 'consistent_snapshot_support' capability, we always expect
# NoValidHostFound using this SG type.
sg_type = self.create_share_group_type(
- name=name,
+ name=data_utils.rand_name("tempest-manila"),
share_types=[share_type['id']],
group_specs={"consistent_snapshot_support": "fake"},
cleanup_in_class=False)
diff --git a/manila_tempest_tests/tests/api/admin/test_share_instances.py b/manila_tempest_tests/tests/api/admin/test_share_instances.py
index 0833298..b993ea8 100644
--- a/manila_tempest_tests/tests/api/admin/test_share_instances.py
+++ b/manila_tempest_tests/tests/api/admin/test_share_instances.py
@@ -70,7 +70,7 @@
@ddt.data('2.3', '2.9', '2.10', '2.30', '2.54')
def test_get_share_instance(self, version):
"""Test that we get the proper keys back for the instance."""
- utils.skip_if_microversion_not_supported(version)
+ utils.check_skip_if_microversion_not_supported(version)
share_instances = self.shares_v2_client.get_instances_of_share(
self.share['id'], version=version,
@@ -105,7 +105,7 @@
@ddt.data('path', 'id')
@decorators.idempotent_id('c27b415d-341c-42f0-a269-2c94f69fbee1')
@tc.attr(base.TAG_POSITIVE, base.TAG_API_WITH_BACKEND)
- @utils.skip_if_microversion_lt("2.35")
+ @utils.skip_if_microversion_not_supported("2.35")
def test_list_share_instances_with_export_location_path_and_id(
self, export_location_type):
share_instances_except = (
diff --git a/manila_tempest_tests/tests/api/admin/test_share_instances_negative.py b/manila_tempest_tests/tests/api/admin/test_share_instances_negative.py
index a01ffb2..30a83db 100644
--- a/manila_tempest_tests/tests/api/admin/test_share_instances_negative.py
+++ b/manila_tempest_tests/tests/api/admin/test_share_instances_negative.py
@@ -49,7 +49,7 @@
@decorators.idempotent_id('ce0d045c-e418-42fa-86e4-ead493fc0663')
@tc.attr(base.TAG_NEGATIVE, base.TAG_API_WITH_BACKEND)
- @utils.skip_if_microversion_lt("2.35")
+ @utils.skip_if_microversion_not_supported("2.35")
@ddt.data('path', 'id')
def test_list_share_instances_with_export_location_not_exist(
self, export_location_type):
diff --git a/manila_tempest_tests/tests/api/admin/test_share_servers_manage.py b/manila_tempest_tests/tests/api/admin/test_share_servers_manage.py
index fa9966e..4db370d 100644
--- a/manila_tempest_tests/tests/api/admin/test_share_servers_manage.py
+++ b/manila_tempest_tests/tests/api/admin/test_share_servers_manage.py
@@ -37,7 +37,7 @@
if not CONF.share.run_manage_unmanage_tests:
raise cls.skipException('Manage/unmanage tests are disabled.')
- utils.check_skip_if_microversion_lt('2.49')
+ utils.check_skip_if_microversion_not_supported('2.49')
@classmethod
def resource_setup(cls):
diff --git a/manila_tempest_tests/tests/api/admin/test_share_servers_manage_negative.py b/manila_tempest_tests/tests/api/admin/test_share_servers_manage_negative.py
index 3b2db49..7673b47 100644
--- a/manila_tempest_tests/tests/api/admin/test_share_servers_manage_negative.py
+++ b/manila_tempest_tests/tests/api/admin/test_share_servers_manage_negative.py
@@ -42,7 +42,7 @@
if not CONF.share.run_manage_unmanage_tests:
raise cls.skipException('Manage/unmanage tests are disabled.')
- utils.check_skip_if_microversion_lt('2.49')
+ utils.check_skip_if_microversion_not_supported('2.49')
@classmethod
def resource_setup(cls):
diff --git a/manila_tempest_tests/tests/api/admin/test_share_servers_migration.py b/manila_tempest_tests/tests/api/admin/test_share_servers_migration.py
index ba774d3..46f7fdc 100644
--- a/manila_tempest_tests/tests/api/admin/test_share_servers_migration.py
+++ b/manila_tempest_tests/tests/api/admin/test_share_servers_migration.py
@@ -40,7 +40,7 @@
if not CONF.share.run_share_server_migration_tests:
raise cls.skipException(
'Share server migration tests are disabled.')
- utils.check_skip_if_microversion_lt('2.57')
+ utils.check_skip_if_microversion_not_supported('2.57')
@classmethod
def resource_setup(cls):
@@ -57,7 +57,10 @@
raise cls.skipException(msg)
# create share type (generic)
- cls.share_type = cls._create_share_type()
+ extra_specs = {}
+ if CONF.share.capability_snapshot_support:
+ extra_specs.update({'snapshot_support': True})
+ cls.share_type = cls._create_share_type(specs=extra_specs)
# create two non routable IPs to be used in NFS access rulesi
cls.access_rules_ip_rw = utils.rand_ip()
diff --git a/manila_tempest_tests/tests/api/admin/test_share_snapshot_instances.py b/manila_tempest_tests/tests/api/admin/test_share_snapshot_instances.py
index 0aec375..477135e 100644
--- a/manila_tempest_tests/tests/api/admin/test_share_snapshot_instances.py
+++ b/manila_tempest_tests/tests/api/admin/test_share_snapshot_instances.py
@@ -34,13 +34,14 @@
if not CONF.share.run_snapshot_tests:
raise cls.skipException('Snapshot tests are disabled.')
- utils.check_skip_if_microversion_lt("2.19")
+ utils.check_skip_if_microversion_not_supported("2.19")
@classmethod
def resource_setup(cls):
super(ShareSnapshotInstancesTest, cls).resource_setup()
# create share type
- cls.share_type = cls._create_share_type()
+ extra_specs = {'snapshot_support': True}
+ cls.share_type = cls._create_share_type(specs=extra_specs)
cls.share_type_id = cls.share_type['id']
# create share
cls.share = cls.create_share(share_type_id=cls.share_type_id)
diff --git a/manila_tempest_tests/tests/api/admin/test_share_snapshot_instances_negative.py b/manila_tempest_tests/tests/api/admin/test_share_snapshot_instances_negative.py
index 730ce8b..3ba2217 100644
--- a/manila_tempest_tests/tests/api/admin/test_share_snapshot_instances_negative.py
+++ b/manila_tempest_tests/tests/api/admin/test_share_snapshot_instances_negative.py
@@ -32,7 +32,7 @@
if not CONF.share.run_snapshot_tests:
raise cls.skipException('Snapshot tests are disabled.')
- utils.check_skip_if_microversion_lt('2.19')
+ utils.check_skip_if_microversion_not_supported('2.19')
@classmethod
def resource_setup(cls):
@@ -40,7 +40,8 @@
cls.admin_client = cls.admin_shares_v2_client
cls.member_client = cls.shares_v2_client
# create share type
- cls.share_type = cls._create_share_type()
+ extra_specs = {'snapshot_support': True}
+ cls.share_type = cls._create_share_type(specs=extra_specs)
cls.share_type_id = cls.share_type['id']
# create share
cls.share = cls.create_share(share_type_id=cls.share_type_id,
@@ -86,7 +87,7 @@
if not CONF.share.run_snapshot_tests:
raise cls.skipException('Snapshot tests are disabled.')
- utils.check_skip_if_microversion_lt('2.19')
+ utils.check_skip_if_microversion_not_supported('2.19')
@classmethod
def resource_setup(cls):
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 560a41e..1bfb3c8 100644
--- a/manila_tempest_tests/tests/api/admin/test_share_types.py
+++ b/manila_tempest_tests/tests/api/admin/test_share_types.py
@@ -73,7 +73,7 @@
@tc.attr(base.TAG_POSITIVE, base.TAG_API)
@ddt.data('2.0', '2.6', '2.7', '2.40', '2.41')
def test_share_type_create_get(self, version):
- utils.skip_if_microversion_not_supported(version)
+ utils.check_skip_if_microversion_not_supported(version)
name = data_utils.rand_name("tempest-manila")
description = None
@@ -93,16 +93,24 @@
# Get share type
get = self.shares_v2_client.get_share_type(st_id, version=version)
+
self.assertEqual(name, get["share_type"]["name"])
self.assertEqual(st_id, get["share_type"]["id"])
self._verify_description(description, get['share_type'], version)
+
+ if utils.is_microversion_lt(version, "2.24"):
+ # snapshot_support is an implied/required extra-spec until
+ # version 2.24, and the service assumes it to be True since we
+ # don't provide it during share type creation.
+ extra_specs.update({"snapshot_support": 'True'})
+
self.assertEqual(extra_specs, get["share_type"]["extra_specs"])
self._verify_is_public_key_name(get['share_type'], version)
# Check that backwards compatibility didn't break
self.assertDictMatch(get["volume_type"], get["share_type"])
- @utils.skip_if_microversion_lt("2.50")
+ @utils.skip_if_microversion_not_supported("2.50")
@decorators.idempotent_id('a9af19e1-e789-4c4f-a39b-dd8df6ed00b1')
@tc.attr(base.TAG_POSITIVE, base.TAG_API)
@ddt.data(
@@ -151,7 +159,7 @@
st_is_public,
updated_st["share_type"]["share_type_access:is_public"])
- @utils.skip_if_microversion_lt("2.50")
+ @utils.skip_if_microversion_not_supported("2.50")
@decorators.idempotent_id('9019dc61-b2b1-472d-9b15-a3986439d4c3')
@tc.attr(base.TAG_POSITIVE, base.TAG_API)
@ddt.data(
@@ -186,7 +194,7 @@
@tc.attr(base.TAG_POSITIVE, base.TAG_API)
@ddt.data('2.0', '2.6', '2.7', '2.40', '2.41')
def test_share_type_create_list(self, version):
- utils.skip_if_microversion_not_supported(version)
+ utils.check_skip_if_microversion_not_supported(version)
name = data_utils.rand_name("tempest-manila")
description = None
@@ -300,7 +308,7 @@
@tc.attr(base.TAG_POSITIVE, base.TAG_API)
@ddt.data(*utils.deduplicate(('2.45', '2.46', LATEST_MICROVERSION)))
def test_share_type_create_show_list_with_is_default_key(self, version):
- utils.skip_if_microversion_not_supported(version)
+ utils.check_skip_if_microversion_not_supported(version)
name = data_utils.rand_name("tempest-manila")
extra_specs = self.add_extra_specs_to_dict()
diff --git a/manila_tempest_tests/tests/api/admin/test_share_types_extra_specs.py b/manila_tempest_tests/tests/api/admin/test_share_types_extra_specs.py
index 7d94157..5bf8e91 100644
--- a/manila_tempest_tests/tests/api/admin/test_share_types_extra_specs.py
+++ b/manila_tempest_tests/tests/api/admin/test_share_types_extra_specs.py
@@ -128,12 +128,25 @@
@tc.attr(base.TAG_POSITIVE, base.TAG_API)
@ddt.data(*utils.deduplicate(['2.24', LATEST_MICROVERSION]))
def test_delete_snapshot_support_extra_spec(self, version):
- utils.skip_if_microversion_not_supported(version)
- # Delete one extra spec for share type
+ """Is snapshot_support really an optional extra-spec if API > v2.24?"""
+ utils.check_skip_if_microversion_not_supported(version)
+
+ # set snapshot_support extra-spec
+ self.shares_v2_client.update_share_type_extra_specs(
+ self.st_id, {'snapshot_support': 'True'})
+
+ # Get extra specs
+ share_type_extra_specs = self.shares_client.get_share_type_extra_specs(
+ self.st_id)
+
+ self.assertIn('snapshot_support', share_type_extra_specs)
+ self.assertEqual('True', share_type_extra_specs['snapshot_support'])
+
+ # Delete the 'snapshot_support' extra spec from the share type
self.shares_v2_client.delete_share_type_extra_spec(
self.st_id, 'snapshot_support', version=version)
- # Get metadata
+ # Get extra specs
share_type_extra_specs = self.shares_client.get_share_type_extra_specs(
self.st_id)
diff --git a/manila_tempest_tests/tests/api/admin/test_share_types_extra_specs_negative.py b/manila_tempest_tests/tests/api/admin/test_share_types_extra_specs_negative.py
index 9a94edf..c6ee2bf 100644
--- a/manila_tempest_tests/tests/api/admin/test_share_types_extra_specs_negative.py
+++ b/manila_tempest_tests/tests/api/admin/test_share_types_extra_specs_negative.py
@@ -336,7 +336,7 @@
@tc.attr(base.TAG_NEGATIVE, base.TAG_API)
@ddt.data('2.0', '2.23')
def test_try_delete_required_spec_snapshot_support_version(self, version):
- utils.skip_if_microversion_not_supported(version)
+ utils.check_skip_if_microversion_not_supported(version)
st = self._create_share_type()
# Try delete extra spec 'snapshot_support'
self.assertRaises(
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 e7a5c4d..fe20c48 100644
--- a/manila_tempest_tests/tests/api/admin/test_shares_actions.py
+++ b/manila_tempest_tests/tests/api/admin/test_shares_actions.py
@@ -38,6 +38,10 @@
# create share type for share filtering purposes
specs = {"storage_protocol": CONF.share.capability_storage_protocol}
+ if CONF.share.capability_snapshot_support:
+ specs.update({'snapshot_support': True})
+ if CONF.share.capability_create_share_from_snapshot_support:
+ specs.update({'create_share_from_snapshot_support': True})
cls.share_type = cls._create_share_type(specs=specs)
cls.share_type_id = cls.share_type['id']
@@ -243,7 +247,7 @@
for share in shares:
self.assertEqual(filters['host'], share['host'])
- @utils.skip_if_microversion_lt("2.35")
+ @utils.skip_if_microversion_not_supported("2.35")
@ddt.data(('path', True), ('id', True), ('path', False), ('id', False))
@ddt.unpack
@decorators.idempotent_id('a27e5e3f-451f-4200-af38-99a562ccbe86')
diff --git a/manila_tempest_tests/tests/api/admin/test_snapshot_export_locations.py b/manila_tempest_tests/tests/api/admin/test_snapshot_export_locations.py
index 0d27e21..ef3ed17 100644
--- a/manila_tempest_tests/tests/api/admin/test_snapshot_export_locations.py
+++ b/manila_tempest_tests/tests/api/admin/test_snapshot_export_locations.py
@@ -38,7 +38,7 @@
if not CONF.share.run_mount_snapshot_tests:
raise cls.skipException('Mountable snapshots tests are disabled.')
- utils.check_skip_if_microversion_lt("2.32")
+ utils.check_skip_if_microversion_not_supported("2.32")
@classmethod
def setup_clients(cls):
@@ -49,7 +49,11 @@
def resource_setup(cls):
super(SnapshotExportLocationsTest, cls).resource_setup()
# create share type
- cls.share_type = cls._create_share_type()
+ extra_specs = {
+ 'snapshot_support': True,
+ 'mount_snapshot_support': True,
+ }
+ cls.share_type = cls._create_share_type(specs=extra_specs)
cls.share_type_id = cls.share_type['id']
# create share
cls.share = cls.create_share(share_type_id=cls.share_type_id,
diff --git a/manila_tempest_tests/tests/api/admin/test_snapshot_export_locations_negative.py b/manila_tempest_tests/tests/api/admin/test_snapshot_export_locations_negative.py
index 2c3a8c7..bb1d48d 100644
--- a/manila_tempest_tests/tests/api/admin/test_snapshot_export_locations_negative.py
+++ b/manila_tempest_tests/tests/api/admin/test_snapshot_export_locations_negative.py
@@ -34,7 +34,7 @@
if not CONF.share.run_mount_snapshot_tests:
raise cls.skipException('Mountable snapshots tests are disabled.')
- utils.check_skip_if_microversion_lt("2.32")
+ utils.check_skip_if_microversion_not_supported("2.32")
@classmethod
def setup_clients(cls):
@@ -46,7 +46,11 @@
def resource_setup(cls):
super(SnapshotExportLocationsNegativeTest, cls).resource_setup()
# create share type
- cls.share_type = cls._create_share_type()
+ extra_specs = {
+ 'snapshot_support': True,
+ 'mount_snapshot_support': True,
+ }
+ cls.share_type = cls._create_share_type(specs=extra_specs)
cls.share_type_id = cls.share_type['id']
# create share
cls.share = cls.create_share(share_type_id=cls.share_type_id,
@@ -129,7 +133,7 @@
if not CONF.share.run_mount_snapshot_tests:
raise cls.skipException('Mountable snapshots tests are disabled.')
- utils.check_skip_if_microversion_lt('2.32')
+ utils.check_skip_if_microversion_not_supported('2.32')
@classmethod
def setup_clients(cls):
diff --git a/manila_tempest_tests/tests/api/admin/test_snapshot_manage.py b/manila_tempest_tests/tests/api/admin/test_snapshot_manage.py
index 15bd0f6..5ea3f92 100644
--- a/manila_tempest_tests/tests/api/admin/test_snapshot_manage.py
+++ b/manila_tempest_tests/tests/api/admin/test_snapshot_manage.py
@@ -46,7 +46,7 @@
message = "%s tests are disabled" % cls.protocol
raise cls.skipException(message)
- utils.check_skip_if_microversion_lt('2.12')
+ utils.check_skip_if_microversion_not_supported('2.12')
utils.skip_if_manage_not_supported_for_version()
@classmethod
@@ -145,7 +145,7 @@
utils.skip_if_manage_not_supported_for_version(version)
# Skip in case specified version is not supported
- utils.skip_if_microversion_not_supported(version)
+ utils.check_skip_if_microversion_not_supported(version)
snap_name = data_utils.rand_name("tempest-snapshot-name")
snap_desc = data_utils.rand_name("tempest-snapshot-description")
diff --git a/manila_tempest_tests/tests/api/admin/test_snapshot_manage_negative.py b/manila_tempest_tests/tests/api/admin/test_snapshot_manage_negative.py
index 9d6c8e5..eb7448d 100644
--- a/manila_tempest_tests/tests/api/admin/test_snapshot_manage_negative.py
+++ b/manila_tempest_tests/tests/api/admin/test_snapshot_manage_negative.py
@@ -33,7 +33,7 @@
protocol = 'nfs'
@classmethod
- @utils.skip_if_microversion_lt("2.12")
+ @utils.skip_if_microversion_not_supported("2.12")
@testtools.skipUnless(
CONF.share.run_manage_unmanage_snapshot_tests,
"Manage/unmanage snapshot tests are disabled.")
diff --git a/manila_tempest_tests/tests/api/admin/test_user_messages.py b/manila_tempest_tests/tests/api/admin/test_user_messages.py
index 81ccd8a..1aeb5a5 100644
--- a/manila_tempest_tests/tests/api/admin/test_user_messages.py
+++ b/manila_tempest_tests/tests/api/admin/test_user_messages.py
@@ -45,7 +45,7 @@
@classmethod
def skip_checks(cls):
super(UserMessageTest, cls).skip_checks()
- utils.check_skip_if_microversion_lt(MICROVERSION)
+ utils.check_skip_if_microversion_not_supported(MICROVERSION)
def setUp(self):
super(UserMessageTest, self).setUp()
diff --git a/manila_tempest_tests/tests/api/admin/test_user_messages_negative.py b/manila_tempest_tests/tests/api/admin/test_user_messages_negative.py
index a1ad386..197b883 100644
--- a/manila_tempest_tests/tests/api/admin/test_user_messages_negative.py
+++ b/manila_tempest_tests/tests/api/admin/test_user_messages_negative.py
@@ -29,7 +29,7 @@
@classmethod
def skip_checks(cls):
super(UserMessageNegativeTest, cls).skip_checks()
- utils.check_skip_if_microversion_lt(MICROVERSION)
+ utils.check_skip_if_microversion_not_supported(MICROVERSION)
def setUp(self):
super(UserMessageNegativeTest, self).setUp()
diff --git a/manila_tempest_tests/tests/api/base.py b/manila_tempest_tests/tests/api/base.py
index dbcb1ff..73ad104 100755
--- a/manila_tempest_tests/tests/api/base.py
+++ b/manila_tempest_tests/tests/api/base.py
@@ -94,10 +94,6 @@
return True # Suppress error if any
-skip_if_microversion_not_supported = utils.skip_if_microversion_not_supported
-skip_if_microversion_lt = utils.skip_if_microversion_lt
-
-
class BaseSharesTest(test.BaseTestCase):
"""Base test case class for all Manila API tests."""
@@ -856,26 +852,9 @@
def add_extra_specs_to_dict(extra_specs=None):
"""Add any required extra-specs to share type dictionary"""
dhss = six.text_type(CONF.share.multitenancy_enabled)
- snapshot_support = six.text_type(
- CONF.share.capability_snapshot_support)
- create_from_snapshot_support = six.text_type(
- CONF.share.capability_create_share_from_snapshot_support)
-
- extra_specs_dict = {
- "driver_handles_share_servers": dhss,
- }
-
- optional = {
- "snapshot_support": snapshot_support,
- "create_share_from_snapshot_support": create_from_snapshot_support,
- }
- # NOTE(gouthamr): In micro-versions < 2.24, snapshot_support is a
- # required extra-spec
- extra_specs_dict.update(optional)
-
+ extra_specs_dict = {"driver_handles_share_servers": dhss}
if extra_specs:
extra_specs_dict.update(extra_specs)
-
return extra_specs_dict
@classmethod
@@ -1115,12 +1094,14 @@
cls.admin_shares_v2_client = cls.os_admin.share_v2.SharesV2Client()
@classmethod
- def _create_share_type(cls, is_public=True, specs=None):
+ def _create_share_type(cls, is_public=True, specs=None,
+ cleanup_in_class=True):
name = data_utils.rand_name("unique_st_name")
extra_specs = cls.add_extra_specs_to_dict(specs)
return cls.create_share_type(
name, extra_specs=extra_specs, is_public=is_public,
- client=cls.admin_shares_v2_client)['share_type']
+ client=cls.admin_shares_v2_client,
+ cleanup_in_class=cleanup_in_class)['share_type']
@classmethod
def _create_share_group_type(cls):
@@ -1312,12 +1293,14 @@
return os
@classmethod
- def _create_share_type(cls, is_public=True, specs=None):
+ def _create_share_type(cls, is_public=True, specs=None,
+ cleanup_in_class=True):
name = data_utils.rand_name("unique_st_name")
extra_specs = cls.add_extra_specs_to_dict(specs)
return cls.create_share_type(
name, extra_specs=extra_specs, is_public=is_public,
- client=cls.admin_shares_v2_client)['share_type']
+ client=cls.admin_shares_v2_client,
+ cleanup_in_class=cleanup_in_class)['share_type']
@classmethod
def _create_share_group_type(cls):
diff --git a/manila_tempest_tests/tests/api/test_access_rules_metadata.py b/manila_tempest_tests/tests/api/test_access_rules_metadata.py
index 9913fc8..b3c6574 100644
--- a/manila_tempest_tests/tests/api/test_access_rules_metadata.py
+++ b/manila_tempest_tests/tests/api/test_access_rules_metadata.py
@@ -48,7 +48,7 @@
cls.message = "Rule tests are disabled"
raise cls.skipException(cls.message)
- utils.check_skip_if_microversion_lt(
+ utils.check_skip_if_microversion_not_supported(
constants.MIN_SHARE_ACCESS_METADATA_MICROVERSION)
@classmethod
diff --git a/manila_tempest_tests/tests/api/test_access_rules_metadata_negative.py b/manila_tempest_tests/tests/api/test_access_rules_metadata_negative.py
index 2c11a26..3ec46ac 100644
--- a/manila_tempest_tests/tests/api/test_access_rules_metadata_negative.py
+++ b/manila_tempest_tests/tests/api/test_access_rules_metadata_negative.py
@@ -49,7 +49,7 @@
cls.message = "Rule tests are disabled"
raise cls.skipException(cls.message)
- utils.check_skip_if_microversion_lt(
+ utils.check_skip_if_microversion_not_supported(
constants.MIN_SHARE_ACCESS_METADATA_MICROVERSION)
@classmethod
diff --git a/manila_tempest_tests/tests/api/test_quotas.py b/manila_tempest_tests/tests/api/test_quotas.py
index 1052cd5..3921e38 100644
--- a/manila_tempest_tests/tests/api/test_quotas.py
+++ b/manila_tempest_tests/tests/api/test_quotas.py
@@ -99,7 +99,7 @@
@decorators.idempotent_id('795614f6-4a18-47d5-b817-0b294e9d4c48')
@tc.attr(base.TAG_POSITIVE, base.TAG_API)
def test_show_quotas_detail(self, microversion, with_user):
- utils.skip_if_microversion_not_supported(microversion)
+ utils.check_skip_if_microversion_not_supported(microversion)
quota_args = {"tenant_id": self.tenant_id, "version": microversion, }
keys = ['gigabytes', 'snapshot_gigabytes', 'shares',
'snapshots', 'share_networks']
diff --git a/manila_tempest_tests/tests/api/test_replication.py b/manila_tempest_tests/tests/api/test_replication.py
index 881262f..bf9a6e4 100644
--- a/manila_tempest_tests/tests/api/test_replication.py
+++ b/manila_tempest_tests/tests/api/test_replication.py
@@ -40,7 +40,8 @@
if not CONF.share.run_replication_tests:
raise cls.skipException('Replication tests are disabled.')
- utils.check_skip_if_microversion_lt(_MIN_SUPPORTED_MICROVERSION)
+ utils.check_skip_if_microversion_not_supported(
+ _MIN_SUPPORTED_MICROVERSION)
@classmethod
def resource_setup(cls):
@@ -380,7 +381,8 @@
if not CONF.share.run_replication_tests:
raise cls.skipException('Replication tests are disabled.')
- utils.check_skip_if_microversion_lt(_MIN_SUPPORTED_MICROVERSION)
+ utils.check_skip_if_microversion_not_supported(
+ _MIN_SUPPORTED_MICROVERSION)
@classmethod
def resource_setup(cls):
diff --git a/manila_tempest_tests/tests/api/test_replication_export_locations.py b/manila_tempest_tests/tests/api/test_replication_export_locations.py
index 1b52a7a..7d1b4e7 100644
--- a/manila_tempest_tests/tests/api/test_replication_export_locations.py
+++ b/manila_tempest_tests/tests/api/test_replication_export_locations.py
@@ -125,7 +125,7 @@
@ddt.data(*utils.deduplicate(['2.46', '2.47', LATEST_MICROVERSION]))
def test_replicated_share_export_locations(self, version):
"""Test behavior changes in the share export locations API at 2.47"""
- utils.skip_if_microversion_not_supported(version)
+ utils.check_skip_if_microversion_not_supported(version)
share, replica, primary_replica_exports, replica_exports = (
self._create_share_and_replica_get_exports()
)
@@ -146,7 +146,7 @@
(constants.REPLICATION_STYLE_READABLE, constants.REPLICATION_STYLE_DR),
'Promotion of secondary not supported in writable replication style.')
def test_replicated_share_export_locations_with_promotion(self, version):
- utils.skip_if_microversion_not_supported(version)
+ utils.check_skip_if_microversion_not_supported(version)
share, replica, primary_replica_exports, replica_exports = (
self._create_share_and_replica_get_exports(cleanup_replica=False)
)
diff --git a/manila_tempest_tests/tests/api/test_replication_negative.py b/manila_tempest_tests/tests/api/test_replication_negative.py
index eac1999..a7f1a59 100644
--- a/manila_tempest_tests/tests/api/test_replication_negative.py
+++ b/manila_tempest_tests/tests/api/test_replication_negative.py
@@ -37,7 +37,8 @@
if not CONF.share.run_replication_tests:
raise cls.skipException('Replication tests are disabled.')
- utils.check_skip_if_microversion_lt(_MIN_SUPPORTED_MICROVERSION)
+ utils.check_skip_if_microversion_not_supported(
+ _MIN_SUPPORTED_MICROVERSION)
@classmethod
def resource_setup(cls):
@@ -207,7 +208,7 @@
CONF.share.run_driver_assisted_migration_tests,
"Share migration tests are disabled.")
@tc.attr(base.TAG_NEGATIVE, base.TAG_API_WITH_BACKEND)
- @utils.skip_if_microversion_lt("2.29")
+ @utils.skip_if_microversion_not_supported("2.29")
def test_migration_of_replicated_share(self):
pools = self.admin_client.list_pools(detail=True)['pools']
hosts = [p['name'] for p in pools]
@@ -226,7 +227,7 @@
@decorators.idempotent_id('bf01bcfc-57cb-4e56-957f-8aa9f1b9be1b')
@tc.attr(base.TAG_NEGATIVE, base.TAG_API_WITH_BACKEND)
- @utils.skip_if_microversion_lt("2.48")
+ @utils.skip_if_microversion_not_supported("2.48")
def test_try_add_replica_share_type_azs_unsupported_az(self):
self.admin_shares_v2_client.update_share_type_extra_spec(
self.share_type['id'], 'availability_zones', 'non-existent az')
@@ -242,7 +243,7 @@
@tc.attr(base.TAG_NEGATIVE, base.TAG_API_WITH_BACKEND)
@testtools.skipIf(
not CONF.share.multitenancy_enabled, "Only for multitenancy.")
- @utils.skip_if_microversion_lt("2.51")
+ @utils.skip_if_microversion_not_supported("2.51")
def test_try_add_replica_nonexistent_subnet(self):
# Create a new share network only for a specific az
data = self.generate_share_network_data()
@@ -268,7 +269,8 @@
if not CONF.share.run_replication_tests:
raise cls.skipException('Replication tests are disabled.')
- utils.check_skip_if_microversion_lt(_MIN_SUPPORTED_MICROVERSION)
+ utils.check_skip_if_microversion_not_supported(
+ _MIN_SUPPORTED_MICROVERSION)
@decorators.idempotent_id('72395c9b-4432-4a8b-84b4-60303e6bc962')
@tc.attr(base.TAG_NEGATIVE, base.TAG_API)
diff --git a/manila_tempest_tests/tests/api/test_replication_snapshots.py b/manila_tempest_tests/tests/api/test_replication_snapshots.py
index a150419..f45425e 100644
--- a/manila_tempest_tests/tests/api/test_replication_snapshots.py
+++ b/manila_tempest_tests/tests/api/test_replication_snapshots.py
@@ -38,7 +38,8 @@
if not CONF.share.run_snapshot_tests:
raise cls.skipException('Snapshot tests disabled.')
- utils.check_skip_if_microversion_lt(_MIN_SUPPORTED_MICROVERSION)
+ utils.check_skip_if_microversion_not_supported(
+ _MIN_SUPPORTED_MICROVERSION)
@classmethod
def resource_setup(cls):
@@ -54,7 +55,14 @@
)
# create share type
- extra_specs = {"replication_type": cls.replication_type}
+ extra_specs = {
+ "replication_type": cls.replication_type,
+ "snapshot_support": True,
+ }
+ if CONF.share.capability_create_share_from_snapshot_support:
+ extra_specs.update({
+ "create_share_from_snapshot_support": True,
+ })
cls.share_type = cls._create_share_type(specs=extra_specs)
cls.share_type_id = cls.share_type['id']
cls.sn_id = None
diff --git a/manila_tempest_tests/tests/api/test_revert_to_snapshot.py b/manila_tempest_tests/tests/api/test_revert_to_snapshot.py
index 4e7d0ca..d0be9ce 100644
--- a/manila_tempest_tests/tests/api/test_revert_to_snapshot.py
+++ b/manila_tempest_tests/tests/api/test_revert_to_snapshot.py
@@ -63,7 +63,10 @@
raise cls.skipException(msg)
cls.share_type_name = data_utils.rand_name("share-type")
- extra_specs = {constants.REVERT_TO_SNAPSHOT_SUPPORT: True}
+ extra_specs = {
+ "snapshot_support": True,
+ constants.REVERT_TO_SNAPSHOT_SUPPORT: True,
+ }
cls.revert_enabled_extra_specs = cls.add_extra_specs_to_dict(
extra_specs=extra_specs)
@@ -86,6 +89,7 @@
)
extra_specs = cls.add_extra_specs_to_dict({
"replication_type": cls.replication_type,
+ "snapshot_support": True,
constants.REVERT_TO_SNAPSHOT_SUPPORT: True,
})
share_type = cls.create_share_type(
diff --git a/manila_tempest_tests/tests/api/test_revert_to_snapshot_negative.py b/manila_tempest_tests/tests/api/test_revert_to_snapshot_negative.py
index bc01f00..d04b2e3 100644
--- a/manila_tempest_tests/tests/api/test_revert_to_snapshot_negative.py
+++ b/manila_tempest_tests/tests/api/test_revert_to_snapshot_negative.py
@@ -60,7 +60,10 @@
raise cls.skipException(msg)
cls.share_type_name = data_utils.rand_name("share-type")
- extra_specs = {constants.REVERT_TO_SNAPSHOT_SUPPORT: True}
+ extra_specs = {
+ "snapshot_support": True,
+ constants.REVERT_TO_SNAPSHOT_SUPPORT: True
+ }
cls.revert_enabled_extra_specs = cls.add_extra_specs_to_dict(
extra_specs=extra_specs)
diff --git a/manila_tempest_tests/tests/api/test_rules.py b/manila_tempest_tests/tests/api/test_rules.py
index 18e8472..2d748e2 100644
--- a/manila_tempest_tests/tests/api/test_rules.py
+++ b/manila_tempest_tests/tests/api/test_rules.py
@@ -595,7 +595,7 @@
@ddt.data(*utils.deduplicate(
['1.0', '2.9', '2.27', '2.28', '2.45', LATEST_MICROVERSION]))
def test_list_access_rules(self, version):
- utils.skip_if_microversion_not_supported(version)
+ utils.check_skip_if_microversion_not_supported(version)
if (utils.is_microversion_lt(version, '2.13') and
CONF.share.enable_cephx_rules_for_protocols):
msg = ("API version %s does not support cephx access type, need "
diff --git a/manila_tempest_tests/tests/api/test_rules_negative.py b/manila_tempest_tests/tests/api/test_rules_negative.py
index fd736a3..972cb97 100644
--- a/manila_tempest_tests/tests/api/test_rules_negative.py
+++ b/manila_tempest_tests/tests/api/test_rules_negative.py
@@ -48,7 +48,10 @@
cls.admin_client = cls.admin_shares_v2_client
# create share_type
- cls.share_type = cls._create_share_type()
+ extra_specs = None
+ if CONF.share.run_snapshot_tests:
+ extra_specs = {'snapshot_support': True}
+ cls.share_type = cls._create_share_type(specs=extra_specs)
cls.share_type_id = cls.share_type['id']
# create share
cls.share = cls.create_share(cls.protocol,
@@ -213,7 +216,10 @@
msg = "USER rule tests for %s protocol are disabled" % cls.protocol
raise cls.skipException(msg)
# create share type
- cls.share_type = cls._create_share_type()
+ extra_specs = None
+ if CONF.share.run_snapshot_tests:
+ extra_specs = {'snapshot_support': True}
+ cls.share_type = cls._create_share_type(specs=extra_specs)
cls.share_type_id = cls.share_type['id']
# create share
cls.share = cls.create_share(cls.protocol,
@@ -315,7 +321,10 @@
msg = "CERT rule tests for %s protocol are disabled" % cls.protocol
raise cls.skipException(msg)
# create share type
- cls.share_type = cls._create_share_type()
+ extra_specs = None
+ if CONF.share.run_snapshot_tests:
+ extra_specs = {'snapshot_support': True}
+ cls.share_type = cls._create_share_type(specs=extra_specs)
cls.share_type_id = cls.share_type['id']
# create share
cls.share = cls.create_share(cls.protocol,
@@ -501,7 +510,10 @@
def resource_setup(cls):
super(ShareRulesNegativeTest, cls).resource_setup()
# create share type
- cls.share_type = cls._create_share_type()
+ extra_specs = None
+ if CONF.share.run_snapshot_tests:
+ extra_specs = {'snapshot_support': True}
+ cls.share_type = cls._create_share_type(specs=extra_specs)
cls.share_type_id = cls.share_type['id']
# create share
cls.share = cls.create_share(share_type_id=cls.share_type_id)
diff --git a/manila_tempest_tests/tests/api/test_security_services.py b/manila_tempest_tests/tests/api/test_security_services.py
index 5755473..55ddfcd 100644
--- a/manila_tempest_tests/tests/api/test_security_services.py
+++ b/manila_tempest_tests/tests/api/test_security_services.py
@@ -48,7 +48,7 @@
@tc.attr(base.TAG_POSITIVE, base.TAG_API)
@ddt.data(*utils.deduplicate(['1.0', '2.42', '2.44', LATEST_MICROVERSION]))
def test_list_security_services_with_detail(self, version):
- utils.skip_if_microversion_not_supported(version)
+ utils.check_skip_if_microversion_not_supported(version)
with_ou = True if utils.is_microversion_ge(version, '2.44') else False
if utils.is_microversion_ge(version, '2.0'):
listed = self.shares_v2_client.list_security_services(
@@ -171,7 +171,7 @@
@tc.attr(base.TAG_POSITIVE, base.TAG_API)
@ddt.data(*utils.deduplicate(['1.0', '2.43', '2.44', LATEST_MICROVERSION]))
def test_get_security_service(self, version):
- utils.skip_if_microversion_not_supported(version)
+ utils.check_skip_if_microversion_not_supported(version)
with_ou = True if utils.is_microversion_ge(version, '2.44') else False
data = self.generate_security_service_data(set_ou=with_ou)
diff --git a/manila_tempest_tests/tests/api/test_share_group_actions.py b/manila_tempest_tests/tests/api/test_share_group_actions.py
index 6b5ab8d..e72181e 100644
--- a/manila_tempest_tests/tests/api/test_share_group_actions.py
+++ b/manila_tempest_tests/tests/api/test_share_group_actions.py
@@ -18,6 +18,7 @@
from tempest import config
from tempest.lib.common.utils import data_utils
from tempest.lib import decorators
+import testtools
from testtools import testcase as tc
from manila_tempest_tests.common import constants
@@ -38,7 +39,7 @@
if not CONF.share.run_share_group_tests:
raise cls.skipException('Share Group tests disabled.')
- utils.check_skip_if_microversion_lt(
+ utils.check_skip_if_microversion_not_supported(
constants.MIN_SHARE_GROUP_MICROVERSION)
@classmethod
@@ -46,7 +47,12 @@
super(ShareGroupActionsTest, cls).resource_setup()
# Create a share type
- cls.share_type = cls._create_share_type()
+ extra_specs = {}
+ if CONF.share.capability_snapshot_support:
+ extra_specs.update({'snapshot_support': True})
+ if CONF.share.capability_create_share_from_snapshot_support:
+ extra_specs.update({'create_share_from_snapshot_support': True})
+ cls.share_type = cls._create_share_type(specs=extra_specs)
cls.share_type_id = cls.share_type['id']
cls.share_group_type = cls._create_share_group_type()
@@ -89,20 +95,21 @@
])
# Create share group snapshots
- cls.sg_snap_name = data_utils.rand_name("tempest-sg-snap-name")
- cls.sg_snap_desc = data_utils.rand_name("tempest-sg-snap-desc")
+ if CONF.share.capability_snapshot_support:
+ cls.sg_snap_name = data_utils.rand_name("tempest-sg-snap-name")
+ cls.sg_snap_desc = data_utils.rand_name("tempest-sg-snap-desc")
- cls.sg_snapshot = cls.create_share_group_snapshot_wait_for_active(
- cls.share_group["id"],
- name=cls.sg_snap_name,
- description=cls.sg_snap_desc,
- )
+ cls.sg_snapshot = cls.create_share_group_snapshot_wait_for_active(
+ cls.share_group["id"],
+ name=cls.sg_snap_name,
+ description=cls.sg_snap_desc,
+ )
- cls.sg_snapshot2 = cls.create_share_group_snapshot_wait_for_active(
- cls.share_group2['id'],
- name=cls.sg_snap_name,
- description=cls.sg_snap_desc,
- )
+ cls.sg_snapshot2 = cls.create_share_group_snapshot_wait_for_active(
+ cls.share_group2['id'],
+ name=cls.sg_snap_name,
+ description=cls.sg_snap_desc,
+ )
@decorators.idempotent_id('1e359389-09a7-4235-84c9-7b5c83632fff')
@tc.attr(base.TAG_POSITIVE, base.TAG_API_WITH_BACKEND)
@@ -111,7 +118,7 @@
constants.SHARE_GROUPS_GRADUATION_VERSION,
LATEST_MICROVERSION]))
def test_get_share_group(self, version):
- utils.skip_if_microversion_not_supported(version)
+ utils.check_skip_if_microversion_not_supported(version)
# Get share group
share_group = self.shares_v2_client.get_share_group(
@@ -166,7 +173,7 @@
constants.SHARE_GROUPS_GRADUATION_VERSION,
LATEST_MICROVERSION]))
def test_list_share_groups(self, version):
- utils.skip_if_microversion_not_supported(version)
+ utils.check_skip_if_microversion_not_supported(version)
# List share groups
share_groups = self.shares_v2_client.list_share_groups(
@@ -198,7 +205,7 @@
constants.SHARE_GROUPS_GRADUATION_VERSION,
LATEST_MICROVERSION]))
def test_list_share_groups_with_detail_min(self, version):
- utils.skip_if_microversion_not_supported(version)
+ utils.check_skip_if_microversion_not_supported(version)
params = None
if utils.is_microversion_ge(version, '2.36'):
params = {'name~': 'tempest', 'description~': 'tempest'}
@@ -258,8 +265,10 @@
*utils.deduplicate([constants.MIN_SHARE_GROUP_MICROVERSION,
constants.SHARE_GROUPS_GRADUATION_VERSION,
LATEST_MICROVERSION]))
+ @testtools.skipUnless(CONF.share.run_snapshot_tests,
+ "Snapshot tests are disabled.")
def test_get_share_group_snapshot(self, version):
- utils.skip_if_microversion_not_supported(version)
+ utils.check_skip_if_microversion_not_supported(version)
# Get share group snapshot
sg_snapshot = self.shares_v2_client.get_share_group_snapshot(
@@ -286,6 +295,8 @@
@decorators.idempotent_id('67e8c099-f1c1-4972-9c51-bb7bfe1d7994')
@tc.attr(base.TAG_POSITIVE, base.TAG_API_WITH_BACKEND)
+ @testtools.skipUnless(CONF.share.run_snapshot_tests,
+ "Snapshot tests are disabled.")
def test_get_share_group_snapshot_members_min(self):
sg_snapshot = self.shares_v2_client.get_share_group_snapshot(
self.sg_snapshot['id'],
@@ -315,9 +326,14 @@
*utils.deduplicate([constants.MIN_SHARE_GROUP_MICROVERSION,
constants.SHARE_GROUPS_GRADUATION_VERSION,
LATEST_MICROVERSION]))
+ @testtools.skipUnless(CONF.share.run_snapshot_tests,
+ "Snapshot tests are disabled.")
+ @testtools.skipUnless(
+ CONF.share.capability_create_share_from_snapshot_support,
+ "Tests creating shares from snapshots are disabled.")
def test_create_share_group_from_populated_share_group_snapshot(self,
version):
- utils.skip_if_microversion_not_supported(version)
+ utils.check_skip_if_microversion_not_supported(version)
sg_snapshot = self.shares_v2_client.get_share_group_snapshot(
self.sg_snapshot['id'],
@@ -382,7 +398,7 @@
if not CONF.share.run_share_group_tests:
raise cls.skipException('Share Group tests disabled.')
- utils.check_skip_if_microversion_lt(
+ utils.check_skip_if_microversion_not_supported(
constants.MIN_SHARE_GROUP_MICROVERSION)
@classmethod
@@ -422,7 +438,7 @@
constants.SHARE_GROUPS_GRADUATION_VERSION,
LATEST_MICROVERSION]))
def test_update_share_group(self, version):
- utils.skip_if_microversion_not_supported(version)
+ utils.check_skip_if_microversion_not_supported(version)
# Get share_group
share_group = self.shares_v2_client.get_share_group(
@@ -463,7 +479,7 @@
constants.SHARE_GROUPS_GRADUATION_VERSION,
LATEST_MICROVERSION]))
def test_create_update_read_share_group_with_unicode(self, version):
- utils.skip_if_microversion_not_supported(version)
+ utils.check_skip_if_microversion_not_supported(version)
value1 = u'ಠ_ಠ'
value2 = u'ಠ_ರೃ'
diff --git a/manila_tempest_tests/tests/api/test_share_groups.py b/manila_tempest_tests/tests/api/test_share_groups.py
index 8dc7c06..77f9db3 100644
--- a/manila_tempest_tests/tests/api/test_share_groups.py
+++ b/manila_tempest_tests/tests/api/test_share_groups.py
@@ -17,6 +17,7 @@
from tempest import config
from tempest.lib import decorators
from tempest.lib import exceptions as lib_exc
+import testtools
from testtools import testcase as tc
from manila_tempest_tests.common import constants
@@ -36,14 +37,19 @@
if not CONF.share.run_share_group_tests:
raise cls.skipException('Share Group tests disabled.')
- utils.check_skip_if_microversion_lt(
+ utils.check_skip_if_microversion_not_supported(
constants.MIN_SHARE_GROUP_MICROVERSION)
@classmethod
def resource_setup(cls):
super(ShareGroupsTest, cls).resource_setup()
# create share type
- cls.share_type = cls._create_share_type()
+ extra_specs = {}
+ if CONF.share.capability_snapshot_support:
+ extra_specs.update({'snapshot_support': True})
+ if CONF.share.capability_create_share_from_snapshot_support:
+ extra_specs.update({'create_share_from_snapshot_support': True})
+ cls.share_type = cls._create_share_type(specs=extra_specs)
cls.share_type_id = cls.share_type['id']
# create share group type
@@ -97,6 +103,8 @@
@decorators.idempotent_id('cf7984af-1e1d-4eaf-bf9a-d8ddf5cebd01')
@tc.attr(base.TAG_POSITIVE, base.TAG_API_WITH_BACKEND)
+ @testtools.skipUnless(CONF.share.run_snapshot_tests,
+ "Snapshot tests are disabled.")
def test_create_delete_empty_share_group_snapshot_min(self):
# Create base share group
share_group = self.create_share_group(
@@ -138,6 +146,8 @@
@decorators.idempotent_id('727d9c69-4c3b-4375-a91b-8b3efd349976')
@tc.attr(base.TAG_POSITIVE, base.TAG_API_WITH_BACKEND)
+ @testtools.skipUnless(CONF.share.run_snapshot_tests,
+ "Snapshot tests are disabled.")
def test_create_share_group_from_empty_share_group_snapshot_min(self):
# Create base share group
share_group = self.create_share_group(
@@ -196,7 +206,7 @@
new_share_group['share_network_id'],
msg)
- @utils.skip_if_microversion_lt("2.34")
+ @utils.skip_if_microversion_not_supported("2.34")
@decorators.idempotent_id('14fd6d88-87ff-4af2-ad17-f95dbd8dcd61')
@tc.attr(base.TAG_POSITIVE, base.TAG_API_WITH_BACKEND)
@ddt.data(
diff --git a/manila_tempest_tests/tests/api/test_share_groups_negative.py b/manila_tempest_tests/tests/api/test_share_groups_negative.py
index 8f67fbe..2811637 100644
--- a/manila_tempest_tests/tests/api/test_share_groups_negative.py
+++ b/manila_tempest_tests/tests/api/test_share_groups_negative.py
@@ -17,6 +17,7 @@
from tempest.lib.common.utils import data_utils
from tempest.lib import decorators
from tempest.lib import exceptions as lib_exc
+import testtools
from testtools import testcase as tc
from manila_tempest_tests.common import constants
@@ -35,14 +36,17 @@
if not CONF.share.run_share_group_tests:
raise cls.skipException('Share Group tests disabled.')
- utils.check_skip_if_microversion_lt(
+ utils.check_skip_if_microversion_not_supported(
constants.MIN_SHARE_GROUP_MICROVERSION)
@classmethod
def resource_setup(cls):
super(ShareGroupsNegativeTest, cls).resource_setup()
# Create a share type
- cls.share_type = cls._create_share_type()
+ extra_specs = {}
+ if CONF.share.capability_snapshot_support:
+ extra_specs.update({'snapshot_support': True})
+ cls.share_type = cls._create_share_type(specs=extra_specs)
cls.share_type_id = cls.share_type['id']
# Create a share group type
@@ -69,15 +73,16 @@
share_type_id=cls.share_type_id,
share_group_id=cls.share_group['id'],
)
- # Create a share group snapshot of the share group
- cls.sg_snap_name = data_utils.rand_name("tempest-sg-snap-name")
- cls.sg_snap_desc = data_utils.rand_name(
- "tempest-group-snap-description")
- cls.sg_snapshot = cls.create_share_group_snapshot_wait_for_active(
- cls.share_group['id'],
- name=cls.sg_snap_name,
- description=cls.sg_snap_desc
- )
+ if CONF.share.run_snapshot_tests:
+ # Create a share group snapshot of the share group
+ cls.sg_snap_name = data_utils.rand_name("tempest-sg-snap-name")
+ cls.sg_snap_desc = data_utils.rand_name(
+ "tempest-group-snap-description")
+ cls.sg_snapshot = cls.create_share_group_snapshot_wait_for_active(
+ cls.share_group['id'],
+ name=cls.sg_snap_name,
+ description=cls.sg_snap_desc
+ )
@decorators.idempotent_id('7ce3fb52-1bec-42b1-9b4f-671c8465764b')
@tc.attr(base.TAG_NEGATIVE, base.TAG_API_WITH_BACKEND)
@@ -206,6 +211,8 @@
@decorators.idempotent_id('18fe2dee-4a07-484e-8f0f-bbc238500dc3')
@tc.attr(base.TAG_NEGATIVE, base.TAG_API_WITH_BACKEND)
+ @testtools.skipUnless(CONF.share.run_snapshot_tests,
+ "Snapshot tests are disabled.")
def test_delete_sg_in_use_by_sg_snapshot_min(self):
self.assertRaises(
lib_exc.Conflict,
@@ -215,6 +222,8 @@
@decorators.idempotent_id('d2a58f10-cc86-498d-a5e0-1468d4345852')
@tc.attr(base.TAG_NEGATIVE, base.TAG_API_WITH_BACKEND)
+ @testtools.skipUnless(CONF.share.run_snapshot_tests,
+ "Snapshot tests are disabled.")
def test_delete_share_in_use_by_sg_snapshot_min(self):
params = {'share_group_id': self.share['share_group_id']}
self.assertRaises(
@@ -290,7 +299,7 @@
share_type_ids=[self.share_type_id],
version=constants.MIN_SHARE_GROUP_MICROVERSION)
- @utils.skip_if_microversion_lt("2.34")
+ @utils.skip_if_microversion_not_supported("2.34")
@decorators.idempotent_id('64527564-9cd6-42db-8897-910f4fc1a151')
@tc.attr(base.TAG_NEGATIVE, base.TAG_API_WITH_BACKEND)
def test_create_sg_and_share_with_different_azs(self):
diff --git a/manila_tempest_tests/tests/api/test_share_network_subnets.py b/manila_tempest_tests/tests/api/test_share_network_subnets.py
index 8387968..f6cf348 100644
--- a/manila_tempest_tests/tests/api/test_share_network_subnets.py
+++ b/manila_tempest_tests/tests/api/test_share_network_subnets.py
@@ -31,7 +31,7 @@
@classmethod
def skip_checks(cls):
super(ShareNetworkSubnetsTest, cls).skip_checks()
- utils.check_skip_if_microversion_lt("2.51")
+ utils.check_skip_if_microversion_not_supported("2.51")
@classmethod
def resource_setup(cls):
diff --git a/manila_tempest_tests/tests/api/test_share_network_subnets_negative.py b/manila_tempest_tests/tests/api/test_share_network_subnets_negative.py
index 82d27ca..126cf87 100644
--- a/manila_tempest_tests/tests/api/test_share_network_subnets_negative.py
+++ b/manila_tempest_tests/tests/api/test_share_network_subnets_negative.py
@@ -35,7 +35,7 @@
@classmethod
def skip_checks(cls):
super(ShareNetworkSubnetsNegativeTest, cls).skip_checks()
- utils.check_skip_if_microversion_lt("2.51")
+ utils.check_skip_if_microversion_not_supported("2.51")
@classmethod
def resource_setup(cls):
diff --git a/manila_tempest_tests/tests/api/test_share_networks.py b/manila_tempest_tests/tests/api/test_share_networks.py
index fa486b4..31a2eb6 100644
--- a/manila_tempest_tests/tests/api/test_share_networks.py
+++ b/manila_tempest_tests/tests/api/test_share_networks.py
@@ -111,7 +111,7 @@
@decorators.idempotent_id('bff1356e-70aa-4bbe-b398-cb4dadd8fcb1')
@tc.attr(base.TAG_POSITIVE, base.TAG_API)
- @utils.skip_if_microversion_lt("2.36")
+ @utils.skip_if_microversion_not_supported("2.36")
def test_list_share_networks_like_filter(self):
valid_filter_opts = {
'name': 'sn_with_ldap_ss',
@@ -300,7 +300,7 @@
@testtools.skipUnless(CONF.share.multitenancy_enabled,
"Only for multitenancy.")
@testtools.skipUnless(CONF.service_available.neutron, "Only with neutron.")
- @utils.skip_if_microversion_lt("2.18")
+ @utils.skip_if_microversion_not_supported("2.18")
@tc.attr(base.TAG_POSITIVE, base.TAG_API_WITH_BACKEND)
def test_gateway_with_neutron(self):
subnet_client = self.subnets_client
@@ -324,7 +324,7 @@
@testtools.skipUnless(CONF.share.multitenancy_enabled,
"Only for multitenancy.")
@testtools.skipUnless(CONF.service_available.neutron, "Only with neutron.")
- @utils.skip_if_microversion_lt("2.20")
+ @utils.skip_if_microversion_not_supported("2.20")
@tc.attr(base.TAG_POSITIVE, base.TAG_API_WITH_BACKEND)
def test_mtu_with_neutron(self):
network_client = self.networks_client
diff --git a/manila_tempest_tests/tests/api/test_share_networks_negative.py b/manila_tempest_tests/tests/api/test_share_networks_negative.py
index b9e57de..3e5f802 100644
--- a/manila_tempest_tests/tests/api/test_share_networks_negative.py
+++ b/manila_tempest_tests/tests/api/test_share_networks_negative.py
@@ -156,7 +156,7 @@
self.assertEqual(0, len(share_networks))
- @utils.skip_if_microversion_lt("2.51")
+ @utils.skip_if_microversion_not_supported("2.51")
@decorators.idempotent_id('8a995305-ede9-4002-a9cd-f24ff4d71f63')
@tc.attr(base.TAG_NEGATIVE, base.TAG_API_WITH_BACKEND)
def test_delete_share_network_contains_more_than_one_subnet(self):
@@ -185,7 +185,7 @@
default_subnet = share_network['share_network_subnets'][0]
self.assertIsNone(default_subnet['availability_zone'])
- @utils.skip_if_microversion_lt("2.51")
+ @utils.skip_if_microversion_not_supported("2.51")
@decorators.idempotent_id('d84c3c5c-5913-42d4-9a66-0d5a78295adb')
@tc.attr(base.TAG_NEGATIVE, base.TAG_API_WITH_BACKEND)
def test_create_share_network_inexistent_az(self):
diff --git a/manila_tempest_tests/tests/api/test_share_types_negative.py b/manila_tempest_tests/tests/api/test_share_types_negative.py
index a7d8826..78a6c49 100644
--- a/manila_tempest_tests/tests/api/test_share_types_negative.py
+++ b/manila_tempest_tests/tests/api/test_share_types_negative.py
@@ -80,7 +80,7 @@
self.st['id'],
self.shares_client.tenant_id)
- @utils.skip_if_microversion_lt("2.50")
+ @utils.skip_if_microversion_not_supported("2.50")
@decorators.idempotent_id('4a22945c-8988-43a1-88c9-eb86e6abcd8e')
@tc.attr(base.TAG_NEGATIVE, base.TAG_API)
@ddt.data(
@@ -101,7 +101,7 @@
st_id, st_name, st_is_public, st_description,
version)
- @utils.skip_if_microversion_lt("2.50")
+ @utils.skip_if_microversion_not_supported("2.50")
@decorators.idempotent_id('7193465a-ed8e-44d5-9ca9-4e8a3c5958e0')
@tc.attr(base.TAG_NEGATIVE, base.TAG_API)
@ddt.data('2.50', LATEST_MICROVERSION)
diff --git a/manila_tempest_tests/tests/api/test_shares.py b/manila_tempest_tests/tests/api/test_shares.py
index 8802f4c..c6020a4 100644
--- a/manila_tempest_tests/tests/api/test_shares.py
+++ b/manila_tempest_tests/tests/api/test_shares.py
@@ -42,9 +42,6 @@
# create share_type
cls.share_type = cls._create_share_type()
cls.share_type_id = cls.share_type['id']
- # create share
- cls.share = cls.create_share(cls.protocol,
- share_type_id=cls.share_type_id)
@decorators.idempotent_id('21ad41fb-04cf-493c-bc2f-66c80220898b')
@tc.attr(base.TAG_POSITIVE, base.TAG_BACKEND)
@@ -128,9 +125,15 @@
@testtools.skipUnless(CONF.share.run_snapshot_tests,
"Snapshot tests are disabled.")
def test_create_delete_snapshot(self):
+ extra_specs = {'snapshot_support': True}
+ share_type = self._create_share_type(specs=extra_specs,
+ cleanup_in_class=False)
+ share = self.create_share(self.protocol,
+ share_type_id=share_type['id'],
+ cleanup_in_class=False)
# create snapshot
- snap = self.create_snapshot_wait_for_active(self.share["id"])
+ snap = self.create_snapshot_wait_for_active(share["id"])
detailed_elements = {'name', 'id', 'description',
'created_at', 'share_proto', 'size', 'share_size',
@@ -167,14 +170,23 @@
"Create share from snapshot tests are disabled.")
def test_create_share_from_snapshot(self):
# If multitenant driver used, share_network will be provided by default
+ extra_specs = {
+ 'snapshot_support': True,
+ 'create_share_from_snapshot_support': True,
+ }
+ share_type = self._create_share_type(specs=extra_specs,
+ cleanup_in_class=False)
+ share = self.create_share(self.protocol,
+ share_type_id=share_type['id'],
+ cleanup_in_class=False)
# create snapshot
- snap = self.create_snapshot_wait_for_active(
- self.share["id"], cleanup_in_class=False)
+ snap = self.create_snapshot_wait_for_active(share["id"],
+ cleanup_in_class=False)
# create share from snapshot
s2 = self.create_share(self.protocol,
- share_type_id=self.share_type_id,
+ share_type_id=share_type['id'],
snapshot_id=snap["id"],
cleanup_in_class=False)
@@ -204,16 +216,25 @@
# when creating share from snapshot using a driver that supports
# multi-tenancy.
+ extra_specs = {
+ 'snapshot_support': True,
+ 'create_share_from_snapshot_support': True,
+ }
+ share_type = self._create_share_type(specs=extra_specs,
+ cleanup_in_class=False)
+ share = self.create_share(self.protocol,
+ share_type_id=share_type['id'],
+ cleanup_in_class=False)
+
# get parent share
- parent = self.shares_client.get_share(self.share["id"])
+ parent = self.shares_client.get_share(share["id"])
# create snapshot
- snap = self.create_snapshot_wait_for_active(
- self.share["id"], cleanup_in_class=False)
+ snap = self.create_snapshot_wait_for_active(share["id"],
+ cleanup_in_class=False)
# create share from snapshot
child = self.create_share(self.protocol,
- share_type_id=self.share_type_id,
snapshot_id=snap["id"],
cleanup_in_class=False)
@@ -226,7 +247,7 @@
# verify share, created from snapshot
get = self.shares_client.get_share(child["id"])
keys = {
- "share": self.share["id"],
+ "share": share["id"],
"actual_sn": get["share_network_id"],
"expected_sn": parent["share_network_id"],
}
diff --git a/manila_tempest_tests/tests/api/test_shares_actions.py b/manila_tempest_tests/tests/api/test_shares_actions.py
index 12af9f5..6c2bfaa 100644
--- a/manila_tempest_tests/tests/api/test_shares_actions.py
+++ b/manila_tempest_tests/tests/api/test_shares_actions.py
@@ -41,7 +41,12 @@
cls.shares = []
# create share_type
- cls.share_type = cls._create_share_type()
+ extra_specs = {}
+ if CONF.share.capability_snapshot_support:
+ extra_specs.update({'snapshot_support': True})
+ if CONF.share.capability_create_share_from_snapshot_support:
+ extra_specs.update({'create_share_from_snapshot_support': True})
+ cls.share_type = cls._create_share_type(specs=extra_specs)
cls.share_type_id = cls.share_type['id']
# create share
@@ -369,7 +374,7 @@
@decorators.idempotent_id('f446e8cb-5bef-45ac-8b87-f4136f44ca69')
@tc.attr(base.TAG_POSITIVE, base.TAG_API_WITH_BACKEND)
- @utils.skip_if_microversion_lt("2.36")
+ @utils.skip_if_microversion_not_supported("2.36")
def test_list_shares_with_detail_filter_by_existed_description(self):
# list shares by description, at least one share is expected
params = {"description": self.share_desc}
@@ -378,7 +383,7 @@
@decorators.idempotent_id('1276b97b-cf46-4953-973f-f995985a1ce4')
@tc.attr(base.TAG_POSITIVE, base.TAG_API_WITH_BACKEND)
- @utils.skip_if_microversion_lt("2.36")
+ @utils.skip_if_microversion_not_supported("2.36")
def test_list_shares_with_detail_filter_by_inexact_name(self):
# list shares by name, at least one share is expected
params = {"name~": 'tempest-share'}
@@ -428,7 +433,7 @@
@decorators.idempotent_id('0019afa2-fae2-417f-a7e0-2af665a966b0')
@tc.attr(base.TAG_POSITIVE, base.TAG_API_WITH_BACKEND)
- @utils.skip_if_microversion_lt("2.42")
+ @utils.skip_if_microversion_not_supported("2.42")
def test_list_shares_with_detail_with_count(self):
# list shares by name, at least one share is expected
params = {"with_count": 'true'}
@@ -446,7 +451,7 @@
if version is None:
snapshot = self.shares_client.get_snapshot(self.snap["id"])
else:
- utils.skip_if_microversion_not_supported(version)
+ utils.check_skip_if_microversion_not_supported(version)
snapshot = self.shares_v2_client.get_snapshot(
self.snap["id"], version=version)
@@ -523,7 +528,7 @@
if version is None:
snaps = self.shares_client.list_snapshots_with_detail()
else:
- utils.skip_if_microversion_not_supported(version)
+ utils.check_skip_if_microversion_not_supported(version)
snaps = self.shares_v2_client.list_snapshots_with_detail(
version=version, params=params)
@@ -681,7 +686,10 @@
super(SharesRenameTest, cls).resource_setup()
# create share_type
- cls.share_type = cls._create_share_type()
+ extra_specs = {}
+ if CONF.share.capability_snapshot_support:
+ extra_specs.update({'snapshot_support': True})
+ cls.share_type = cls._create_share_type(specs=extra_specs)
cls.share_type_id = cls.share_type['id']
# create share
diff --git a/manila_tempest_tests/tests/api/test_shares_actions_negative.py b/manila_tempest_tests/tests/api/test_shares_actions_negative.py
index f7acfda..863654f 100644
--- a/manila_tempest_tests/tests/api/test_shares_actions_negative.py
+++ b/manila_tempest_tests/tests/api/test_shares_actions_negative.py
@@ -37,7 +37,10 @@
cls.share_name = data_utils.rand_name("tempest-share-name")
cls.share_desc = data_utils.rand_name("tempest-share-description")
# create share_type
- cls.share_type = cls._create_share_type()
+ extra_specs = {}
+ if CONF.share.capability_snapshot_support:
+ extra_specs.update({'snapshot_support': True})
+ cls.share_type = cls._create_share_type(specs=extra_specs)
cls.share_type_id = cls.share_type['id']
# create share
cls.share = cls.create_share(
@@ -186,7 +189,7 @@
@decorators.idempotent_id('ffc3dc76-2f92-4308-a125-1d3905ed72ba')
@tc.attr(base.TAG_NEGATIVE, base.TAG_API_WITH_BACKEND)
- @utils.skip_if_microversion_lt("2.35")
+ @utils.skip_if_microversion_not_supported("2.35")
@ddt.data('path', 'id')
def test_list_shares_with_export_location_not_exist(
self, export_location_type):
diff --git a/manila_tempest_tests/tests/api/test_shares_from_snapshot_across_pools.py b/manila_tempest_tests/tests/api/test_shares_from_snapshot_across_pools.py
index c86c56d..9637c1b 100644
--- a/manila_tempest_tests/tests/api/test_shares_from_snapshot_across_pools.py
+++ b/manila_tempest_tests/tests/api/test_shares_from_snapshot_across_pools.py
@@ -68,7 +68,7 @@
raise cls.skipException(
'Create share from snapshot in another pool or az tests are '
'disabled.')
- utils.check_skip_if_microversion_lt("2.54")
+ utils.check_skip_if_microversion_not_supported("2.54")
@decorators.idempotent_id('6f1fa7d0-94f2-4373-8730-b0986781cc88')
@tc.attr(base.TAG_POSITIVE, base.TAG_BACKEND)
diff --git a/manila_tempest_tests/tests/api/test_shares_negative.py b/manila_tempest_tests/tests/api/test_shares_negative.py
index ac4b3f1..1793c1c 100644
--- a/manila_tempest_tests/tests/api/test_shares_negative.py
+++ b/manila_tempest_tests/tests/api/test_shares_negative.py
@@ -21,6 +21,7 @@
from manila_tempest_tests import share_exceptions
from manila_tempest_tests.tests.api import base
+from manila_tempest_tests import utils
CONF = config.CONF
@@ -31,7 +32,12 @@
def resource_setup(cls):
super(SharesNegativeTest, cls).resource_setup()
# create share_type
- cls.share_type = cls._create_share_type()
+ extra_specs = {}
+ if CONF.share.capability_snapshot_support:
+ extra_specs.update({'snapshot_support': True})
+ if CONF.share.capability_create_share_from_snapshot_support:
+ extra_specs.update({'create_share_from_snapshot_support': True})
+ cls.share_type = cls._create_share_type(specs=extra_specs)
cls.share_type_id = cls.share_type['id']
@decorators.idempotent_id('b9bb8dee-0c7c-4e51-909c-028335b1a6a0')
@@ -60,7 +66,6 @@
"Create share from snapshot tests are disabled.")
def test_create_share_from_snap_with_less_size(self):
# requires minimum 5Gb available space
-
skip_msg = "Check disc space for this test"
try: # create share
@@ -283,7 +288,7 @@
self.assertRaises(lib_exc.NotFound,
self.shares_client.delete_share, '')
- @base.skip_if_microversion_lt("2.61")
+ @utils.skip_if_microversion_not_supported("2.61")
@decorators.idempotent_id('b8097d56-067e-4d7c-8401-31bc7021fe86')
@tc.attr(base.TAG_NEGATIVE, base.TAG_API)
def test_create_share_size_greater_than_specified_in_share_type(self):
@@ -293,7 +298,7 @@
size=int(CONF.share.share_size) + 5,
share_type_id=self.share_type_min_2_max_5_id)
- @base.skip_if_microversion_lt("2.61")
+ @utils.skip_if_microversion_not_supported("2.61")
@decorators.idempotent_id('b8097d56-067e-4d7c-8401-31bc7021fe87')
@tc.attr(base.TAG_NEGATIVE, base.TAG_API)
def test_create_share_size_less_than_specified_in_share_type(self):
diff --git a/manila_tempest_tests/tests/api/test_snapshot_rules.py b/manila_tempest_tests/tests/api/test_snapshot_rules.py
index 615c68d..d9588ec 100644
--- a/manila_tempest_tests/tests/api/test_snapshot_rules.py
+++ b/manila_tempest_tests/tests/api/test_snapshot_rules.py
@@ -35,7 +35,10 @@
def resource_setup(cls):
super(BaseShareSnapshotRulesTest, cls).resource_setup()
# create share_type
- extra_specs = {'mount_snapshot_support': 'True'}
+ extra_specs = {
+ 'snapshot_support': True,
+ 'mount_snapshot_support': True,
+ }
cls.share_type = cls._create_share_type(specs=extra_specs)
cls.share_type_id = cls.share_type['id']
@@ -80,7 +83,7 @@
msg = "IP rule tests for %s protocol are disabled." % cls.protocol
raise cls.skipException(msg)
- utils.check_skip_if_microversion_lt('2.32')
+ utils.check_skip_if_microversion_not_supported('2.32')
@classmethod
def resource_setup(cls):
@@ -108,7 +111,7 @@
msg = ("User rule tests for %s protocol are "
"disabled." % cls.protocol)
raise cls.skipException(msg)
- utils.check_skip_if_microversion_lt('2.32')
+ utils.check_skip_if_microversion_not_supported('2.32')
@classmethod
def resource_setup(cls):
diff --git a/manila_tempest_tests/tests/api/test_snapshot_rules_negative.py b/manila_tempest_tests/tests/api/test_snapshot_rules_negative.py
index 8b3f2eb..bf1ef1a 100644
--- a/manila_tempest_tests/tests/api/test_snapshot_rules_negative.py
+++ b/manila_tempest_tests/tests/api/test_snapshot_rules_negative.py
@@ -44,13 +44,16 @@
msg = "IP rule tests for %s protocol are disabled." % cls.protocol
raise cls.skipException(msg)
- utils.check_skip_if_microversion_lt('2.32')
+ utils.check_skip_if_microversion_not_supported('2.32')
@classmethod
def resource_setup(cls):
super(SnapshotIpRulesForNFSNegativeTest, cls).resource_setup()
# create share type
- extra_specs = {'mount_snapshot_support': 'True'}
+ extra_specs = {
+ 'snapshot_support': True,
+ 'mount_snapshot_support': True,
+ }
cls.share_type = cls._create_share_type(specs=extra_specs)
cls.share_type_id = cls.share_type['id']
# create share
diff --git a/manila_tempest_tests/tests/scenario/manager_share.py b/manila_tempest_tests/tests/scenario/manager_share.py
index 0f55d6e..52dc7f0 100644
--- a/manila_tempest_tests/tests/scenario/manager_share.py
+++ b/manila_tempest_tests/tests/scenario/manager_share.py
@@ -268,12 +268,13 @@
def migration_complete(self, share_id, dest_host):
return self._migration_complete(share_id, dest_host)
- def create_share(self, **kwargs):
+ def create_share(self, extra_specs=None, **kwargs):
kwargs.update({
'share_protocol': self.protocol,
})
if not ('share_type_id' in kwargs or 'snapshot_id' in kwargs):
- default_share_type_id = self.get_share_type()['id']
+ default_share_type_id = self.get_share_type(
+ extra_specs=extra_specs)['id']
kwargs.update({'share_type_id': default_share_type_id})
if CONF.share.multitenancy_enabled:
kwargs.update({'share_network_id': self.share_network['id']})
@@ -453,15 +454,17 @@
return self.os_primary.servers_client.show_server(
instance_id)["server"]
- def get_share_type(self):
+ def get_share_type(self, extra_specs=None):
if CONF.share.default_share_type_name:
return self.shares_client.get_default_share_type()['share_type']
+ extra_specs_dict = {
+ 'driver_handles_share_servers': CONF.share.multitenancy_enabled
+ }
+ if extra_specs:
+ extra_specs_dict.update(extra_specs)
return self._create_share_type(
data_utils.rand_name("share_type"),
- extra_specs={
- 'snapshot_support': CONF.share.capability_snapshot_support,
- 'driver_handles_share_servers': CONF.share.multitenancy_enabled
- },)['share_type']
+ extra_specs=extra_specs_dict)['share_type']
def get_share_export_locations(self, share):
if utils.is_microversion_lt(CONF.share.max_api_microversion, "2.9"):
diff --git a/manila_tempest_tests/tests/scenario/test_share_basic_ops.py b/manila_tempest_tests/tests/scenario/test_share_basic_ops.py
index 9f0ec70..e9e9a14 100644
--- a/manila_tempest_tests/tests/scenario/test_share_basic_ops.py
+++ b/manila_tempest_tests/tests/scenario/test_share_basic_ops.py
@@ -133,7 +133,7 @@
@decorators.idempotent_id('15d42949-545e-4ad8-b06e-bb2556c54375')
@tc.attr(base.TAG_POSITIVE, base.TAG_BACKEND)
- @utils.skip_if_microversion_lt("2.29")
+ @utils.skip_if_microversion_not_supported("2.29")
@testtools.skipUnless(CONF.share.run_host_assisted_migration_tests or
CONF.share.run_driver_assisted_migration_tests,
"Share migration tests are disabled.")
@@ -252,7 +252,8 @@
instance = self.boot_instance(wait_until="BUILD")
# 2 - Create share S1, ok, created
- parent_share = self.create_share()
+ extra_specs = {'snapshot_support': True}
+ parent_share = self.create_share(extra_specs=extra_specs)
parent_share_export_location = self.get_user_export_locations(
parent_share)[0]
@@ -340,7 +341,7 @@
@decorators.idempotent_id('c98e6876-3a4f-40e8-8b4f-023c94c242c3')
@tc.attr(base.TAG_POSITIVE, base.TAG_BACKEND)
- @utils.skip_if_microversion_lt("2.32")
+ @utils.skip_if_microversion_not_supported("2.32")
@testtools.skipUnless(CONF.share.run_mount_snapshot_tests,
'Mountable snapshots tests are disabled.')
@testtools.skipUnless(CONF.share.run_snapshot_tests,
@@ -350,7 +351,8 @@
instance = self.boot_instance(wait_until="BUILD")
# 2 - Create share S1, ok, created
- parent_share = self.create_share()
+ extra_specs = {'snapshot_support': True}
+ parent_share = self.create_share(extra_specs=extra_specs)
user_export_location = self.get_user_export_locations(parent_share)[0]
# Create client User Virtual Machine
diff --git a/manila_tempest_tests/utils.py b/manila_tempest_tests/utils.py
index 650614d..7625460 100644
--- a/manila_tempest_tests/utils.py
+++ b/manila_tempest_tests/utils.py
@@ -95,23 +95,8 @@
return lambda f: f
-def skip_if_microversion_lt(microversion):
- """Decorator for tests that are microversion-specific."""
- if is_microversion_lt(CONF.share.max_api_microversion, microversion):
- reason = ("Skipped. Test requires microversion greater than or "
- "equal to '%s'." % microversion)
- return testtools.skip(reason)
- return lambda f: f
-
-
-def check_skip_if_microversion_lt(microversion):
- if is_microversion_lt(CONF.share.max_api_microversion, microversion):
- reason = ("Skipped. Test requires microversion greater than or "
- "equal to '%s'." % microversion)
- raise testtools.TestCase.skipException(reason)
-
-
def check_skip_if_microversion_not_supported(microversion):
+ """Callable method for tests that are microversion-specific."""
if not is_microversion_supported(microversion):
reason = ("Skipped. Test requires microversion '%s'." % microversion)
raise testtools.TestCase.skipException(reason)
diff --git a/setup.cfg b/setup.cfg
index ebb8f8c..457bfc2 100644
--- a/setup.cfg
+++ b/setup.cfg
@@ -1,11 +1,11 @@
[metadata]
name = manila-tempest-plugin
summary = Tempest plugin manila-tempest-plugin
-description-file =
+description_file =
README.rst
author = OpenStack
-author-email = openstack-discuss@lists.openstack.org
-home-page = https://docs.openstack.org/manila/latest/
+author_email = openstack-discuss@lists.openstack.org
+home_page = https://docs.openstack.org/manila/latest/
classifier =
Environment :: OpenStack
Intended Audience :: Information Technology
diff --git a/zuul.d/manila-tempest-jobs.yaml b/zuul.d/manila-tempest-jobs.yaml
index 7d7b08e..164db72 100644
--- a/zuul.d/manila-tempest-jobs.yaml
+++ b/zuul.d/manila-tempest-jobs.yaml
@@ -28,7 +28,6 @@
- manila-tempest-plugin
devstack_plugins:
manila: https://opendev.org/openstack/manila
- manila-tempest-plugin: https://opendev.org/openstack/manila-tempest-plugin
devstack_services:
cinder: false
s-account: false
@@ -88,7 +87,6 @@
- manila-tempest-plugin
devstack_plugins:
manila: https://opendev.org/openstack/manila
- manila-tempest-plugin: https://opendev.org/openstack/manila-tempest-plugin
test_results_stage_name: test_results
zuul_copy_output:
'{{ devstack_base_dir }}/tempest/etc/tempest.conf': logs