[SERVER-60211] Structure targeted multiversion JS test directories Created: 24/Sep/21  Updated: 29/Oct/23  Resolved: 02/Feb/22

Status: Closed
Project: Core Server
Component/s: Testing Infrastructure
Affects Version/s: None
Fix Version/s: 5.3.0-rc0

Type: Task Priority: Blocker - P1
Reporter: Xuerui Fa Assignee: Tausif Rahman (Inactive)
Resolution: Fixed Votes: 0
Labels: config-mgmt
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Issue Links:
Depends
Related
is related to SERVER-60210 Create a future git tag evergreen var... Closed
is related to SERVER-63361 Branching Task to remove targetedTest... Closed
is related to SERVER-64843 Branching Task to remove targetedTest... Closed
Backwards Compatibility: Fully Compatible
Sprint: STM 2022-01-10, STM 2022-01-24, STM 2022-02-07
Participants:
Linked BF Score: 60
Story Points: 1

 Description   

During the 5.0 development cycle, we added tests that specifically tested FCV upgrade/downgrade behavior from 4.4 to 5.0. Many, but not all, of these tests were marked with a TODO to indicate that they should be removed after branching. Since these tests failed when we attempted to upgrade to 5.1, they required manual intervention from the server teams that owned the tests.

 

Since these tests should always be removed when introducing new FCV constants to the server, we should create a directory that holds all of these tests, for example jstests/multiVersion/targetedDowngradeTests. This will let us easily delete all of these tests as part of the upgrade process, without needing to coordinate with server teams.

 

To ensure that engineers are adding their tests correctly, we will require developers to label every upgrade/downgrade test as “generic” or “targeted”. In addition, we can place multiversion tests into one of two directories inside jstests/multiVersion/, one for targeted tests and another for generic tests. We should do an audit of current multiversion tests and refactor them so that they live in the correct directory.

 

Targeted multiversion tests can be removed immediately after branch cut, since we’re officially on the next development cycle at that point.



 Comments   
Comment by Tausif Rahman (Inactive) [ 02/Feb/22 ]

The work done here is as follows:

  • The multiVersion tests were refactored to fit into the following directories
    • generic*
    • targetedTestsLastContinuousFeatures
    • targetedTestsLastLtsFeatures
  • 2 new test suites multiversion_future_git_tag and multiversion_auth_future_git_tag.
    • These suites are the multiversion suites but exclude jstests/multiVersion/targetedTestsLastContinuousFeatures
  • The Enterprise RHEL 8.0 (future git tag multiversion) variant no longer runs the standard multiversion and multiversion_auth suites. Instead, it runs the newly created test suites.
    • This makes it so that the Enterprise RHEL 8.0 (future git tag multiversion) variant should be green (in the past, this was red because of last-continuous specific tests were being run)
  • This branching task SERVER-63232 was created so that targeted tests will be deleted during branching
    • tests in jstests/multiVersion/targetedTestsLastContinuousFeatures will be deleted upon minor releases
    • tests in jstests/multiVersion/targetedTestsLastLtsFeatures will be deleted upon major releases
Comment by Githook User [ 02/Feb/22 ]

Author:

{'name': 'trahman1318', 'email': 'tausif.rahman@mongodb.com', 'username': 'trahman1318'}

Message: SERVER-60211 Structure targeted multiversion JS test directories
Branch: master
https://github.com/mongodb/mongo/commit/e9a3d471b8e3172eac9924445a65f7e20e9235c1

Comment by Robert Guo (Inactive) [ 26/Oct/21 ]

Bumping up the priority of this ticket alongside SERVER-60210 to ensure the structure is in-place for a smoother transition to FCV 5.2 in multiversion tests.

Generated at Thu Feb 08 05:49:14 UTC 2024 using Jira 9.7.1#970001-sha1:2222b88b221c4928ef0de3161136cc90c8356a66.