A new resmoke.py YAML suite and Evergreen tasks should be defined to run the fuzzer with CSRS primary stepdowns happening in the background. The YAML suite should be adapted from the existing jstestfuzz_sharded.yml and causally_consistent_jscore_passthrough.yml suites where it'll run tests from the jstestfuzz/out/ directory against a sharded cluster with two replica set shards. Additionally, the new suite should define TestData.runningWithConfigStepdowns=true option and TestData.runningWithShardStepdowns=true so that the fuzzer can implement configuration-specific blacklisting similar to what is done with TestData.ignoreCommandsIncompatibleWithInitialSync=true in the jstestfuzz_replication_initsync.yml test suite.
The new suite should specify all_nodes_electable=true for the config server replica set started by resmoke.py (see
SERVER-30683 and SERVER-30684) as well as enable the StepdownThread hook with config_stepdown=true and shard_stepdown=true (see SERVER-30685).
Note: It may be advantageous to initially commit a version of the jstestfuzz_sharded_continuous_stepdown.yml test suite that runs with config_stepdown=true and shard_stepdown=false (and the follow-up with another commit on this ticket for changing shard_stepdown to true) in case it is difficult to stabilize both simultaneously.
The new Evergreen tasks should be run on the following build variants:
- Enterprise RHEL 6.2
- Enterprise RHEL 6.2 (inMemory)
- SSL Windows 2008R2
- SSL OS X 10.10
- ASAN SSL Ubuntu 16.04