Uploaded image for project: 'Drivers'
  1. Drivers
  2. DRIVERS-1375

Run Test Suites Against Serverless in Evergreen

    XMLWordPrintable

Details

    • Epic
    • Status: Implementing
    • Major - P3
    • Resolution: Unresolved
    • None
    • Needed
    • 100
    • Hide

      Summary
      As part of the Serverless initiative, the Atlas Proxy will start presenting as a mongos to clients, while still being backed by a replica set. To make sure that this works as expected from the Drivers perspective, we should start running the Drivers tests against the "Proxy as a Mongos" to make sure that the Proxy behaves as expected.

      Author & Lead Kevin Albertson

      2021-07-16

      • Teams are currently blocked on CLOUDP-95406

      2021-06-30

      • Swift and Ruby are complete
      • C, C#, Go, and Python and Java have this work in progress.
      • PHP is currently facing a cloud-side blocker and Andreas is corresponding in the serverless channel to get it addressed.
      • Node has this work scheduled for after their critical 5.0 work and their V4 breaking changes.
      • Rust will complete following 2.0 and performance work.
      • CXX will follow C due to staffing shortage.

      2021-06-16

      • Teams are progressing - C, C#, Go, Ruby, and Swift are in progress
      • Java is blocked on BUILD-13305
      • PHP, Python, Node, C
      • Rust will complete following 2.0 and performance work.

      2021-05-17

      • CLOUDP-88087 is complete and we now have the deployment of the proxy containing the fail point support we required. Teams are now able to complete this work as they have planned in QP. Not showing any risks for 5.0 GA.

      2021-05-04

      • Cloud has implemented the support we require in the proxy, but we are now waiting on their deployment of these changes tracked in CLOUDP-88087

      2021-04-06

      • Cloud has begun implementing support for failCommand in the proxy and meanwhile Patrick is trying to continue making headway on the DBX side while also juggling some additional Rust responsibilities due to Sam departing.
      • DBX teams have been making private beta compatibility versions and posting them to this wiki page: https://wiki.corp.mongodb.com/x/e5DxBw
      • We will plan to highly prioritize this proxy testing work as soon as we are unblocked, and meanwhile we may be able to make incremental headway running only CRUD tests.

      2021-03-23

      • In the two weeks since the scope wrapped we ran into a roadblock, which is that drivers tests use failpoints and these would not work in the shared MT proxy.
      • We explored the option of testing in a local instance instead, however this approach would mean higher maintenance load because drivers would need to continually keep their local instance up to date.
      • We synced up with cloud folks and determined that it would be worth supporting failCommand in the proxy, but first we needed to ensure that future load balancer work wouldn't invalidate the use of failpoints in drivers tests. Conversations are ongoing in the load balancer and proxy testing project channels, however it appears that we are going to proceed with the plan of implementing failCommand support in the proxy via CLOUDP-85679.
      • We have decided that this project WILL NOT complete by the private beta target of March 31, and it WILL NOT block the private beta announcement. Timeline estimates TBD based on analysis of the work required in CLOUDP-85679.

      2021-03-09
      The scope has just wrapped up final review. Kevin is going on PTO for 2 weeks so has handed off the remaining design-like work to Patrick Freed, who is currently directing his focus here. Aiming to wrap up the remaining design-side work this week to unblock drivers to implement ahead of serverless private beta.

      Show
      Summary As part of the Serverless initiative, the Atlas Proxy will start presenting as a mongos to clients, while still being backed by a replica set. To make sure that this works as expected from the Drivers perspective, we should start running the Drivers tests against the "Proxy as a Mongos" to make sure that the Proxy behaves as expected. Author & Lead Kevin Albertson 2021-07-16 Teams are currently blocked on CLOUDP-95406 2021-06-30 Swift and Ruby are complete C, C#, Go, and Python and Java have this work in progress. PHP is currently facing a cloud-side blocker and Andreas is corresponding in the serverless channel to get it addressed. Node has this work scheduled for after their critical 5.0 work and their V4 breaking changes. Rust will complete following 2.0 and performance work. CXX will follow C due to staffing shortage. 2021-06-16 Teams are progressing - C, C#, Go, Ruby, and Swift are in progress Java is blocked on BUILD-13305 PHP, Python, Node, C Rust will complete following 2.0 and performance work. 2021-05-17 CLOUDP-88087 is complete and we now have the deployment of the proxy containing the fail point support we required. Teams are now able to complete this work as they have planned in QP. Not showing any risks for 5.0 GA. 2021-05-04 Cloud has implemented the support we require in the proxy, but we are now waiting on their deployment of these changes tracked in CLOUDP-88087 2021-04-06 Cloud has begun implementing support for failCommand in the proxy and meanwhile Patrick is trying to continue making headway on the DBX side while also juggling some additional Rust responsibilities due to Sam departing. DBX teams have been making private beta compatibility versions and posting them to this wiki page: https://wiki.corp.mongodb.com/x/e5DxBw We will plan to highly prioritize this proxy testing work as soon as we are unblocked, and meanwhile we may be able to make incremental headway running only CRUD tests. 2021-03-23 In the two weeks since the scope wrapped we ran into a roadblock, which is that drivers tests use failpoints and these would not work in the shared MT proxy. We explored the option of testing in a local instance instead, however this approach would mean higher maintenance load because drivers would need to continually keep their local instance up to date. We synced up with cloud folks and determined that it would be worth supporting failCommand in the proxy, but first we needed to ensure that future load balancer work wouldn't invalidate the use of failpoints in drivers tests. Conversations are ongoing in the load balancer and proxy testing project channels, however it appears that we are going to proceed with the plan of implementing failCommand support in the proxy via CLOUDP-85679. We have decided that this project WILL NOT complete by the private beta target of March 31, and it WILL NOT block the private beta announcement. Timeline estimates TBD based on analysis of the work required in CLOUDP-85679. 2021-03-09 The scope has just wrapped up final review. Kevin is going on PTO for 2 weeks so has handed off the remaining design-like work to Patrick Freed, who is currently directing his focus here. Aiming to wrap up the remaining design-side work this week to unblock drivers to implement ahead of serverless private beta.

    Description

      Run a subset of specification tests against Serverless.

      Attachments

        Issue Links

          Activity

            People

              kevin.albertson@mongodb.com Kevin Albertson
              louisa.berger@mongodb.com Louisa Berger
              Votes:
              0 Vote for this issue
              Watchers:
              10 Start watching this issue

              Dates

                Created:
                Updated: