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

Remove legacy shell from test scripts

    • Type: Icon: Task Task
    • Resolution: Unresolved
    • Priority: Icon: Major - P3 Major - P3
    • None
    • Component/s: Evergreen Tools
    • Labels:
      None
    • Needed
    • Hide

      The legacy shell will no longer be installed in the near future. Drivers are encouraged to remove all usages of the legacy shell in their drivers with this Go driver PR serving as inspiration.

      All drivers that require the use of the legacy library are required to define the INSTALL_LEGACY_SHELL environment variable to a non-zero value when running MongoDB installation (either by running run-orchestration.sh or by manually invoking download_and_extract() from download-mongoldb.sh). This variable replaces the current SKIP_LEGACY_SHELL variable which will no longer be respected.

      The upcoming changes can be tested by using the development branch for this change. In your evergreen functions, locate the git clone command that clones the drivers-evergreen-tools repository and replace it with this command:

      git clone https://github.com/alcaeus/drivers-evergreen-tools.git --depth 1 --branch skip-legacy-shell-by-default $DRIVERS_TOOLS
      

      This will show which of your build tasks still need the legacy shell, which can be installed using the INSTALL_LEGACY_SHELL environment variable in that specific task.

      Show
      The legacy shell will no longer be installed in the near future. Drivers are encouraged to remove all usages of the legacy shell in their drivers with this Go driver PR serving as inspiration. All drivers that require the use of the legacy library are required to define the INSTALL_LEGACY_SHELL environment variable to a non-zero value when running MongoDB installation (either by running run-orchestration.sh or by manually invoking download_and_extract() from download-mongoldb.sh ). This variable replaces the current SKIP_LEGACY_SHELL variable which will no longer be respected. The upcoming changes can be tested by using the development branch for this change. In your evergreen functions, locate the git clone command that clones the drivers-evergreen-tools repository and replace it with this command: git clone https: //github.com/alcaeus/drivers-evergreen-tools.git --depth 1 --branch skip-legacy-shell-by- default $DRIVERS_TOOLS This will show which of your build tasks still need the legacy shell, which can be installed using the INSTALL_LEGACY_SHELL environment variable in that specific task.
    • $i18n.getText("admin.common.words.hide")
      Key Status/Resolution FixVersion
      CDRIVER-4512 Fixed 1.26.0
      CXX-2605 Works as Designed
      CSHARP-4380 Fixed 2.23.0
      GODRIVER-2607 Done
      JAVA-4791 Fixed 5.0.0
      NODE-4764 Gone away
      MOTOR-1055 Duplicate
      PYTHON-3489 Done
      PHPLIB-1028 Works as Designed
      RUBY-3164 Backlog
      RUST-1525 Fixed 3.0.0
      SWIFT-1671 Won't Do
      $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 CDRIVER-4512 Fixed 1.26.0 CXX-2605 Works as Designed CSHARP-4380 Fixed 2.23.0 GODRIVER-2607 Done JAVA-4791 Fixed 5.0.0 NODE-4764 Gone away MOTOR-1055 Duplicate PYTHON-3489 Done PHPLIB-1028 Works as Designed RUBY-3164 Backlog RUST-1525 Fixed 3.0.0 SWIFT-1671 Won't Do

      Summary

      SERVER-64352 removed the legacy "mongo" shell from latest packages.
      Drivers test scripts that rely on the legacy shell need to be updated.

      drivers-evergreen-tools uses the "mongo" shell. Examples: ecs_hosted_test.sh, aws_e2e_ecs.js, and run-orchestration.sh

      Motivation

      Who is the affected end user?

      DBX engineers.

      How does this affect the end user?

      Blocked. AWS auth tasks and API version tasks run on latest will fail during setup.

      Is this issue urgent?

      Yes. A workaround is urgent to get tests passing. A long-term solution is less urgent.

      Is this ticket required by a downstream team?

      No.

      Is this ticket only for tests?

      Yes.

      Proposal

      Download the legacy shell from 6.0 packages as a temporary workaround.

      For a long-term solution:

      • Consider downloading mongosh as a replacement.
      • Consider using pymongo as a replacement. mongo-orchestration already depends on pymongo.

            Assignee:
            andreas.braun@mongodb.com Andreas Braun
            Reporter:
            kevin.albertson@mongodb.com Kevin Albertson
            Andreas Braun Andreas Braun
            Votes:
            0 Vote for this issue
            Watchers:
            6 Start watching this issue

              Created:
              Updated: