-
Type: Improvement
-
Resolution: Unresolved
-
Priority: Major - P3
-
None
-
Component/s: Load Balancer
Summary
With the introduction of SERVER-60679, load balancers are now required to connect over a dedicated port separate from the normal mongo port. The test run by this script currently tries to connect to the normal port and will no longer function properly. Instead, this test should configure mongos with the --loadBalancerPort option (also enabling loadBalancerSupport in general), and the test should connect to that port instead. The load balancer should also be configured to emit a V1 or V2 proxy protocol header (this can be done by simply adding send-proxy or send-proxy-v2 to the end of the server line in the backend specification in haproxy). We may also want to consider testing:
- both V1 and V2 headers work
- connecting to the load balancer port without emitting a header correctly errors out upon sending regular traffic
- connecting to the regular port with a proxy protocol header correctly errors out
Note that as part of SERVER-60679, this testing was done by hand, so all of the above behaviors have been observed to work properly. Once the necessary updates to this test are complete, we can merge these changes and properly version them against each other. Please coordinate with tyler.seip.
Motivation
Who is the affected end user?
Teams internally who depend on our tests passing
How does this affect the end user?
This shouldn't affect the end user
How likely is it that this problem or use case will occur?
Guaranteed after SERVER-60679 is merged (which it won't be until these changes are made)
If the problem does occur, what are the consequences and how severe are they?
Test failure
Is this issue urgent?
Not urgent, but high priority
Is this ticket required by a downstream team?
Yes (Service Architecture for doing SERVER-58207)
Is this ticket only for tests?
Yes
- depends on
-
SERVER-62403 Make loadBalancerPort settable via config file as well as command line
- Closed
-
SERVER-60679 Open a port on Mongos that accepts proxied connections and mark Sessions as such
- Closed
- is depended on by
-
SERVER-58207 Enable Feature flag for Support for Deploying MongoDB behind a L4 Load Balancer
- Closed
-
NODE-3845 Update Load Balancer Configuration For Latest
- Closed
- is duplicated by
-
DRIVERS-1848 Update Tests to Adopt Mongos Load Balancer Support
- Development Complete
- is related to
-
SERVER-58502 Change the hello command on mongos to handle requests with the loadBalanced flag
- Closed
- related to
-
DRIVERS-2224 Update initial DNS seedlist discovery tests to support dedicated load balancer port
- Blocked
- split to
-
PHPC-2047 Update load balancer tests to support dedicated load balancer port
- Closed
-
PHPLIB-783 Update load balancer tests to support dedicated load balancer port
- Closed
-
CXX-2436 Update load balancer tests to support dedicated load balancer port
- Backlog
-
RUBY-2888 Update load balancer tests to support dedicated load balancer port
- Backlog
-
CDRIVER-4275 Update load balancer tests to support dedicated load balancer port
- Closed
-
CSHARP-4031 Update load balancer tests to support dedicated load balancer port
- Closed
-
GODRIVER-2292 Update load balancer tests to support dedicated load balancer port
- Closed
-
JAVA-4463 Update load balancer tests to support dedicated load balancer port
- Closed
-
MOTOR-876 Update load balancer tests to support dedicated load balancer port
- Closed
-
NODE-3930 Update load balancer tests to support dedicated load balancer port
- Closed
-
PYTHON-3088 Update load balancer tests to support dedicated load balancer port
- Closed
-
RUST-1163 Update load balancer tests to support dedicated load balancer port
- Closed