Test Serverless behind a load balancer to prevent test breakage

XMLWordPrintableJSON

    • Type: Task
    • Resolution: Won't Do
    • Priority: Major - P3
    • None
    • Affects Version/s: None
    • Component/s: Testing
    • Not Needed
    • None
    • Hide

      1. What would you like to communicate to the user about this feature?
      2. Would you like the user to see examples of the syntax and/or executable code and its output?
      3. Which versions of the driver/connector does this apply to?

      Show
      1. What would you like to communicate to the user about this feature? 2. Would you like the user to see examples of the syntax and/or executable code and its output? 3. Which versions of the driver/connector does this apply to?
    • None
    • None
    • None
    • None
    • None
    • None

      Summary

      TheĀ serverless test suite is currently run directly against Atlas proxies, as this allows drivers to run certain test against a single proxy if required (e.g. if a failpoint needs to be tripped) and target failpoints to individual proxies (e.g. for the mongos pinning tests). However, in the near future the proxies will be moving behind a load balancer, which makes both of these impossible.

      The existing load balancer tests avoid this issue by spinning up two different load balancers, one that fronts a single mongos and one that fronts multiple, and conditionally uses each as necessary. We could consider doing something similar for serverless, though it would require changes Atlas side.

      Motivation
      Without a solution to this problem, drivers testing of serverless will be limited.

      Does this ticket have a required timeline? What is it?
      All serverless instances will be moving behind load balancers in ~1 month.

      Is this ticket only for tests?

      Yes

      Notes for Language Authors

      Drivers that already implemented Serverless testing before load balancing must opt in to testing load balanced Serverless instances.

      • Pass LOADBALANCED=ON as an environment variable to .evergreen/serverless/create-instance.sh to create a load balanced AWS backed instance.
      • Use the new expansions SINGLE_ATLASPROXY_LB_URI and MULTI_ATLASPROXY_LB_URI in place of SINGLE_LB_MONGOS_URI and MULTI_LB_MONGOS_URI in load balancer tests.
      • See the Go POC for an example of updating existing Serverless.

            Assignee:
            Unassigned
            Reporter:
            Backlog - Core Eng Program Management Team
            Votes:
            0 Vote for this issue
            Watchers:
            3 Start watching this issue

              Created:
              Updated:
              Resolved: