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:
ricolin
2025-08-26 14:13:41 +08:00
committed by Rico Lin
parent b643b12377
commit 113ab29453
3 changed files with 69 additions and 2 deletions

View File

@@ -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 "

View File

@@ -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)

View File

@@ -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):