Deprecate mongo-orchestration in favor of mongodb-runner

XMLWordPrintableJSON

    • $i18n.getText("admin.common.words.hide")
      Key Status/Resolution FixVersion
      CDRIVER-6246 Done
      CXX-3423 Blocked
      CSHARP-5895 Blocked
      GODRIVER-3823 Blocked
      JAVA-6108 Blocked
      NODE-7456 Blocked
      PYTHON-5732 Fixed 4.17.0
      PHPLIB-1794 Blocked
      RUBY-3780 Blocked
      RUST-2366 Blocked
      $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 */ } #scriptField td.willNotDo { background-color: #FF0000; /* Red color code */ } /* Center-align the first row headers */ #scriptField th { text-align: center; } Key Status/Resolution FixVersion CDRIVER-6246 Done CXX-3423 Blocked CSHARP-5895 Blocked GODRIVER-3823 Blocked JAVA-6108 Blocked NODE-7456 Blocked PYTHON-5732 Fixed 4.17.0 PHPLIB-1794 Blocked RUBY-3780 Blocked RUST-2366 Blocked

      Summary

      What is the problem or use case, what are we trying to achieve?
      Mongo Orchestration is under-maintained, and it not well architected. It is brittle and adds layers of indirection that are not needed.
      The DevTools team has been maintaining mongodb-runner, a tool that offers most of what mongo-orchestration provides.
      We propose adding the missing features to mongodb-runner, removing the usage of mongo-orchestration in drivers-evergreen-tools, and deprecating mongo-orchestration.

      Implementation plan:

      • Verify that we can run all of the orchestration files in drivers-evergreen-tools with minimal changes to mongodb-runner.
      • Create a node package in the orchestration folder that replaces the functionality of drivers_orchestration.py and mongo-orchestration.
      • Test the node package with the python driver.
      • Merge required changes into mongodb-runner.
      • Ensure that no essential functionality is lost for drivers.
      • Make a PR that adds new entry points to drivers-evergreen-tools that use mongodb-runner.
      • Create a migration guide for mongo-orchestration to mongodb-runner.
      • Deprecate the mongo-orchestration package.
      • Wait for all drivers to migrate to the new server start/stop scripts.
      • Remove the python package in orchestration.

      Considerations:

      • We need to ensure that no current functionality is lost, including the ability to define another source of mongodb artifact information and the ability to use an existing binary directory.
      • The mongo-c-driver and mongo-cxx-driver repos would need to be updated to use the higher level run-orchestration.sh and stop-orchestration.sh
      • mongomirror and mongosync have already pinned to an older version of drivers-evergreen tools. They could keep doing that or vendor the old start-orchestration.sh and stop-orchestration.sh files. Eventually they'd need a to migrate to another solution using mongodb-runner or another tool.
      • The following repos are currently using mongo-orchestration directly and would need to migrate off eventually: mongosql-auth-c, sql-engines-common-test-infra, bson-ruby, mongotune

            Assignee:
            Alex Clark
            Reporter:
            Steve Silvester
            Jib Adegunloye Jib Adegunloye
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

              Created:
              Updated: