summaryrefslogtreecommitdiff
path: root/buildscripts/resmokelib
diff options
context:
space:
mode:
authorKshitij Gupta <kshitij.gupta@mongodb.com>2023-04-25 14:48:04 +0000
committerEvergreen Agent <no-reply@evergreen.mongodb.com>2023-04-25 17:50:30 +0000
commit7ccbe498f589ca270f81670abcc2a1397f23498e (patch)
tree20132cb19f7f1324819c636f874b762d0a5a5ea5 /buildscripts/resmokelib
parent93670020aadcf33d4c0436e69d12dcf32b9920d8 (diff)
downloadmongo-7ccbe498f589ca270f81670abcc2a1397f23498e.tar.gz
SERVER-75744: Re-enable stepdown variants.
Diffstat (limited to 'buildscripts/resmokelib')
-rw-r--r--buildscripts/resmokelib/testing/fixtures/replicaset.py3
-rw-r--r--buildscripts/resmokelib/testing/fixtures/shardedcluster.py19
-rw-r--r--buildscripts/resmokelib/testing/hooks/continuous_initial_sync.py3
-rw-r--r--buildscripts/resmokelib/testing/hooks/stepdown.py5
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)