Uploaded image for project: 'Node.js Driver'
  1. Node.js Driver
  2. NODE-3552

Test Serverless behind a load balancer to prevent test breakage

    XMLWordPrintable

    Details

    • Type: Task
    • Status: Closed
    • Priority: Critical - P2
    • Resolution: Fixed
    • Affects Version/s: None
    • Fix Version/s: 4.1.4
    • Component/s: None
    • Labels:
      None
    • Documentation Changes:
      Not Needed

      Description

      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_MONGOS_LB_URI and MULTI_MONGOS_LB_URI in load balancer tests.
      • See the Go POC for an example of updating existing Serverless.

        Attachments

          Issue Links

            Activity

              People

              Assignee:
              daria.pardue Daria Pardue
              Reporter:
              backlog-server-pm Backlog - Core Eng Program Management Team
              Implementer:
              Neal Beeken Neal Beeken
              Votes:
              0 Vote for this issue
              Watchers:
              1 Start watching this issue

                Dates

                Created:
                Updated:
                Resolved: