-
Type: Task
-
Resolution: Done
-
Priority: Major - P3
-
None
-
Component/s: Serverless
-
None
Summary
Atlas Serverless team plans to roll out serverless proxy incrementally in CLOUDP-145502. Serverless Proxy will be deployed between Cloud Load Balancers and Atlas Proxy, replacing the vanilla Envoy. Serverless Proxy will terminate client TLS connections and transcode requests to gRPC when forwarding them to the Atlas Proxy. Serverless Proxy also handles hello commands and process authentication commands specially.
During the incremental rollout, we will only enable the new behavior for some tenants using SCRAM authentication, while keeping the current behavior for others, e.g. those that haven't be included in the rollout and those using X.509. Since Serverless Proxy essentially handles connection management and authentication for Serverless with dramatic changes like using gRPC, it's critical to test it's compatible with drivers.
I'd propose to duplicate the driver serverless tests for Serverless Proxy's new behavior on 1-2 popular drivers, ideally node.js or python. As far as I know, we need to
- add new test in the Evergreen config.
- update create-instance.sh to run against the pre-defined serverless cluster in rollout or call Atlas test-only API to enable the rollout on Dev.
- make sure only SCRAM is used in the tests, otherwise, disable other authentication methods.
I wonder if the plan makes sense to Driver team and whether you have bandwidth later this quarter. Alternatively, Atlas Serverless are happy to add the tests with the Driver team's guidance and code review.
Motivation
Who is the affected end user?
Atlas Serverless team.
How does this affect the end user?
This is to add correctness test coverage for an internal architectural change.
Is this issue urgent?
Atlas Serverless team plans to start testing in a month.
Is this ticket required by a downstream team?
Atlas Serverless
Is this ticket only for tests?
Only for tests.
Acceptance Criteria
Add driver tests that run against serverless clusters that are included in the Serverless Proxy incremental rollout.
- is depended on by
-
DRIVERS-2812 Address failing tests in Serverless Proxy incremental rollout
- Closed
- split to
-
CDRIVER-4770 Add driver tests for Serverless Proxy incremental rollout
- Closed
-
CSHARP-4836 Add driver tests for Serverless Proxy incremental rollout
- Closed
-
CXX-2782 Add driver tests for Serverless Proxy incremental rollout
- Closed
-
GODRIVER-3040 Add driver tests for Serverless Proxy incremental rollout
- Closed
-
JAVA-5234 Add driver tests for Serverless Proxy incremental rollout
- Closed
-
MOTOR-1207 Add driver tests for Serverless Proxy incremental rollout
- Closed
-
NODE-5731 Add driver tests for Serverless Proxy incremental rollout
- Closed
-
PHPLIB-1303 Add driver tests for Serverless Proxy incremental rollout
- Closed
-
PYTHON-4031 Add driver tests for Serverless Proxy incremental rollout
- Closed
-
RUBY-3347 Add driver tests for Serverless Proxy incremental rollout
- Closed
-
RUST-1796 Add driver tests for Serverless Proxy incremental rollout
- Closed