diff options
author | Kshitij Gupta <kshitij.gupta@mongodb.com> | 2023-04-25 14:48:04 +0000 |
---|---|---|
committer | Evergreen Agent <no-reply@evergreen.mongodb.com> | 2023-04-25 17:50:30 +0000 |
commit | 7ccbe498f589ca270f81670abcc2a1397f23498e (patch) | |
tree | 20132cb19f7f1324819c636f874b762d0a5a5ea5 /buildscripts/resmokelib | |
parent | 93670020aadcf33d4c0436e69d12dcf32b9920d8 (diff) | |
download | mongo-7ccbe498f589ca270f81670abcc2a1397f23498e.tar.gz |
SERVER-75744: Re-enable stepdown variants.
Diffstat (limited to 'buildscripts/resmokelib')
4 files changed, 21 insertions, 9 deletions
diff --git a/buildscripts/resmokelib/testing/fixtures/replicaset.py b/buildscripts/resmokelib/testing/fixtures/replicaset.py index 61e7d01d7fc..9ea3d2fa0a6 100644 --- a/buildscripts/resmokelib/testing/fixtures/replicaset.py +++ b/buildscripts/resmokelib/testing/fixtures/replicaset.py @@ -47,7 +47,7 @@ class ReplicaSetFixture(interface.ReplFixture): replset_config_options=None, voting_secondaries=True, all_nodes_electable=False, use_replica_set_connection_string=None, linear_chain=False, default_read_concern=None, default_write_concern=None, shard_logging_prefix=None, - replicaset_logging_prefix=None, replset_name=None): + replicaset_logging_prefix=None, replset_name=None, config_shard=None): """Initialize ReplicaSetFixture.""" interface.ReplFixture.__init__(self, logger, job_num, fixturelib, @@ -110,6 +110,7 @@ class ReplicaSetFixture(interface.ReplFixture): self.replset_name = self.mongod_options.setdefault("replSet", "rs") self.initial_sync_node = None self.initial_sync_node_idx = -1 + self.config_shard = config_shard def setup(self): """Set up the replica set.""" diff --git a/buildscripts/resmokelib/testing/fixtures/shardedcluster.py b/buildscripts/resmokelib/testing/fixtures/shardedcluster.py index 50cf99b98f8..eb7b3f894c6 100644 --- a/buildscripts/resmokelib/testing/fixtures/shardedcluster.py +++ b/buildscripts/resmokelib/testing/fixtures/shardedcluster.py @@ -329,8 +329,8 @@ class ShardedClusterFixture(interface.Fixture): auth_options = shard_options.pop("auth_options", self.auth_options) preserve_dbpath = shard_options.pop("preserve_dbpath", self.preserve_dbpath) - replset_config_options = self.fixturelib.make_historic( - shard_options.pop("replset_config_options", {})) + replset_config_options = shard_options.pop("replset_config_options", {}) + replset_config_options = replset_config_options.copy() replset_config_options["configsvr"] = False mongod_options = self.mongod_options.copy() @@ -346,10 +346,19 @@ class ShardedClusterFixture(interface.Fixture): replset_config_options["configsvr"] = True mongod_options["set_parameters"]["featureFlagCatalogShard"] = "true" mongod_options["set_parameters"]["featureFlagTransitionToCatalogShard"] = "true" + mongod_options["storageEngine"] = "wiredTiger" configsvr_options = self.configsvr_options.copy() + + if "mongod_options" in configsvr_options: + mongod_options = self.fixturelib.merge_mongo_option_dicts( + mongod_options, configsvr_options["mongod_options"]) + if "replset_config_options" in configsvr_options: + replset_config_options = self.fixturelib.merge_mongo_option_dicts( + replset_config_options, configsvr_options["replset_config_options"]) + for option, value in configsvr_options.items(): - if option == "num_nodes": + if option in ("num_nodes", "mongod_options", "replset_config_options"): continue if option in shard_options: if shard_options[option] != value: @@ -363,8 +372,8 @@ class ShardedClusterFixture(interface.Fixture): return { "mongod_options": mongod_options, "mongod_executable": self.mongod_executable, "auth_options": auth_options, "preserve_dbpath": preserve_dbpath, - "replset_config_options": replset_config_options, - "shard_logging_prefix": shard_logging_prefix, **shard_options + "replset_config_options": replset_config_options, "shard_logging_prefix": + shard_logging_prefix, "config_shard": self.config_shard, **shard_options } def install_rs_shard(self, rs_shard): diff --git a/buildscripts/resmokelib/testing/hooks/continuous_initial_sync.py b/buildscripts/resmokelib/testing/hooks/continuous_initial_sync.py index b2328e1fe06..a8b679904c2 100644 --- a/buildscripts/resmokelib/testing/hooks/continuous_initial_sync.py +++ b/buildscripts/resmokelib/testing/hooks/continuous_initial_sync.py @@ -106,7 +106,8 @@ class ContinuousInitialSync(interface.Hook): for shard_fixture in fixture.shards: self._add_fixture(shard_fixture) - self._add_fixture(fixture.configsvr) + if fixture.config_shard is None: + self._add_fixture(fixture.configsvr) for mongos_fixture in fixture.mongos: self._mongos_fixtures.append(mongos_fixture) diff --git a/buildscripts/resmokelib/testing/hooks/stepdown.py b/buildscripts/resmokelib/testing/hooks/stepdown.py index 1d274c5e1fe..9d238db3bbb 100644 --- a/buildscripts/resmokelib/testing/hooks/stepdown.py +++ b/buildscripts/resmokelib/testing/hooks/stepdown.py @@ -128,8 +128,9 @@ class ContinuousStepdown(interface.Hook): elif isinstance(fixture, shardedcluster.ShardedClusterFixture): if self._shard_stepdown: for shard_fixture in fixture.shards: - self._add_fixture(shard_fixture) - if self._config_stepdown: + if shard_fixture.config_shard is None or self._config_stepdown: + self._add_fixture(shard_fixture) + if self._config_stepdown and fixture.config_shard is None: self._add_fixture(fixture.configsvr) for mongos_fixture in fixture.mongos: self._mongos_fixtures.append(mongos_fixture) |