Fix share server migration with replica test
Old stable branches before 2025.1 still expect migration to fail with
replica set.
This reverts the old behavior for stable branches until all our
stable branches are above stable/2025.1
Resume the negative test but add enable flag so it wouldn't affect
branches >= stable/2025.1
This reverts commit 55c075de68.
Change-Id: Ia09b64e4b4afd4bb480a18e80bae46922a2210c7
Signed-off-by: ricolin <rlin@vexxhost.com>
This commit is contained in:
@@ -287,6 +287,14 @@ ShareGroup = [
|
||||
cfg.BoolOpt("run_mount_snapshot_tests",
|
||||
default=False,
|
||||
help="Enable or disable mountable snapshot tests."),
|
||||
cfg.BoolOpt("run_negative_migration_replica_tests",
|
||||
default=False,
|
||||
help="Enable or disable negative migration with replica "
|
||||
"tests."),
|
||||
cfg.BoolOpt("run_positive_migration_replica_tests",
|
||||
default=True,
|
||||
help="Enable or disable positive migration with replica tests."
|
||||
),
|
||||
cfg.BoolOpt("run_create_share_from_snapshot_in_another_pool_or_az_tests",
|
||||
default=False,
|
||||
help="Defines whether to run tests that create share from "
|
||||
|
||||
@@ -17,6 +17,7 @@ import ddt
|
||||
from tempest import config
|
||||
from tempest.lib import decorators
|
||||
from tempest.lib import exceptions
|
||||
import testtools
|
||||
from testtools import testcase as tc
|
||||
|
||||
from manila_tempest_tests.common import constants
|
||||
@@ -330,11 +331,31 @@ class ShareServerMigrationBasicNFS(MigrationShareServerBase):
|
||||
@ddt.data(
|
||||
(False, False),
|
||||
(True, False),
|
||||
)
|
||||
@ddt.unpack
|
||||
def test_share_server_migration_complete(
|
||||
self, new_share_network, check_with_replica
|
||||
):
|
||||
self._test_share_server_migration_complete(
|
||||
new_share_network, check_with_replica)
|
||||
|
||||
@decorators.idempotent_id('ae0e9e6c-3a77-4c4b-907b-8a793f88c734')
|
||||
@testtools.skipUnless(CONF.share.run_positive_migration_replica_tests,
|
||||
'Share server migration with replica test '
|
||||
'is disabled.')
|
||||
@tc.attr(base.TAG_POSITIVE, base.TAG_BACKEND)
|
||||
@ddt.data(
|
||||
(True, True)
|
||||
)
|
||||
@ddt.unpack
|
||||
def test_share_server_migration_complete(self, new_share_network,
|
||||
check_with_replica):
|
||||
def test_share_server_migration_complete_allow_replica(
|
||||
self, new_share_network, check_with_replica
|
||||
):
|
||||
self._test_share_server_migration_complete(
|
||||
new_share_network, check_with_replica)
|
||||
|
||||
def _test_share_server_migration_complete(self, new_share_network,
|
||||
check_with_replica):
|
||||
"""Test the share server migration complete."""
|
||||
share_network_id = self.provide_share_network(
|
||||
self.shares_v2_client, self.networks_client)
|
||||
|
||||
@@ -17,6 +17,7 @@ from tempest import config
|
||||
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
|
||||
|
||||
|
||||
@@ -342,6 +343,43 @@ class ShareServerMigrationStartInvalidStatesNFS(MigrationShareServerNegative):
|
||||
dest_host
|
||||
)
|
||||
|
||||
@decorators.idempotent_id('ebe8da5b-ee9c-48c7-a7e4-9e71839f813f')
|
||||
@tc.attr(base.TAG_NEGATIVE, base.TAG_API_WITH_BACKEND)
|
||||
@testtools.skipUnless(
|
||||
CONF.share.run_negative_migration_replica_tests,
|
||||
'Share server negative migration with replica test is disabled.'
|
||||
)
|
||||
def test_share_server_migration_start_with_share_replica(self):
|
||||
"""Try server migration start with share replica."""
|
||||
if not CONF.share.backend_replication_type or (
|
||||
not CONF.share.run_replication_tests):
|
||||
raise self.skipException(
|
||||
'Share replica tests are disabled or unsupported.')
|
||||
extra_specs = {
|
||||
'driver_handles_share_servers': CONF.share.multitenancy_enabled,
|
||||
'replication_type': CONF.share.backend_replication_type
|
||||
}
|
||||
share_type = self.shares_v2_client.create_share_type(
|
||||
name=data_utils.rand_name("tempest-share-type"),
|
||||
extra_specs=extra_specs,
|
||||
cleanup_in_class=False)
|
||||
share = self.create_share(share_type_id=share_type['share_type']['id'],
|
||||
share_protocol=self.protocol,
|
||||
cleanup_in_class=False)
|
||||
share = self.shares_v2_client.get_share(share['id'])['share']
|
||||
share_server_id = share['share_server_id']
|
||||
dest_host, _ = self._choose_compatible_backend_for_share_server(
|
||||
share_server_id)
|
||||
self.create_share_replica(
|
||||
share['id'],
|
||||
cleanup_in_class=False)
|
||||
self.assertRaises(
|
||||
lib_exc.Conflict,
|
||||
self.shares_v2_client.share_server_migration_start,
|
||||
share_server_id,
|
||||
dest_host
|
||||
)
|
||||
|
||||
|
||||
class ShareServerMigrationInvalidParametersCIFS(
|
||||
ShareServerMigrationInvalidParametersNFS):
|
||||
|
||||
Reference in New Issue
Block a user