[SERVER-60210] Create a future git tag evergreen variant Created: 24/Sep/21  Updated: 29/Oct/23  Resolved: 14/Dec/21

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

Type: Task Priority: Blocker - P1
Reporter: Xuerui Fa Assignee: Mikhail Shchatko
Resolution: Fixed Votes: 0
Labels: config-mgmt
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Issue Links:
Depends
depends on SERVER-61968 Fix the FCV-code that enables the lon... Closed
Problem/Incident
Related
related to SERVER-60211 Structure targeted multiversion JS te... Closed
is related to SERVER-62663 Fix last-continuous binary setup on f... Closed
Backwards Compatibility: Fully Compatible
Sprint: STM 2021-12-13, STM 2022-01-10
Participants:
Linked BF Score: 43
Story Points: 2

 Description   

In an ideal world, we are able to eliminate the window between branch cut and updating FCV constants. This way, we can run multiversion between the new versions before teams push new changes.

 

One way to ensure that updating FCV constants happens quickly after branch cut is creating a new evergreen variant that continuously runs multiversion tests using a future git tag (SERVER-51407). To avoid having to change the git tag on every release, we can set the tag to some large version like 100.0.0-9999. This value will also need to be added to the releases.yml data file for this suite.

 

Let's say we are still developing on 6.0. The suite would be running multiversion with future FCV nodes against 6.0 nodes. However, since the v6.0 branch doesn't exist yet, evergreen will fetch the last compiled mongo binaries on master and label them as 6.0 nodes (this feature was added as part of SERVER-59116). So we're effectively testing master against master, with future FCV constants. This should notify server engineers of any breaking changes that would normally only be revealed upon the next upgrade. By testing this throughout the development cycle, we should be able to avoid running into these errors when it comes time to branch cut and upgrade FCVs.

 

After branch cut but before updating FCV constants, this suite is still being run with the future git tag, so it's still testing future FCV nodes against 6.0. However, at this point the v6.0 branch has been created, so we're using the actual newly-created 6.0 binaries. As a result, we can use this suite to catch any breaking changes that server engineers make while we're working on updating FCV constants (the situation described above)

 

The suite should be run occasionally during the 6.0 development cycle. After the 6.0 branch cut, it should be run continuously to ensure that no breaking changes are made. After FCV constants have been updated, we can go back to running occasionally.  



 Comments   
Comment by Githook User [ 14/Dec/21 ]

Author:

{'name': 'Mikhail Shchatko', 'email': 'mikhail.shchatko@mongodb.com', 'username': 'MikhailShchatko'}

Message: SERVER-60210 Add future git tag buildvariant
Branch: master
https://github.com/mongodb/mongo/commit/b027fafb2869c9aa06baaa1d6c02c0e55330b356

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

Bumping this up to P2 and 5.2 required, since the new git tag caused 10 tests to fail for 5.1

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