-
Notifications
You must be signed in to change notification settings - Fork 244
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge drivers-2789-fix-history-load-balancers (510a1e7)
- Loading branch information
Showing
15 changed files
with
65 additions
and
83 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,49 @@ | ||
# Load Balancer Support Tests | ||
|
||
______________________________________________________________________ | ||
|
||
## Introduction | ||
|
||
This document describes how drivers should create load balanced clusters for testing and how tests should be executed | ||
for such clusters. | ||
|
||
## Testing Requirements | ||
|
||
For each server version that supports load balanced clusters, drivers MUST add two Evergreen tasks: one with a sharded | ||
cluster with both authentication and TLS enabled and one with a sharded cluster with authentication and TLS disabled. In | ||
each task, the sharded cluster MUST be configured with two mongos nodes running on localhost ports 27017 and 27018. The | ||
shard and config servers may run on any free ports. Each task MUST also start up two TCP load balancers operating in | ||
round-robin mode: one fronting both mongos servers and one fronting a single mongos. | ||
|
||
### Load Balancer Configuration | ||
|
||
Drivers MUST use the `run-load-balancer.sh` script in `drivers-evergreen-tools` to start the TCP load balancers for | ||
Evergreen tasks. This script MUST be run after the backing sharded cluster has already been started. The script writes | ||
the URIs of the load balancers to a YAML expansions file, which can be read by drivers via the `expansions.update` | ||
Evergreen command. This will store the URIs into the `SINGLE_MONGOS_LB_URI` and `MULTI_MONGOS_LB_URI` environment | ||
variables. | ||
|
||
### Test Runner Configuration | ||
|
||
If the backing sharded cluster is configured with TLS enabled, drivers MUST add the relevant TLS options to both | ||
`SINGLE_MONGOS_LB_URI` and `MULTI_MONGOS_LB_URI` to ensure that test clients can connect to the cluster. Drivers MUST | ||
use the final URI stored in `SINGLE_MONGOS_LB_URI` (with additional TLS options if required) to configure internal | ||
clients for test runners (e.g. the internal MongoClient described by the | ||
[Unified Test Format spec](../../unified-test-format/unified-test-format.md)). | ||
|
||
In addition to modifying load balancer URIs, drivers MUST also mock server support for returning a `serviceId` field in | ||
`hello` or legacy `hello` command responses when running tests against a load-balanced cluster. This can be done by | ||
using the value of `topologyVersion.processId` to set `serviceId`. This MUST be done for all connections established by | ||
the test runner, including those made by any internal clients. | ||
|
||
## Tests | ||
|
||
The YAML and JSON files in this directory contain platform-independent tests written in the | ||
[Unified Test Format](../../unified-test-format/unified-test-format.md). Drivers MUST run the following test suites | ||
against a load balanced cluster: | ||
|
||
1. All test suites written in the Unified Test Format | ||
2. Retryable Reads | ||
3. Retryable Writes | ||
4. Change Streams | ||
5. Initial DNS Seedlist Discovery |
This file was deleted.
Oops, something went wrong.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters