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

Run Test Suites Against Serverless in Evergreen

    • Type: Icon: Epic Epic
    • Resolution: Unresolved
    • Priority: Icon: Major - P3 Major - P3
    • None
    • Component/s: None
    • Not Needed
    • To Do
    • Run Test Suites Against Serverless in Evergreen
    • 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.
    • 100
    • Needed
    • $i18n.getText("admin.common.words.hide")
      Key Status/Resolution FixVersion
      MOTOR-658 Duplicate
      RUBY-2518 Done 2.15.0
      CXX-2176 Backlog
      PHPLIB-683 Fixed 1.12.0
      RUST-656 Fixed 2.1.0
      NODE-3072 Fixed 4.1.1
      CSHARP-3387 Fixed 2.14.0
      PYTHON-2545 Fixed 3.12.1, 4.0
      JAVA-3987 Fixed 4.4.0
      GODRIVER-1861 Fixed 1.8.0
      CDRIVER-3886 Backlog
      SWIFT-1143 Fixed 1.2.0
      $i18n.getText("admin.common.words.show")
      #scriptField, #scriptField *{ border: 1px solid black; } #scriptField{ border-collapse: collapse; } #scriptField td { text-align: center; /* Center-align text in table cells */ } #scriptField td.key { text-align: left; /* Left-align text in the Key column */ } #scriptField a { text-decoration: none; /* Remove underlines from links */ border: none; /* Remove border from links */ } /* Add green background color to cells with FixVersion */ #scriptField td.hasFixVersion { background-color: #00FF00; /* Green color code */ } /* Center-align the first row headers */ #scriptField th { text-align: center; } Key Status/Resolution FixVersion MOTOR-658 Duplicate RUBY-2518 Done 2.15.0 CXX-2176 Backlog PHPLIB-683 Fixed 1.12.0 RUST-656 Fixed 2.1.0 NODE-3072 Fixed 4.1.1 CSHARP-3387 Fixed 2.14.0 PYTHON-2545 Fixed 3.12.1, 4.0 JAVA-3987 Fixed 4.4.0 GODRIVER-1861 Fixed 1.8.0 CDRIVER-3886 Backlog SWIFT-1143 Fixed 1.2.0

      Run a subset of specification tests against Serverless.

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

              Created:
              Updated: